VXAO przekształca obiekty przestrzeni świata w woksele, przekształca je i wykorzystuje je do obliczania cieni. Okluzja otoczenia to opcja grafiki dostępna w menu ustawień wielu gier wideo. Podczas gdy niektóre gry wyjaśniają, że okluzja otoczenia wzmacnia cienie, prawie żadna gra nie wyjaśnia szczegółowo, co robi.
Co to jest okluzja otoczenia?
Okluzja otoczenia to technika cieniowania, która symuluje sposób, w jaki obiekty zasłaniają oświetlenie otoczenia. Został zaprojektowany jako narzędzie, które sprawia, że cienie wyglądają tak realistycznie, jak to tylko możliwe, z wewnętrznymi krawędziami i powierzchniami pod obiektami, które mają ciemniejsze cienie.
Wskazówka: Okluzja to inne określenie na zasłanianie lub blokowanie, więc okluzja otoczenia symuluje blokowanie światła przez obiekty, próbując rzucać realistyczne cienie.
W swojej najbardziej uproszczonej formie okluzja otoczenia oblicza tylko cienie, które byłyby rzucane przez rozproszone źródło światła na niebie. Bardziej zaawansowane implementacje uwzględniają również inne źródła światła, takie jak lampy, latarki i flesze wylotowe.
Pierwszą grą, która zawierała ambient occlusion była gra Crysis z 2007 roku.
Jakie są rodzaje okluzji otoczenia?
SSAO, czyli Screen-Space Ambient Occlusion, jest szczególnie lekką implementacją okluzji otoczenia. „Przestrzeń ekranu” to termin, który oznacza, że SSAO uwzględnia tylko obiekty, które są aktywnie renderowane. Oznacza to, że dla obiektów, które nie są aktualnie widoczne, nie zostaną wykonane żadne obliczenia.
Na przykład, jeśli wieża rzuca cień na ulicę i obrócisz kamerę tak, że wieża nie będzie już wyświetlana na ekranie, rzucany przez nią cień zniknie. Podobnie, obiekt w oddali zasłonięty przez bliższy obiekt nie będzie rzucał cienia, nawet jeśli powinien być widoczny, na przykład drzewo blokowane przez ciężarówkę. W niektórych przypadkach może to oznaczać, że cień, który powinien pojawić się pod obiektem, takim jak czołg, nie pojawiają się, ponieważ tył, góra i spód zbiornika nie są renderowane, a tym samym nie blokują lekki.
SSAO ma również problemy z rzucaniem cieni tam, gdzie ich nie powinno być, zwłaszcza w odniesieniu do dwóch obiektów w różnych odległościach od siebie.
HBAO lub Horizon Based Ambient Occlusion to bardziej zaawansowana implementacja ambient occlusion firmy Nvidia. AMD ma podobną implementację, którą nazywają HDAO lub High Definition Ambient Occlusion. Dzięki HBAO cienie są dokładniej nakładane na powierzchnie, unikając rzucania tylu fałszywych cieni. Niestety, wpływ na wydajność jest znaczny, więc efekt jest renderowany tylko w połowie skali, co oznacza, że efekt cienia ma niższą rozdzielczość.
HBAO+ to ulepszona wersja HBAO, która rozwiązuje szereg problemów z wydajnością i umożliwia renderowanie cieni w pełnej skali, bez zbytniego wpływu na wydajność. Ta zwiększona rozdzielczość pozwala uzyskać bardziej miękkie i gładsze cienie. Lepsze efekty rozmycia cieni są szczególnie ważne w scenach plenerowych, w których obiekty, takie jak linie energetyczne, powinny rzucać miękkie, a nie twarde cienie. HBAO+ rozwiązuje również problemy, które HBAO może mieć z migotaniem od poruszających się obiektów lub ruchu kamery.
VXAO, czyli Voxel Accelerated Ambient Occlusion, to nowsza technologia firmy Nvidia. Zamiast używać algorytmu przestrzeni ekranu, wykorzystuje algorytm okluzji otoczenia przestrzeni świata. Oznacza to, że obiekty znajdujące się poza ekranem mogą nadal rzucać cienie, co pozwala na rzucanie cieni zza kamery i spod obiektów, zapewniając znacznie bardziej realistyczny wygląd. VXAO przekształca obiekty przestrzeni świata w woksele i wykorzystuje je do obliczania cieni.
Wskazówka: woksele to modele o niższej rozdzielczości niż oryginalna liczba wielokątów obiektów. Renderowanie tekstur na wokselach wyglądałoby źle, ponieważ kształt obiektów miałby znacznie niższą rozdzielczość. Jednak przy generowaniu cieni ta zmniejszona szczegółowość obiektu zapewnia znaczny wzrost wydajności przy nieznacznym pogorszeniu jakości. Ruleta w Internecie: https://jocuripacanele.ro/joci-ruleta-online-pe-bani-reali.html
W przeciwieństwie do poprzednich implementacji ambient occlusion fakt, że VXAO jest przestrzenią światową, oznacza, że jest świadomy tego odległość między obiektami, co pozwala na dokładniejsze obliczenie cieni dla obiektów znajdujących się dalej od cień. Zapobiega również efektowi halo, który czasami można zobaczyć wokół postaci idących przed powierzchniami, takimi jak ściany. VXAO intensywniej wykorzystuje procesor niż poprzednie iteracje ambient occlusion, ale oferuje najlepszą jakość cieni.