Computer Graphics
Why Game Corners Never Quite Look Right — The Cheat Behind Ambient Occlusion
The dim corner of a dark room in a 2012 game felt convincingly real. It was not. A trick called screen-space ambient occlusion was approximating the darkness from the depth buffer alone — brilliant, cheap, and fundamentally unphysical.
- Screen-space ambient occlusion (SSAO) darkens surfaces in crevices by sampling the scene's depth buffer around each pixel and counting how many neighboring pixels sit behind it.
- Because it only sees what is on screen, it cannot know about geometry outside the frame, producing abrupt shadow cutoffs near the edges of the viewport.
- The technique, championed by Crytek's 2012 GPU Pro paper, became an industry standard and is still used in modern engines in refined forms such as HBAO+, HDAO and MSVO.
Real ambient occlusion is the reason the joint between two walls looks slightly darker than the open wall: light bounces everywhere, but less of it reaches a tight nook. To compute it exactly, a renderer would trace rays or simulate light bounces across the whole scene — expensive, and for years too slow for a game running at 60 frames per second. SSAO sidesteps the problem entirely. It takes the depth buffer, which already records how far away every visible pixel is, samples random points in a hemisphere around each pixel, and darkens the pixel when neighboring samples lie behind a surface. The geometry never gets simulated; it is inferred from a single flat image.
The phrase "corners don't look like that" — the title of a well-known 2012 essay by graphics programmer Sean Barrett — names the price of that shortcut. Because SSAO is strictly screen-space, it has no information about anything outside the frame. Walk up to a doorway and the shadow fades unnaturally as the corner approaches the edge of the screen. Move the camera and the darkness flickers. Stand near an object that is partly behind you and the shadow just stops, because the algorithm cannot see what is behind it. Real corners look consistent no matter where you stand; SSAO corners look right only from one angle, on one screen.
And yet the trick was transformative. Released alongside Crysis 3 in 2013, SSAO gave dense jungle foliage, shadowed corridors and alien architecture a sense of volume and depth that the previous generation could not match — on hardware that could not ray trace. Every AAA title from roughly 2013 to 2020 owes some of its atmosphere to that paper. Hardware vendors spent a decade refining it: NVIDIA's HBAO+ adds better half-hemisphere sampling, AMD's HDAO reduces temporal flicker, and Microsoft's MSVO applies variance reduction. The core idea has not changed — darken based on what the depth buffer says — but the noise, halos and edge-cut-offs have been smoothed out of most of the worst cases.
SSAO endures because it encodes a lesson about graphics engineering that extends far beyond ambient occlusion. Perception is not physics. Under the roughly 16-millisecond budget of a 60 fps frame, the goal is not to simulate reality but to convince the eye. SSAO fails a physicist's test and passes a human's, which is exactly why it lasted so long and still lives on in every modern real-time renderer.
Knowledge takeaway: SSAO approximates ambient occlusion by sampling the depth buffer around each pixel and darkening it based on nearby occluding geometry; being screen-space means it cannot see geometry off-screen, causing edge cutoffs, halos and flicker; the Crytek 2012 paper made real-time crevice shadows mainstream and is refined today in HBAO+, HDAO and MSVO.