Morfologický anti-aliasing
Kapitoly článků
MLAA alias Morphological AA není nějaký marketingový pojem, morfologie je soubor mnoha různých oborů zabývající se tvary objektů či konstrukcí. V našem případě jde o tvary hran objektů, které jsou zubaté, tedy aliasované a je tedy vhodné na nich aplikovat nějaký ten anti-aliasing. Ale protože ne vždy je to možné, je zde MLAA.
Oním "ne vždy je to možné" myslíme různé hry, kde se tvůrci jaksi na anti-aliasing "vykašlali", ať již jde o Starcraft II nebo v širším slova smyslu o Unreal Engine, kde se Tim Sweeney brání implementaci anti-aliasingu již řadu let.
MLAA není anti-aliasingem v pravém slova smyslu. Pro "konvenční anti-aliasing" potřebujete znát geometrická data o scéně, což je u některých herních engine právě problém získat. MLAA tento problém obchází a svým způsobem se jedna o vysoce univerzální "anti-aliasing", který může být rozběhán na v podstatě každém herním titulu bez ohledu na cokoli dalšího.
Jak jsme si zmínili slovo "morfologie", tak právě s tou tento algoritmus (resp. sada algoritmů tvořících MLAA) pracuje. Jednoduše vezme již hotový "uvnitř GPU vyrenderovaný" obraz, provede detekci hran ve scéně a jistými postupy jejich vyhlazení. Provádí tak hned několik typů anti-aliasingu, které jsme dosud znali, mimo jiné nerozlišuje v tomto kontextu, jestli je objekt/hrana potažen texturou s alfa kanálem, jaké jsou hrany objektů, prostě vyhladí všechna místa, kde detekuje ostrý přechod.
MLAA je implementován jako sada algoritmů počítaných na GPU pomocí DirectCompute a ve své podstatě je kompatibilní s libovolnou DirectX 9 a vyšší aplikací. AMD bude nadcházející období pochopitelně podporu pro konkrétní tituly ladit, ale v principu platí, že pokud nějaká hra běží před DirectX 9 a vyšší, je potenciálně mezi těmi s podporou MLAA bez ohledu na to, jestli nějaký algoritmus pro anti-aliasing její autoři před 6 či více lety implementovali.
MLAA se zapíná v Catalyst Control Centeru, existuje již způsob jeho zprovoznění na Radeonech HD 5800 a je, jistě kvůli použití DirectCompute dané verze, k dispozici pod Windows Vista/7.
Morfologický anti-aliasing má v podstatě jen dvě nevýhody:
1. Jistý dopad na výkon - protože jej počítá GPU, bere mu samozřejmě trochu jeho výkonu, jde o zlomek, ale zmínit to musíme.
2. Nevyhladí, co nevidí - pokud si vzpomenete na náš někdejší srovnávací test kvality renderingu, pak si z něj vezměte například tento tento, ale vůbec nejlépe TENTO obrázek - na nich je vidět objekty tak malé, že když nejsou antialiasované, mají přerušené linie. Nejlépe to ukazuje zábradlí či pletivo v Half-Life 2. Toto zábradlí nějaký běžným SuperSampling AA vyhladíte dokonale, protože tento algoritmus si může sáhnout do geometrie scény, vzít "objekt pletivo", provést jeho přesamplování na vícevzorkový obraz a do výsledného renderu poslat krásně vyhlazené dráty pletiva. MLAA přichází na řadu až po renderingu scény, dostane tedy zubaté pletivo s přerušenými liniemi. Ty sice vyhladí, ale linie již nespojí, protože neví, že je to spojitý objekt, který jen v daném rozlišení nemohl být spojitě vyrenderován - SuperSampling a podobné metody pracují efektivně s vyšším rozlišením objektu a proto jsou zde úspěšnější.