Hlavní stránka Hardware Grafické karty Morphological AA — alternativní vyhlazování
Morphological AA — alternativní vyhlazování
autor: Tomáš Šulc , publikováno 14.2.2011
Morphological AA — alternativní vyhlazování

Společně s vydáním Radeonů HD 6000 spustilo AMD novou metodu vyhlazování nazvanou "morfologický antialiasing". Jde o unikátní řešení, které hráči umožňuje zapnout vyhlazování i tam, kde to s běžnými metodami není možné, jako například GTA IV. Jak to všechno funguje, v čem se MLAA liší od běžného AA, jaké jsou jeho nároky na výkon?


Pletiva

Morphological AA — alternativní vyhlazování
zdroj: nvnews.net

Dalším typem objektů, který je obvykle ve velké míře na scéně poškozen aliasingem, jsou pletiva. Pro ně platí to stejné, co pro ostatní tenké dráty a objekty popsané v minulé kapitole.

Moaré

Morphological AA — alternativní vyhlazování

Moaré (anglicky moire) je jev, který vzniká při rasterizaci ploch s jemným vzorkem, na které se díváme pod úhlem nebo z dálky. Jde o ono typické zkroucení tenkých rovných linií a podobně. Řešením však není vždy přímo antialiasing, ale také filtrace textur, tedy anizotropní filtrování místo klasického a méně účinného bilineárního / trilineárního.

Tím jsme prošli nejčastější projevy chyb při rasterizaci. Existují však i některé další jako například aliasing stínů či aliasing na texturách samotných. Věnujme se však už spíše tématu, jak nepříjemně zubaté hrany a další problémy vyřešit.

Antialiasing

Oversampling

Morphological AA — alternativní vyhlazování
zdroj: 3dcenter.org

Nyní se vraťme k původnímu trojúhelníku a zkusme celou situaci vyřešit. Logicky platí, že čím větší rozlišení, tím přesnější bude výsledný obraz. Při nekonečně vysokém rozlišení bychom i po rasterizaci dostali stejný trojúhelník jako před ní.

Morphological AA — alternativní vyhlazování
zdroj: 3dcenter.org

Základní metodou Antialiasingu je proto Oversampling. V našem případě se každý pixel rozdělil na čtyři menší a scéna se vyrenderovala ve dvojnásobném rozlišení. Výsledný trojúhelník tvořený ze čtverců vypadá daleko věrněji. Náš návrh v tomto provedení odpovídá 4× AA (každý pixel jsme nahradili čtyřmi menšími).

Morphological AA — alternativní vyhlazování
zdroj: 3dcenter.org

Nyní se jen zprůměrují barvy u každých čtyř sousedních pixelů a scéna se převede zpět do původního rozlišení. Výsledek je teď daleko věrnější než původně. Jenže je tu malá nevýhoda. Místo rozlišení 1920 × 1200 px obraz renderujeme v rozlišení 3840 × 2400. Zatížení sběrnice je obrovské, jsou tu velké nároky na paměť a podobně. Přichází proto na řadu optimalizace.

Supersampling

Morphological AA — alternativní vyhlazování

Kvůli obrovským nárokům Oversamplingu bylo nutné celý proces optimalizovat. Prvním krokem je zmenšení počtu subpixelů na polovinu. Všimněte si, že na obrázku má každý pixel jen dvě červené tečky (subpixely), které by šly snadno doplnit na čtyři. Tím bychom dostali původní 4× Oversampling. V praxi však v drtivé většina případů stačí jen dva takto diagonálně umístěné subpixely, přičemž kvalita obrazu se o mnoho nezhorší (obecně platí, že v každém řádku a každém sloupci musí být jeden subpixel). Tím jsme snížili nároky na polovinu a získali jsme 2× Supersampling.

Morphological AA — alternativní vyhlazování
nahoře 4× Oversampling, dole 4× Supersampling (zdroj: 3dcenter.org)

Podobně jako v případě optimalizace 4× OAA na 2× SSAA můžeme optimalizovat i 16× Oversampling. V tomto případě už každý pixel dělíme na 16 menších a obraz renderujeme ve čtyřnásobném rozlišení (místo 1920 × 1200 px tedy 7680 × 4800). Po optimalizaci nám však však v každém řadě a sloupci zbude jen jeden subpixel, přičemž kvalita se nezmění (spodní trojúhelník). Tím dostáváme 4× Supersampling, který má stejné nároky na výkon jako 4× Oversampling, ale kvalita je na úrovni 16× Oversampling. Vzhled útvaru se navíc začíná vzdáleně podobat trojúhelníku, který jsme původně chtěli.Samozřejmě je mnoho možností, jak subpixely vybrat a podle toho se rozlišuje mnoho verzí Supersamplingu.

Multisampling

Další úrovní optimalizace je multisampling. Se Supersamplingem totiž sice máme scénu ve vyšší kvalitě při stejném výkonu, ale stále renderujeme při 4× režimu celou scénu v dvojnásobném rozlišení. Proto přichází další režim –Multisampling. Ten ve vyšším rozlišení generuje jen okolí dvou polygonů a tím dochází k dalším úsporám ve výkonu. Kvalita vyhlazování se však nemění.

A to je vše?

Multisampling je v dnešní době základní a nejpoužívanější typ vyhlazování hran. Ale existuje bezpočet vylepšených verzí, které dále zlepšují kvalitu vyhlazování. Například je to adaptivní antialiasing, který vyhlazuje hrany u průhledných textur či Custom Sampling Aliasing (CSAA; 16× režim u jedné Nvidia karty) od Nvidie a Custom Filter Antialiasing od ATI (CFAA; volitelné filtry).



 
Komentáře naleznete na konci poslední kapitoly.
52 čtenářů navrhlo autorovi prémii: 22.8Kč 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.