# Ambient occlusion

Ambient occlusion

Ambient occlusion is a shading method used in 3D computer graphics which helps add realism to local reflection models by taking into account attenuation of light due to occlusion. Unlike local methods like Phong shading, ambient occlusion is a global method, meaning 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. The soft appearance achieved by ambient occlusion alone is similar to the way an object appears on an overcast day.

Ambient occlusion is most often calculated by casting rays in every direction from the surface. Rays which reach the background or “sky” increase the brightness of the surface, whereas a ray which hits any other object contributes no illumination. As a result, points surrounded by a large amount of geometry are rendered dark, whereas points with little geometry on the visible hemisphere appear light.

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. In the industry, ambient occlusion is often referred to as "sky light."Fact|date=June 2008

The ambient occlusion shading model has the nice property of offering a better perception of the 3d shape of the displayed objects. This was shown in a paper [ "Depth discrimination from shading under diffuse lighting", M.S. Langer and H. H. Buelthoff, Perception. 29 (6) 649-660, 2000. ] where the authors report the results of perceptual experiments showing that depth discrimination underdiffuse uniform sky lighting is superior to that predicted by a direct lighting model.

The occlusion $A_p$ at a point $p$ on a surface with normal $N$ can be computed by integrating the visibility function over the hemisphere $Omega$ with respect to projected solid angle:

$A_p = frac\left\{1\right\}\left\{pi\right\} int_\left\{Omega\right\} V_\left\{p,omega\right\} \left( N cdot omega \right) , domega$

where $V_\left\{p,omega\right\}$ is the visibility function at $p$, defined to be zero if $p$ is occluded in the direction $omega$ and one otherwise. 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 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 $p$ by rasterizing 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 $N_b$ is often generated, which points in the average direction of unoccluded 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 a misrepresentation of the dominant direction of illumination, e.g.,

ee also

*Global illumination
*Photon mapping
*Ray tracing
*Reflection Occlusion
*Screen Space Ambient Occlusion

References

* [http://www.andrew-whitehurst.net/amb_occlude.html Depth Map based Ambient Occlusion]
* [http://www-viz.tamu.edu/students/bmoyer/617/ambocc/ Ambient Occlusion]
* [http://www.cs.unc.edu/~coombe/research/ao/ Assorted notes about ambient occlusion]
* [http://www.tml.hut.fi/~janne/aofields/ Ambient Occlusion Fields] &mdash; real-time ambient occlusion using cube maps
* [http://www.inria.fr/rrrt/rr-5779.html Fast Precomputed Ambient Occlusion for Proximity Shadows] real-time ambient occlusion using volume textures
* [http://download.nvidia.com/developer/GPU_Gems_2/GPU_Gems2_ch14.pdf Dynamic Ambient Occlusion and Indirect Lighting] a real time self ambient occlusion method from Nvidia's GPU Gems 2 book
* [http://www.xnormal.net xNormal] A free normal mapper/ambient occlusion baking application

Wikimedia Foundation. 2010.

### Look at other dictionaries:

• Ambient occlusion — Occlusion ambiante L occlusion ambiante, aussi appelée Ambient Occlusion est un algorithme utilisé dans la modélisation 3D, ayant pour but d améliorer le réalisme d un rendu 3D. Procédé L algorithme est un principe d illumination globale, à… …   Wikipédia en Français

• Ambient occlusion — Использованы модели (сверху вниз): прямого освещения, Ambient occlusion (AO)и комбинированная модель AO и прямого освещения Ambient occlusion (AO)  модель затенения, используемая в трёхмерной графике и позволяющая добавить реалистичности… …   Википедия

• Ambient Occlusion — Anwendung von AO Umgebungsverdeckung (englisch Ambient Occlusion, AO) ist eine Shading Methode, die in der 3D Computergrafik verwendet wird, um mit relativ kurzer Renderzeit eine realistische Verschattung von Szenen zu erreichen. Das Ergebnis ist …   Deutsch Wikipedia

• Screen Space Ambient Occlusion — (сокращённо SSAO; англ. преграждение окружающего света в экранном пространстве) программная техника (методика) в трёхмерной компьютерной графике, которая является приближенной имитацией глобального освещения и представляет собой изменённый и …   Википедия

• Screen Space Ambient Occlusion — (SSAO) is a rendering technique for efficiently approximating the well known computer graphics ambient occlusion effect in real time. It was used for the first time in a video game in the 2007 PC game Crysis.Fact|date=June 2008The algorithm is… …   Wikipedia

• Occlusion — may refer to: Occlusion (dentistry), the manner in which the upper and lower teeth come together when the mouth is closed Occlusion effect, an audio phenomenon that occurs when one closes the opening into the ear canal and the loudness of low… …   Wikipedia

• Occlusion ambiante — L occlusion ambiante, aussi appelée Ambient Occlusion est un algorithme utilisé dans la modélisation 3D, ayant pour but d améliorer le réalisme d un rendu 3D. Procédé L algorithme est un principe d illumination globale, à savoir que la lumière… …   Wikipédia en Français

• Ambient — англ. Ambient (досл.  «окружающий», «внешний») обычно не переводится и в русском языке используется в виде кальки «эмбиент». Может означать: Эмбиент  музыкальный жанр. Ambient  графическая оболочка для ОС «MorphOS». Ambient… …   Википедия

• Umgebungsverdeckung — Anwendung von AO Umgebungsverdeckung (englisch Ambient Occlusion, AO) ist eine Shading Methode, die in der 3D Computergrafik verwendet wird, um mit relativ kurzer Renderzeit eine realistische Verschattung von Szenen zu erreichen. Das Ergebnis ist …   Deutsch Wikipedia

• CryEngine 2 — Игровой движок (Список) Официальный логотип движка …   Википедия