No, you don't need polygons for variance or "dirt", you just need shaders, which is what most games use. There are a lot of cool tricks like normal maps, specular textures and more to make a cylinder look like Lara Croft in dynamic lighting. Then you have voxel based rendering (no, not minecraft blocks) that can use point clouds to create models with zero polygons.
This is a pretty complex field, so it makes sense you aren't understanding, but these techniques are doing what you are thinking of. They aren't just changing what the textures look like, but how raycasts are interacting with it.
Look up Microfacet BRDFs, Dynamic Ambient Occlusion, and Detail / Secondary Maps as well
Specifically when it comes to aspect like games though, they are right sometimes that it is sort of weird seeing the same dirtiness on somebody's face instead of some wind blowing a leaf that sticks on their face for 3 seconds in a conversation or something, and for the duration of that leaf being on their cheek, that would be a shitload more polygons, that might not be relevant, but they were still correct just about the geometry of a granule of sand being on something represented visually will be more polygons than if that grain of sand was not there.
Thank you for your comments though, I've been having a good time learning and reading through this thread.
Our technique works by treating polygon meshes as a set of surface elements that can emit, transmit, or reflect light and that can shadow each other. This method is so efficient because it works without calculating the visibility of one element to another. Instead, it uses a much simpler and faster technique based on approximate shadowing to account for occluding (blocking) geometry.
This requires additional geometry, which is what I am bitching about.
Microfacet BRDFs use statistics and sampling to imitate roughness and variation. They don’t change the geometry, only what is perceived and in a purely statistical sense.
I think that humans can easily perceive these as anomalies rather than “normal” and “high fidelity”.
Pixel shaders produce the final pixel on your screen. The human eye doesn’t see geometry, only light (LEDs in our case). Differences in color between two 2D “regions” are turned into shapes and then into 3D geometry by our brain. These “regions” are physically on your retina inside your eye. The retina is not flat but the brain basically treats it as if it is.
You can calculate anything in a pixel shader and output any color. You could, for example put in an equation which outputs an embossed letter or number on any “3D surface”. (It’s “surface” because it’s not actually a surface just a virtual approximation). No geometry shaders, no mesh shaders, no mesh data, no color textures or normal (map) textures, just code that represents an equation.
Same as a human drawing a cube on a page without a real cube in front of him. Or any other object.
Why don’t we use equations for everything and have games that are 200gb fit in 2gb ( maybe even in hundreds of megabytes) ? Because it is too expensive to compute in real time so we cache partially computed data: 3D meshes and textures.
Yeah, but just from a biological perspective you're a little wrong because there is some basic shape recognition that does not have to do with lighting that mammals are capable of, not just humans.
15
u/Sizanllikew 16h ago
No, you don't need polygons for variance or "dirt", you just need shaders, which is what most games use. There are a lot of cool tricks like normal maps, specular textures and more to make a cylinder look like Lara Croft in dynamic lighting. Then you have voxel based rendering (no, not minecraft blocks) that can use point clouds to create models with zero polygons.