Ambient occlusion

In 3D computer graphics, modeling, and animation, ambient occlusion is a shading and rendering technique used to calculate how exposed each point in a scene is to ambient lighting.

Ambient occlusion can be seen as an accessibility value that is calculated for each surface point.

[1] In scenes with open sky, this is done by estimating the amount of visible sky for each point, while in indoor environments, only objects within a certain radius are taken into account and the walls are assumed to be the origin of the ambient light.

The result is a diffuse, non-directional shading effect that casts no clear shadows, but that darkens enclosed and sheltered areas and can affect the rendered image's overall tone.

Unlike local methods such as Phong shading, ambient occlusion is a global method, meaning that the illumination at each point is a function of other geometry in the scene.

[2] With the release of hardware capable of real time ray tracing (GeForce 20 series) by Nvidia in 2018, ray traced ambient occlusion (RTAO) became possible in games and other real time applications.

Ambient occlusion is related to accessibility shading, which determines appearance based on how easy it is for a surface to be touched by various elements (e.g., dirt, light, etc.).

It has been popularized in production animation due to its relative simplicity and efficiency.

The ambient occlusion shading model offers a better perception of the 3D shape of the displayed objects.

This was shown in a paper where the authors report the results of perceptual experiments showing that depth discrimination under diffuse uniform sky lighting is superior to that predicted by a direct lighting model.

A variety of techniques are used to approximate this integral in practice: perhaps the most straightforward way is to use the Monte Carlo method by casting rays from the point

and testing for intersection with other scene geometry (i.e., ray casting).

Another approach (more suited to hardware acceleration) is to render the view from

In addition to the ambient occlusion value, a "bent normal" vector

The bent normal can be used to look up incident radiance from an environment map to approximate image-based lighting.

In 2010, Hayden Landis, Ken McGaugh and Hilmar Koch were awarded a Scientific and Technical Academy Award for their work on ambient occlusion rendering.

The ambient occlusion map (middle image) for this scene darkens only the innermost angles of corners.
3D animation of ambient occlusion enabled on the animation to the right
In this example the bent normal N b has a direction that does not allow it to illuminate the scene as it is pointing at an occluded surface.