Ambient occlusion
   HOME

TheInfoList



OR:

In
3D computer graphics 3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for th ...
, modeling, and
animation Animation is a method by which still figures are manipulated to appear as moving images. In traditional animation, images are drawn or painted by hand on transparent celluloid sheets to be photographed and exhibited on film. Today, most ani ...
, ambient occlusion is a
shading Shading refers to the depiction of depth perception in 3D models (within the field of 3D computer graphics) or illustrations (in visual art) by varying the level of darkness. Shading tries to approximate local behavior of light on the object ...
and rendering technique used to calculate how exposed each point in a scene is to ambient lighting. For example, the interior of a tube is typically more occluded (and hence darker) than the exposed outer surfaces, and becomes darker the deeper inside the tube one goes. Ambient occlusion can be seen as an accessibility value that is calculated for each surface point. 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. 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 illumination at each point is a function of other geometry in the scene. However, it is a very crude approximation to full
global illumination Global illumination (GI), or indirect illumination, is a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting to 3D scenes. Such algorithms take into account not only the light that comes directly from ...
. The appearance achieved by ambient occlusion alone is similar to the way an object might appear on an overcast day. The first method that allowed simulating ambient occlusion in real time was developed by the research and development department of
Crytek Crytek GmbH is a German video game developer and software developer based in Frankfurt. Founded by the Yerli brothers in Coburg in 1999 and moved to Frankfurt in 2006, Crytek also operates further studios in Kyiv, Ukraine and Istanbul, Turkey. ...
(
CryEngine 2 CryEngine (stylized as CRYENGINE) is a game engine designed by the German game developer Crytek. It has been used in all of their titles with the initial version being used in '' Far Cry'', and continues to be updated to support new consoles an ...
). With the release of hardware capable of real time ray tracing ( GeForce 20 series) by
Nvidia Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
in 2018, ray traced ambient occlusion (RTAO) became possible in games and other real time applications. This feature was added to the
Unreal Engine Unreal Engine (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter game '' Unreal''. Initially developed for PC first-person shooters, it has since been used in a variety of g ...
with version 4.22.


Implementation

In the absence of hardware-assisted ray traced ambient occlusion,
real-time Real-time or real time describes various operations in computing or other processes that must guarantee response times within a specified time (deadline), usually a relatively short time. A real-time process is generally one that happens in defined ...
applications such as computer games can use
screen space ambient occlusion Screen space ambient occlusion (SSAO) is a computer graphics technique for efficiently approximating the ambient occlusion effect in real time. It was developed by Vladimir Kajalin while working at Crytek and was used for the first time in 2007 by ...
(SSAO) or horizon-based ambient occlusion (HBAO) 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 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. The occlusion A_\bar p at a point \bar p on a surface with normal \hat n can be computed by integrating the visibility function over the hemisphere \Omega with respect to projected solid angle: where V_ is the visibility function at \bar p, defined to be zero if \bar p is occluded in the direction \hat\omega and one otherwise, and \operatorname\omega is the infinitesimal
solid angle In geometry, a solid angle (symbol: ) is a measure of the amount of the field of view from some particular point that a given object covers. That is, it is a measure of how large the object appears to an observer looking from that point. The poi ...
step of the integration variable \hat\omega. A variety of techniques are used to approximate this integral in practice: perhaps the most straightforward way is to use the
Monte Carlo method Monte Carlo methods, or Monte Carlo experiments, are a broad class of computational algorithms that rely on repeated random sampling to obtain numerical results. The underlying concept is to use randomness to solve problems that might be deter ...
by casting rays from the point \bar p 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 \bar p by
rasterizing In computer graphics, rasterisation (British English) or rasterization (American English) is the task of taking an image described in a vector graphics format (shapes) and converting it into a raster image (a series of pixels, dots or lines, wh ...
black geometry against a white background and taking the (cosine-weighted) average of rasterized fragments. This approach is an example of a "gathering" or "inside-out" approach, whereas other algorithms (such as depth-map ambient occlusion) employ "scattering" or "outside-in" techniques. In addition to the ambient occlusion value, a "bent normal" vector \hat_b is often generated, which points in the average direction of occluded samples. The bent normal can be used to look up incident
radiance In radiometry, radiance is the radiant flux emitted, reflected, transmitted or received by a given surface, per unit solid angle per unit projected area. Radiance is used to characterize diffuse emission and reflection of electromagnetic radiati ...
from an environment map to approximate image-based lighting. However, there are some situations in which the direction of the bent normal is a misrepresentation of the dominant direction of illumination, e.g., In this example, light may reach the point p only from the left or right sides, but the bent normal points to the average of those two sources, which is directly toward the obstruction.


Variants

*
Screen space ambient occlusion Screen space ambient occlusion (SSAO) is a computer graphics technique for efficiently approximating the ambient occlusion effect in real time. It was developed by Vladimir Kajalin while working at Crytek and was used for the first time in 2007 by ...
(SSAO) * Screen space directional occlusion (SSDO) * Ray-traced ambient occlusion (RTAO) * High Definition Ambient Occlusion (HDAO) * Horizon Based Ambient Occlusion+ (HBAO) * Alchemy Ambient Occlusion (AAO) * Angle Based Ambient Occlusion (ABAO) * Pre Baked Ambient Occlusion (PBAO) * Voxel Accelerated Ambient Occlusion (VXAO) * Ground Truth based Ambient Occlusion (GTAO)


Recognition

In 2010, Hayden Landis, Ken McGaugh and Hilmar Koch were awarded a Scientific and Technical Academy Award for their work on ambient occlusion rendering.Oscar 2010: Scientific and Technical Awards
''Alt Film Guide'', Jan 7, 2010


See also

*
Global illumination Global illumination (GI), or indirect illumination, is a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting to 3D scenes. Such algorithms take into account not only the light that comes directly from ...
* Photon mapping * Radiosity * Ray tracing * High-dynamic-range rendering


References

{{Texture mapping techniques Shading Computer graphics 3D computer graphics Global illumination algorithms Articles containing video clips