Lecture
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. For example, the interior of a pipe is typically more occluded (and therefore darker) than the exposed outer surfaces, and becomes progressively darker the deeper you go into the pipe.
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. For example, the interior of a pipe is typically more occluded (and therefore darker) than the exposed outer surfaces, and becomes progressively darker the deeper you go into the pipe.
Ambient occlusion can be thought of as an accessibility value that is calculated for each surface point. [ 1 ] In open-sky scenes, this is done by estimating the amount of visible sky for each point, whereas indoors only objects within a certain radius are taken into account, with the walls considered a source of ambient light. The result is a diffuse, non-directional shading effect that does not cast crisp shadows but darkens enclosed and sheltered areas and can affect the overall tone of the rendered image. It is often used as a post-processing effect.
Unlike local methods such as Phong shading, ambient occlusion is a global method, meaning that the lighting at each point is a function of the other geometry in the scene. However, it is a very rough approximation of full global illumination. The appearance achieved by ambient occlusion alone resembles how an object might look on an overcast day.
The first method enabling real-time ambient occlusion was developed by Crytek's research and development department ( CryEngine 2 ). With the release of hardware supporting 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. This feature was added to Unreal Engine with version 4.22. 
An ambient occlusion map (middle image) for this scene darkens only the innermost corners.
3D animation of ambient occlusion is shown in the animation on the right
In the absence of hardware ray tracing for ambient occlusion, real-time applications such as computer games can use screen-space ambient occlusion (SSAO) techniques, such as horizon-based ambient occlusion, including HBAO and ground-truth ambient occlusion (GTAO), as a faster approximation of true ambient occlusion, using per-pixel depth rather than scene geometry, to form an ambient occlusion map.
Ambient occlusion is related to accessibility shading, which determines appearance based on how easily various elements (such as dirt, light, etc.) can reach the surface. It has been popularized in production animation because of its relative simplicity and efficiency.
The ambient occlusion model provides a better perception of the three-dimensional shape of rendered objects. This was demonstrated in a paper in which the authors report the results of perceptual experiments showing that depth discrimination under diffuse uniform sky lighting exceeds what is predicted by the direct lighting model.
Occlusion at a point p
on a surface with normal
can be computed by integrating the visibility function over the hemisphere Ω with respect to the projected solid angle:
where is the visibility function at
, defined as zero if
is occluded in the direction
and one otherwise, and
is an infinitesimal step of the solid angle of the integration variable
. In practice, various methods are used to approximate this integral: perhaps the simplest 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 (better suited to hardware acceleration) consists of rendering the view from
by rasterizing black geometry against a white background and taking the (cosine-weighted) average of the rasterized fragments. This approach is an example of a "gathering" or "inside-out" approach, whereas other algorithms (such as depth-map ambient occlusion) use "scattering" or "outside-in" methods.
In addition to the ambient occlusion value, a "bent normal" vector n is often generated, indicating the average direction of the occluded samples. The bent normal can be used to look up incident radiance from an environment map to approximate image-based lighting. However, there are some situations in which the direction of the bent normal is an incorrect representation of the dominant lighting direction, for example,

In this example, the bent normal N b has a direction that does not allow it to illuminate the scene, since it points toward an occluded surface.
In this example, light can only reach point p from the left or right side, but the bent normal points to the average of these two sources, which is directed straight at the obstacle.
In 2010, Hayden Landis, Ken McGaugh, and Hilmar Koch were awarded a Scientific and Technical Academy Award for their work on ambient occlusion rendering.
Comments