Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The article may have been about SSAO, but it applies equally well to "real ambient occlusion", because raytracing voxels assume that corners "absorb" light like a black hole.

The photographs prove however, that corners in the real world do NOT absorb light, meaning that even "voxel ambient occlusion" and other "realer-models" are fake.



What people generally mean by Ray traced AO is just an approximation for path traced global illumination. It doesn't just work on the basis of corner=dark, and can be set up to be realistic.

It doesn't really have much to do with voxels, either. RTAO operates directly on the scene geometry (through an acceleration structure), or an approximation of it.

The true holy grail we are approaching and what game developers always wanted is ray traced global illumination, which is basically the perfect solution.


https://i.natgeofe.com/n/874df281-d3e0-489a-98c0-6b840023b82...

Here is a photograph of New York City.

Here is a CGI of a bunch of boxes with "Ambient Occlusion": https://upload.wikimedia.org/wikipedia/commons/9/91/AmbientO...

You can see that "Ambient Occlusion" ultimately comes down to "corners are darker" heuristic. It doesn't matter if you're doing "Ray Tracing based Ambient Occlusion" (see https://docs.unity3d.com/Packages/com.unity.render-pipelines...), or "Screenspace", or whatever. The heuristic is: "corners probably have less light", and the design of the algorithm works backwards from that.

-------

Now look at New York city again: a collection of boxes in the realistic sun. Carefully look at the corners.

Its actually kind of rare for corners to be darker in the real world. Every shadow must be calculated. Some corners are darker, while others are touched directly by the sun and have no darkening effect at all.

IMO, Ambient Occlusion "looks good" for the same reason that cartoons / anime "looks good", it instantly provides contrast in a slightly unrealistic fashion, which is more important for high-speed video games. The human eye can see the contrasts and better understand geometry with the "fake shadows" helping out.


The idea is, if the light is indirect or ambient, ambient occlusion will reduce indirect light. If the light is direct, then ambient occlusion will have no effect.

Which is exactly what you see in your picture of New York. If the corner is in direct light, then there is no difference from any other surface - or it is even more illuminated from radiance. If the corner is in indirect light, then yes, corners are less luminous.

It's not rare at all for corners to be darker in the real world. Compare a wide open, but shaded street, to a narrow alley. The alley will be much darker.

This is exactly the idea of modern AO with ray tracing. By raytracing AO, you can actually see how "open" each pixel is to the indirect light source. If the pixel is under direct light from some source, do not affect this component of illumination. If it is under indirect light from another source, be it the sky, or the walls, or some very large area light, reduce this indirect illumination.

So if the corner is directly lit by the sun, there is no darkening at all using RTAO and a PBR renderer.

It is indeed in the name. Occlude the ambient light component.

It's not a questions of "every shadow must be calculated". It's a question of approximating global illumination, or radiosity.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: