Morphological AA — alternativní vyhlazování
i Zdroj: PCTuning.cz
Hardware Článek Morphological AA — alternativní vyhlazování

Morphological AA — alternativní vyhlazování | Kapitola 2

Tomáš Šulc

Tomáš Šulc

13. 2. 2011 21:03 20

Seznam kapitol

1. Aliasing — jak vzniká 2. Další typy vad, Antialiasing 3. MLAA — post processing efekt 4. MLAA — kompatibilní hardware a vynucení 5. Testovací sestava, metodika 6. Bad Company 2, Borderlands
7. F1 2010, Far Cry 2 8. GTA: EFLC, Just Cause 2 9. Mafia 2, Serious Sam HD 10. Splinter Cell: Conviction, Two Worlds II 11. W40K: DoW II, WIC 12. Závěr

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?

Reklama

Pletiva

Morphological AA — alternativní vyhlazování
i Zdroj: PCTuning.cz


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í
i Zdroj: PCTuning.cz

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í
i Zdroj: PCTuning.cz

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í
i Zdroj: PCTuning.cz


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í
i Zdroj: PCTuning.cz


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í
i Zdroj: PCTuning.cz

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í
i Zdroj: PCTuning.cz


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).

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama