Jak poprawić wygląd gier? Antyaliasing w pigułce

Jak poprawić wygląd gier? Antyaliasing w pigułce

Zjawisko aliasingu jest najbardziej dokuczliwe, gdy linia krzywa jest widoczna na tle o sporym kontraście. W dużym uproszczeniu powstaje ono z powodu zbyt niedokładnych danych dotyczących danej linii, a więc najczęściej zbyt niskiej rozdzielczości. Aby zlikwidować nieprzyjemne dla oka „schodki”, najprościej jest zwiększyć rozdzielczość, w jakiej renderowana jest cała gra. Niesie to jednak ze sobą spore zwiększenie wymagań sprzętowych, a ponadto wymóg posiadania monitora zdolnego wyświetlić odpowiednio wysoką rozdzielczość.

By móc przeciwdziałać zjawisku aliasingu (anti-aliasing, bądź antyaliasing), opracowano algorytmy, które powodują, że staje się ono mniej widoczne, a zarazem nie wpływają na wydajność tak mocno jak zwiększenie rozdzielczości.

SSAA (SuperSampling Anti-Aliasing)

To najstarsza i zarazem najmniej skomplikowana metoda, znana też pod nazwą FSAA (Full-Scene Anti-Aliasing). Polega na wyrenderowaniu obrazu w wyższej rozdzielczości, a następnie zeskalowaniu go do niższej rozdzielczości, w której działa gra. Podczas tego procesu położenie każdego piksela widocznego na ekranie jest obliczane na podstawie kilku próbek.

Skalowanie do niższej rozdzielczości może przebiegać na kilka sposobów. Najpopularniejsze z nich to grid oraz rotated grid.

• Grid dzieli piksel na kilka sub-pikseli i używa próbek z centrum każdego sub-pikseli, by opracować wynik.
• Rotated grid jest nieco bardziej zaawansowanym algorytmem. Siatka próbek jest obrócona, by próbki nie zachodziły na siebie. Takie rozwiązanie zazwyczaj potrafi dodatkowo polepszyć jakość anti-aliasingu.

SSAA zapewnia wysoką jakość obrazu i skuteczną redukcję schodków, jednak jest to okupione znaczącym spadkiem wydajności.

MSAA (Multisample anti-aliasing)

Pod kątem wydajności MSAA jest znaczącym usprawnieniem względem SSAA. Mniejsze obciążenie sprzętu zostało osiągnięte poprzez próbkowanie dwóch albo większej ilości sąsiadujących ze sobą pikseli, zamiast każdego z nich indywidualnie w wyższej rozdzielczości. Dzięki temu mogą zostać zastosowane kolejne optymalizacje. Np. jeśli występuje zgrupowanie pikseli o tym samym kolorze, nie wszystkie muszą być całkowicie analizowane – co zdecydowanie zwiększa wydajność.

SSAAx4 oznacza, że każdy piksel potrzebuje czterech próbek. Natomiast w przypadku MSAAx4 niektóre próbki mogą być rozdzielone między sąsiadujące piksele. Niestety zabiegi pozwalające na zmniejszenie zapotrzebowania na moc obliczeniową powodują, że algorytm MSAA bardzo źle radzi sobie z powierzchniami przezroczystymi, które są często stosowane w nowych grach. Dzieje się tak dlatego, że w podwyższonej rozdzielczości odbywa się jedynie rasteryzacja siatek, a cieniowanie i wypełnianie teksturami przeprowadzane są już w rozdzielczości natywnej.

Anti aliasing postprocesowy

Osobnym typem anti-aliasingu są algorytmy działające po zakończeniu renderowania, na poziomie postprocesingu. Ich główną zaletą jest bardzo niewielki wpływ na wydajność.

Tego typu algorytmy występują w kilku odmianach:
• FXAA (Fast Approximate Anti-aliasing) – powoduje lekkie rozmycie obrazu, co dla niektórych graczy jest nie do przyjęcia;
• SMAA (Enhanced Subpixel Morphological Antialiasing) – nie rozmywa obrazu aż tak bardzo.

Producenci gier czasami na własną rękę opracowują algorytmy anty-aliasingu. Wartymi odnotowania są CMAA z Grid Autosport, AAA z Metro Last Light, czy TAA (Temporal Anti-Aliasing) z Rainbow Six: Siege.

Osoby lubiące eksperymenty mogą skorzystać ze specjalnych programów, które umożliwiają zastosowanie postprocesowych metod wygładzania krawędzi w tytułach, które ich natywnie nie wspierają.

  • W przypadku słabszych komputerów lepiej postawić na metody postprocesowe, które nie wpływają znacząco na wydajność.
  • Połączenie SSAA / MSAA z metodą postprocesową może okazać się dobrym kompromisem pomiędzy jakością wygładzania krawędzi, a szybkością działania gry.
  • SSAA jest świetną metodą na polepszenie wyglądu starszych, mniej wymagających gier.
  • Jeśli gra nie obsługuje wygładzania postprocesowego, warto spróbować zewnętrznych programów to umożliwiających.
  • W niektórych tytułach wygładzanie postprocesowe wygląda lepiej niż MSAA.

źródło: SAPPHIRE 



Przeczytaj także: