Data publikacji:

Antyaliasing w grach. Co to jest i co daje? 

Antyaliasing to ogólna nazwa technik mających za zadanie zniwelowanie zniekształceń obrazu (aliasing) w grafice 2D i 3D, która wyświetlana jest na ekranie o mniejszej rozdzielczości. Metody te rozwijane są i stosowane od kilku dekad, wykorzystywane zarówno przez oprogramowanie użytkowe (np. aplikacje biurowe lub edytory graficzne), jak również gry na komputerach PC i konsolach. Antyaliasing stosowany jest pod wieloma postaciami, dlatego też warto przedstawić najważniejsze różnice pomiędzy nimi. 
antyaliasing

Antyaliasing - co to jest?

Problem aliasingu dotyczy każdego rodzaju cyfrowej grafiki i objawia się pod postacią charakterystycznych „schodków” na zakrzywionych krawędziach trójwymiarowych lub dwuwymiarowych obiektów. Są one efektem ograniczeń technologii cyfrowej wyświetlającej obraz składający się z pojedynczych pikseli. Im niższa rozdzielczość generowanego obrazu, tym aliasing jest bardziej widoczny i dokuczliwy. 
Efekt aliasingu jest niepożądany szczególnie w grach, psuje on bowiem często czytelność oprawy graficznej, sprawiając, że cienie oraz inne drobne detale wirtualnego świata, takie jak źdźbła trawy, mają poszarpany i nieprzyjemny wygląd. W najgorszym wypadku może też wpływać na czytelność tekstu lub innych elementów interfejsu.
Techniki antyaliasingu mają za zadanie zniwelować efekty nierównych krawędzi, a dokonują tego na dwa podstawowe sposoby. Pierwszy polega na obróbce poszczególnych klatek obrazu w czasie rzeczywistym (tzw. post-processing) i nałożeniu na nich specjalnych filtrów, które oparte są na specjalnych algorytmach analizujących grafikę. Rozmywają one ostre brzegi obiektów piksel po pikselu, minimalizując widoczne niedoskonałości.
Druga metoda wymaga zdecydowanie większej mocy obliczeniowej peceta. Algorytmy wymuszają na grze generowanie obrazu w rozdzielczości wyższej niż normalna, a następnie obniżają jej jakość (tzw. downsampling), stosując równocześnie specjalne filtry. Techniki z tej grupy dają zdecydowanie najlepsze efekty, są w stanie także poprawić wiele innych drobnych artefaktów i błędów graficznych, np. w niektórych teksturach.
Większość gier z trójwymiarową grafiką dostępnych na komputerach PC oferuje przynajmniej kilka rodzajów antyaliasingu do wyboru. Użytkownicy konsol są natomiast zazwyczaj skazani na rozwiązanie wybrane przez deweloperów i bardzo rzadko mogą zmienić ustawienia filtrów AA. 

Najpopularniejsze rodzaje antyaliasingu stosowane w grach

FXAA (Fast Approximate Anti-Aliasing)

Algorytm z pierwszej grupy metod AA, który w minimalnym stopniu wpływa na wydajność komputera. Jest to szybkie rozwiązanie rozmywające nie tylko schodkowe krawędzie obiektów, ale również cały wyświetlany obraz, co negatywnie wpływa na jego kontrast i kolory. FXAA sprawdza się bardzo dobrze w przypadku statycznych grafik. 

SMAA (Subpixel Morphological Anti-Aliasing)

Bardziej zaawansowana forma FXAA, która wygładza krawędzie na podstawie algorytmu analizującego kontrast grafiki. Metoda jest bardziej skuteczna i równie szybka, obciąża jednak w nieco wyższym stopniu komponenty peceta. 

MSAA (MultiSample Anti-Aliasing)

Algorytm należący do drugiej grupy technik AA, który renderuje krawędzie obiektów w wyższej rozdzielczości, jest skuteczniejszy od już wymienionych metod. Jego użycie wpływa na wydajność gry w zależności od intensywności, z jaką pracuje. 

SSAA (SuperSampling Anti-Aliasing)

Niezwykle skuteczna metoda antyaliasingu, która jest najbardziej wymagająca dla komputera i jego podzespołów. Jej stosowanie ma wyraźny wpływ na wydajność gry, ponieważ algorytm wymusza generowanie każdej klatki obrazu w wyższej rozdzielczości, jej downsampling wraz z implementacją odpowiednich filtrów.
Zdjęcie: Envato Elements