Hlavní stránka Hardware Grafické karty nVidia FXAA — když „běžný“ antialiasing nefunguje
nVidia FXAA — když „běžný“ antialiasing nefunguje
autor: Tomáš Šulc , publikováno 17.4.2012
nVidia FXAA — když „běžný“ antialiasing nefunguje

Ačkoliv zubaté hrany trápí většinu her, podpora vyhlazování hran u her stále není automatická. AMD proto před rokem přestavilo morfologický antialiasing schopný vyhladit obraz každé hry. Nyní se konečně přidává i nVidia se svým řešením FXAA. Jak v praxi funguje a jaké jsou jeho chyby, jsme vyzkoušeli hned ve čtrnácti hrách.


nVidia FXAA — když „běžný“ antialiasing nefunguje
výřez ze hry Grand Theft Auto: Episodes From Liberty City (původní velikost bez úprav)

Ačkoliv zubaté hrany trápí hráče počítačových her od nepaměti, mnoho tvůrců počítačových her se touto problematikou nijak nezabývá. V posledních letech je sice standardem podpora čtyřnásobného vyhlazování typu multisampling (MSAA) a některé hry podporují i osminásobný režim nebo kvalitnější metody jako supersampling (SSAA), především hry konvertované z herních konzolí však často nenabízí žádný způsob, jak se zubatých hran zbavit. Výrobci grafických karet sice nabízí možnost vynutit vyhlazování hran přes ovladače grafických karet, i toto řešení však má své háčky. Aby vyhlazování vynucené přes ovladače fungovalo, musí být kód hry napsaný dle standardu DirectX (případně OpenGL), což vývojáři také často nerespektují. Nejde přitom jen o „béčkové hry“, kritika míří i na vývojáře AAA titulů. Typickým příkladem je dnes nejrozšířenější Unreal engine třetí generace, na kterém běží celá řada her. Všechny mají s vyhlazováním hran problémy a jejich vývojáři to řeší (případně vůbec neřeší) různými způsoby od úprav kódu až po implementace speciálních post processing vyhlazování. Dalším příkladem může být slavná série Grand Theft Auto, která se problematikou vyhlazování hran také nikdy netrápila, přičemž zubaté hrany a další vady jsou ve hře patrné doslova všude.

nVidia FXAA — když „běžný“ antialiasing nefunguje

Před několika týdny jsme vám přinesli článek zaměřený na klasické metody vyhlazování hran. Je v něm popsaný jak proces vzniku zubatých hran a dalších typů vad, tak i způsob práce antialiasingového filtru, který hrany potlačuje a současně i opravuje vady jakou jsou nespojité linie apod. Pokud se v této problematice příliš neorientujete, osobně doporučuji teoretickou část článku přečíst (měla by být snadno srozumitelná i pro méně znalé čtenáře), na popsanou problematiku se budu dále v textu odkazovat.

nVidia FXAA — když „běžný“ antialiasing nefunguje
nespojité linie jako jsou lana v přední části lodi jinak než plnohodnotným vyhlazováním opravit nelze

Zubaté hrany a další vady vzniklé nedostatečným rozlišením renderovaného obrazu je jednoznačně nejlepší eliminovat renderováním obrazu či jeho jednotlivých části ve vyšším rozlišení a jeho následným snížením (více viz zmiňovaný článek o vyhlazování). Jak už však bylo řečeno výše, vyhlazování nebude fungovat, pokud kód hry není sepsaný v souladu s dohodnutými pravidly (například rozhraní DirectX). Protože vývojáři her tato pravidla často nedodržují, objevuje se na trhu množství her, které vyhlazování hran vůbec nepodporují a nepomůže ani vynucení přes ovladače grafické karty. Do nastalé situace se proto vložil samotný výrobce grafických karet — AMD.

nVidia FXAA — když „běžný“ antialiasing nefunguje
morfologický antialiasing první generace uvedený s řadou Radeon HD 6800 v roce 2010

Na trhu s grafickými kartami panuje poměrně vyrovnaný souboj a o volbě mezi Radeonem od AMD a GeForce od nVidie často rozhodují jen maličkosti. AMD se proto rozhodlo přinést zájemcům o karty Radeon výhodu v podobě podpory technologie morfologického vyhlazování (zkráceně MLAA). To se od klasického antialiasingu velmi liší. Na rozdíl od metod jako multisampling či supersampling jde totiž o post processing efekt neboli efekt, který je aplikován až na vyrenderovaný dvourozměrný snímek (zatímco klasický antialiasing je aplikován během samotného rednderování). To znamená, že se nad dvourozměrným obrazem udělá matematická analýza detekující hrany a tyto hrany jsou následně vyhlazeny. Výhodou tohoto řešení je zaručená funkčnost vždy a všude, nevýhodou pak neúplná korekce některých vad (chybějící části objektů se už zpět do obrazu nedostanou) a zejména vyhlazení kompletně celého obrazu včetně textů a podobně. Více si o morfologickém vyhlazování můžete přečíst v jeho recenzi.

nVidia FXAA — když „běžný“ antialiasing nefunguje
morfologický antialiasing druhé generace uvedený s řadou Radeon HD 7800, dostupný bude během několika dní v ovladačích Catalyst 12.4 WHQL

Morfologické vyhlazování představené s generací karet AMD Radeon HD 6000 ukázalo potenciál této technologie. Byť je efekt vyhlazení poměrně malý, kvalita vyhlazení rozhodně nedosahuje plnohodnotnému vyhlazování a je zde řada chyb jako vyhlazování textu a podobně, u her, kde konvenční antialiasing nefunguje, jej oceníte. Výhodou jsou navíc relativně nízké hardwarové nároky.

AMD navíc na technologii nepřestalo pracovat a s uvedením AMD Radeonů řady HD 7800 jsme se dočkali i představení druhé generace morfologického vyhlazování. Mělo by nabídnout lépe vyhlazený obraz s menším počtem artefaktů a nižší hardwarové nároky. Pro největší zájemce je již dostupné v betaverzi ovladačů Catalyst 12.3, pro majoritu hráčů pak bude plně aktivní v betaverzi ovladačů Catalyst 12.4 WHQL. Během několika týdnů se proto můžete těšit na aktualizovaný test této technologie od AMD a srovnání s dnes testovaným vyhlazováním FXAA od nVidie.



 
Komentáře naleznete na konci poslední kapitoly.
56 čtenářů navrhlo autorovi prémii: 27.2Kč Prémie tohoto článku jsou již uzavřené, děkujeme za váš zájem.
Tento web používá k poskytování služeb soubory cookie.