Screen Space Ambient Occlusion (SSAO)

From Valve Developer Community
Revision as of 19:37, 10 December 2010 by OneQuarterLife (talk | contribs)
Jump to: navigation, search
Note.png Note: This is not a feature of the Source Engine, it is a shader which NVidia cards will sometimes apply.
SSAO in game - the shading effect is highly visible between Breen and the table, but also appears in the corners of the room. Note the edge "glow" bug around Breen's arm.

Ambient Occlusion (AO) is a type of lighting technique applied in-game to create more realistic lighting. AO simulates soft shadows created by two surfaces that are close together. Ambient occlusion in games is normally accomplished through Screen Space Ambient Occlusion, which is a simplified way to fake realistic AO with shaders in a process fast enough for real-time rendering. SSAO is a DirectX 9.0c shader, so it will only be available on fairly modern video cards.

Ambient occlusion is currently only available for NVidia cards using the NVidia drivers. It is very resource-intensive and will cause a significant reduction in framerate on older video cards.

SSAO causes several rendering bugs which are common to nearly all games which offer SSAO.

File:Ao renderbug trees.jpg
The shadows being rendered on top of fog are noticable on distant trees.
Bug.png Bug: SSAO often creates a small visual error where the very edge of an object is not shaded, causing an apparent glow.
Bug.png Bug: SSAO is rendered on top of fog and smoke, even if the smoke is closer to the player than the source of the shading, causing the fog/smoke to look lumpy. This may give distant trees a frosted look.

Supported games

All Source engine games except Portal support ambient occlusion. This may be because AO would not render correctly through Portals.

Enabling ambient occlusion

Enabling AO in NVidia control panel

Ambient occlusion cannot be controlled through the video options within a Source game. AO can be turned on with NVidia cards using the NVidia drivers.