Rendering

SSAO

Screen-space ambient occlusion

Also known as: Screen-Space Ambient Occlusion · HBAO · GTAO

Definition

SSAO approximates ambient occlusion (the soft contact darkening in crevices and corners) by sampling the depth buffer at runtime, rather than baking it into textures. Variants like HBAO and GTAO improve quality. SSAO grounds objects and adds perceived depth almost for free — every modern engine ships some flavor of it. It cannot replace baked AO on hero assets, but it covers everything dynamic that baking misses.

In production

SSAO samples the depth and normal buffers at runtime within a small screen-space radius, rather than baking occlusion into lightmaps ahead of time. Variants like HBAO (Horizon-Based Ambient Occlusion) and GTAO (Ground Truth Ambient Occlusion, UE5's default) improve on the original algorithm's banding and haloing artifacts by better approximating the visibility integral around each pixel. SSAO grounds objects and adds perceived depth almost for free on a per-frame GPU budget, which is why every modern engine ships some flavor of it enabled by default — Unreal exposes GTAO quality and radius settings directly in post-process volumes. It cannot replace baked AO on hero assets, since screen-space methods only see what's currently on screen, but it covers everything dynamic — moving characters, destructible props — that a static bake would miss entirely. A common artifact is "SSAO halos" around thin objects like poles or railings, caused by the sampling radius picking up background depth incorrectly.

Learn SSAO in

Tools that use SSAO

See also