Ambient occlusion w grach. Do czego służy?

Ambient occlusion w grach. Do czego służy?

Wielu graczy słyszało o technikach poprawy wyglądu gier, takich jak filtrowanie anizotropowe czy wygładzanie krawędzi. Technologia cieniowania ambient occlusion nie jest może tak dobrze znana, ale również potrafi przynieść świetne efekty i ucieszyć oko gracza. Dziś wspólnie z ekspertami firmy Sapphire przyglądamy się tematyce Ambient Occlusion.

Rodzaje cieniowania

Technologia Screen Space Ambient Occlusion (SSAO) szacuje wystawienie danej powierzchni na światło rozproszone. Jest to metoda opracowana w 2007 roku przez pracownika studia Crytek i została po raz pierwszy użyta w grze Crysis. Efektem zastosowania SSAO jest realistyczny wygląd powierzchni obiektów w grze, jak i naturalne oświetlenie całej sceny.

Algorytm SSAO jest aplikowany jako Pixel Shader i analizuje bufor głębokości. Zazwyczaj jest on renderowany w rozdzielczości o połowę mniejszej niż cała scena, przy użyciu 16 próbek głębi na piksel. Niestety renderowanie w niepełnej rozdzielczości potrafi spowodować niepożądane migotanie, które może być ciężkie do ukrycia. Z tego powodu opracowano SSAO+. Jest to usprawniona wersja SSAO, w której efekt jest renderowany w pełnej rozdzielczości sceny. Jak można się domyślić, odbija się to na wydajności, ponieważ proces wymaga czterokrotnie wyższej mocy obliczeniowej.

Spadek wydajności był powodem opracowania kolejnych usprawnień. Horizon Based Ambient Occlusion (HBAO) używa nieco innych algorytmów i jest renderowane w pełnej rozdzielczości sceny, ale używa tylko 4 próbek głębi na piksel. Natomiast HBAO+ używa 36 próbek, zapewniając większą precyzję cieniowania kosztem dwukrotnego zwiększenia zapotrzebowania na moc obliczeniową względem HBAO.

Wpływ na wydajność

W zależności od gry i jej optymalizacji, wpływ ambient occlusion na wydajność może być znaczący (rzędu 25%) bądź bardzo niewielki. Generalnie SSAO+ powoduje największy spadek wydajności, a HBAO – najmniejszy. Warto spróbować High Definition Ambient Occlusion (HDAO), jeśli tylko jest dostępne w opcjach gry. Ze względu na optymalizacje pod kątem kart AMD, ta metoda cieniowania powinna najmniej wpływać na liczbę wyświetlanych klatek na sekundę.

Wpływ na jakość obrazu

Zaaplikowanie nawet najbardziej podstawowej metody ambient occlusion znacząco poprawia wygląd gry i czyni ją milszą dla oka. Natomiast różnice między poszczególnymi trybami cieniowania nie są już tak łatwe do wychwycenia.

Podsumowując

Ambient occlusion w niektórych grach potrafi spowodować spory spadek wydajności. Pomimo tego warto je zaaplikować, gdyż zwiększa wrażenie realizmu.
W przypadku tytułów typu Wiedźmin 3, gdzie polepszenie aspektu wizualnego jest ogromne, a dzieje się kosztem znikomego spadku wyświetlanych klatek na sekundę, aktywacja HBAO+ wydaje się wręcz obowiązkowa.

Przeczytaj także: