Difference between revisions of "Screen Space Ambient Occlusion (SSAO)"

From Valve Developer Community
Jump to: navigation, search
m (i guess this is the more common capitalization)
(If you don't know what you're talking about, don't make changes. This is why this terrible page has to exist in the first place.)
Line 13: Line 13:
  
 
==Supported games==
 
==Supported games==
All [[Source]] engine games except [[Portal]] support Nvidia's ambient occlusion. This may be because AO would not render correctly through Portals.
+
All [[Source]] engine games except [[Portal]] support Nvidia's ambient occlusion. Support in Portal can be forced on by editing Portal's profile in the Nvidia divers.
 
==Enabling Nvidia's Ambient Occlusion==
 
==Enabling Nvidia's Ambient Occlusion==
 
[[{{ns:6}}:EnableAO.png|thumb|right|300px|Enabling AO in Nvidia control panel]]
 
[[{{ns:6}}:EnableAO.png|thumb|right|300px|Enabling AO in Nvidia control panel]]
 
Ambient occlusion cannot be controlled through the video options within a Source game. AO is controlled by Nvidia's video drivers in the Nvidia Control Panel.
 
Ambient occlusion cannot be controlled through the video options within a Source game. AO is controlled by Nvidia's video drivers in the Nvidia Control Panel.

Revision as of 03:08, 22 December 2010

Note:This is a feature of Nvidia's drivers and not of the Source Engine. If you want to use this effect in your mod, you need to make your own shader.
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 works by examining an onscreen pixel, and then comparing its location in the depth buffer (i.e. how far it is away from the player) to the pixels around it. Pixels which are close together but not coplanar (on the same face) are shaded to simulate soft shadows. To maintain playable framerates, it is not possible to sample every pixel every frame, so random sampling is used, which will inevitably create noise/grain which may be more noticable when the player moves around.

Note:Enabling ambient occlusion can cause significant performance penalties.

This method of driver forced SSAO causes several rendering bugs in the Source Engine. Most notably, the SSAO shader does not take fog into account in it's AO calculations, producing visual artifacts in scenes with heavy fog.

File:Ao renderbug trees.jpg
The shadows being rendered on top of fog are noticable on distant trees.

Supported games

All Source engine games except Portal support Nvidia's ambient occlusion. Support in Portal can be forced on by editing Portal's profile in the Nvidia divers.

Enabling Nvidia's Ambient Occlusion

Enabling AO in Nvidia control panel

Ambient occlusion cannot be controlled through the video options within a Source game. AO is controlled by Nvidia's video drivers in the Nvidia Control Panel.