Ambient occlusion – metoda cieniowania powierzchni obiektów przestrzennych używana w grafice trójwymiarowej. Technika ta szacuje stopień zacienienia lub, mówiąc inaczej, wystawienia danej powierzchni na rozproszone światło otoczenia (tzw. światło ambientowe). Ambient occlusion pozwala na relatywnie szybkie imitowanie realistycznego wyglądu powierzchni bez stosowania jednego z wymagających obliczeniowo algorytmów oświetlenia globalnego.
Najpopularniejszą metodą obliczania efektu ambient occlusion jest ray tracing zastosowany do próbkowania otoczenia metodą Monte Carlo. Dla każdego cieniowanego punktu powierzchni wybranych zostaje od kilku do kilkuset losowych (w rzeczywistości pseudolosowych) punktów na okalającej go hemisferze. Dla każdego z nich sprawdza się widoczność owego punktu powierzchni. Jeśli wszystkie punkty hemisfery „widzą” punkt powierzchni, wartość ambient occlusion wynosi 1, w przeciwnym wypadku jego wartość równa się 0. Wartość ambient occlusion jest średnią wszystkich próbek. Efekt takiego próbkowania, dla wszystkich punktów powierzchni, wyrażony za pomocą koloru (najczęściej czerni i bieli) przypomina miękkie cienie na obiekcie oświetlonym bardzo rozproszonym światłem.
W przeciwieństwie do metod lokalnych, takich jak cieniowanie Phonga, ambient occlusion, obliczając zacienienie powierzchni, bierze pod uwagę nie tylko jej lokalne właściwości (tj. kierunek powierzchni w danym punkcie), ale także właściwości jej środowiska, dlatego zalicza się ją do grupy metod oświetlenia globalnego. Jest to jednak bardzo uproszczony model cieniowania, będący najczęściej tylko dodatkiem do innych technik. Mimo swoich niedogodności zyskał on popularność w animacji komputerowej dzięki swojej relatywnej prostocie i efektywności, co ma ogromne znaczenie szczególnie przy generowaniu scen trójwymiarowych w czasie rzeczywistym.
Model cieniowania ambient occlusion oferuje także bardziej naturalne kształty modeli 3D. Podczas prac z tą techniką pokazano, że nałożenie rozproszenia światła powoduje powstanie większych różnic w głębi wyświetlanego obrazu niż przy użyciu modelu bezpośredniego oświetlenia[1].
-
ambient occlusion
-
światło rozproszone
-
połączenie ambient occlusion i światła rozproszonego
Zobacz też
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ M.S. Langer, H. H. Buelthoff. Depth discrimination from shading under diffuse lighting. „Perception”. 29 (6), s. 649–660, 2000.