Corners Don't Look Like That: The Truth About Screenspace Ambient Occlusion
Corners Don't Look Like That: Regarding Screenspace Ambient Occlusion

I argue that game developers misuse Screenspace Ambient Occlusion, creating unrealistic dark corners and artifacts. By analyzing real-world photographs, I show that actual room lighting is far more complex than current approximations suggest. The common belief that corners are naturally dark leads to code producing visually incorrect results, ignoring factors like soft shadows and indirect light reflection.
I believe this is because people think the corners of rooms actually are dark, and they've allowed this belief to let them write code that produces unrealistic results.
- skippyfish
I don't think the author makes a persuasive argument. Most of the photos they're analyzing are obviously lit by various point light sources, e.g.:
https://nothings.org/gamedev/ssao/IMG_0064.JPG
You can see a sharp shadow near the door frame. So yeah, ambient occlusion is not going to simulate that, but it was never supposed to?
It's supposed to make 3D shapes look good without the need to place lights or do more complex ray tracing. It roughly approximates what you could perhaps see inside a photographic lightbox. Light is coming from every direction and every surface is matte.
The reason it's used in computer games is not that it's photorealistic under all lighting conditions. It's that it makes geometries look better than before with less computational overhead than the alternatives. Harsh lights often look nasty and diffuse lighting is expensive.
- overgard
I agree with his overall point, but I would point out: realism is not usually the point, the point is to look good. The problem with realism is once you get past "wow the computer can do that now", it's not very interesting -- most of reality is pretty dull looking!
- jareklupinski
> https://nothings.org/gamedev/ssao/IMG_0059.JPG
i wonder if this is on purpose to avoid this illusion where i cant tell if im looking at a convex or concave just from three lines
- mfro
SSAO really is awful but it’s the best performing AO we could get for a long time afaik. It’s such a hallmark of 00s and 10s rendering that I laugh every time I see it in a modern release. There are some new solutions hitting the space, I believe RTGI/PT inherently handles AO, and there is even a new method called ‘FidelityFX CACAO’ which does look considerably more realistic. Things are improving… slowly.
- jameshart
Discussed previously here in 2022: https://news.ycombinator.com/item?id=30595038
I still can’t help but read most of this article as a story of a guy trying to prove his theory that corners aren’t actually dark, taking photos and plotting luminance graphs of corners, repeatedly getting these strong vee-shaped graphs that indicate that the surface darkens linearly towards the corner, and just gathering more and more pictures until eventually he finds some which show flat luminance lines, at which point he declares victory because he’s proven that corners don’t darken.