Screen Space Ambient Occlusion (SSAO): Difference between revisions
(external links) |
(maybe we can just stick with this until SSAO is implemented into Source somewhere down the line.) |
||
Line 1: | Line 1: | ||
{{stub}} | {{stub}} | ||
[[File:AmbientOcclusionExample.jpg|right|210px|thumb|An example of traditional ''prerendered'' ambient occlusion in Blender 3D. SSAO attempts to mimic this look in real-time.]] | |||
'''Ambient Occlusion (AO)''' is a type of [[lighting]] technique applied in-game to create more realistic lighting. AO simulates global ambient lighting, creating the appearance of soft shadows between surfaces that are close together. AO can be rendered in real-time through '''[[Wikipedia:Screen Space Ambient Occlusion|Screen Space Ambient Occlusion (SSAO)]]''', a shading method which is able to closely simulate the effects of real AO with little loss of performance. | '''Ambient Occlusion (AO)''' is a type of [[lighting]] technique applied in-game to create more realistic lighting. AO simulates global ambient lighting, creating the appearance of soft shadows between surfaces that are close together. The look of AO can be rendered in real-time through '''[[Wikipedia:Screen Space Ambient Occlusion|Screen Space Ambient Occlusion (SSAO)]]''', a shading method which is able to closely simulate the effects of real AO with little loss of performance. | ||
SSAO works by examining an onscreen pixel, and then comparing its location in the depth buffer 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 noticeable with movement. To counter this, the SSAO pass is often Gaussian blurred to remove such grain. | SSAO works by examining an onscreen pixel, and then comparing its location in the depth buffer 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 noticeable with movement. To counter this, the SSAO pass is often Gaussian blurred to remove such grain. |
Revision as of 13:22, 13 January 2011
Ambient Occlusion (AO) is a type of lighting technique applied in-game to create more realistic lighting. AO simulates global ambient lighting, creating the appearance of soft shadows between surfaces that are close together. The look of AO can be rendered in real-time through Screen Space Ambient Occlusion (SSAO), a shading method which is able to closely simulate the effects of real AO with little loss of performance.
SSAO works by examining an onscreen pixel, and then comparing its location in the depth buffer 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 noticeable with movement. To counter this, the SSAO pass is often Gaussian blurred to remove such grain.
The depth buffer is measured from the camera, and so SSAO is view-dependent - the size and locations of the "shadows" created by SSAO may change as the player moves the camera around. Additionally, the shading may look different along the edges of the screen - this can be combated by rendering additional information outside of the current camera's bounds.
SSAO in the Source Engine
