Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

3D technologie: Anti-aliasing

12.11.2003, Zdeněk Kabát, článek
3D technologie: Anti-aliasing
Každý z Vás jistě slyšel o technologii k vyhlazování hran, která je obecně známá pod názvem Anti-aliasing. V tomto článku si popíšeme detailně, jak tato technika funguje a rozebereme různé její aplikace jako je Quincunx či SmoothVision.
Anti-aliasing je pojem, který se v grafickém světě používá již dlouho. Pokud jste se někdy ptali, jakým způsobem je tato technika k vyhlazování hran v grafických čipech realizována, odpověď Vám může přinést tento článek. Anti-aliasing je jedním dějem uprostřed obrovské mašinérie zvané 3D grafická pipeline, který se začal používat hlavně od dob zavedení T&L jednotek do GPU.

Přijde si na tebe zubatá
S přechodem do trojrozměrného prostředí a s rozmachem 3D akcelerátorů začal vyvstávat čím dál tím akutněji jeden problém. Přestože se hrubá síla grafických karet zvyšovala, nevedlo to k přílišnému zlepšení obrazu. Přechod do 3D totiž znamená, že se všechny scény skládají z pixelů a polygonů, nejčastěji prostých trojúhelníků. Kvalitu obrazu jako takovou lze zlepšit např. zvýšením počtu těchto polygonů, příp. změnou rozlišení. Ale po stranách objektů, kde je přechod mezi trojúhelníky velmi ostrý se i tak vyskytuje nepříjemný jev – zubaté okraje.



Obr. 1 – Jasný příklad zubatých okrajů

To je samozřejmě způsobeno tím, že máme-li v prostoru dva body, tak jejich spojením vzniká čára, jejíž průběh je závislý na rozlišení. Zvýšením rozlišení se sice tato zubatost zmenšuje, ale rapidně se snižuje výkon. A tak chytré hlavy objevily lepší způsob vyhlazování těchto zoubků – anti-aliasing. Podobné techniky uměly již dříve renderovací programy jako 3DStudio Max, ale vykreslení jednoho snímku trvalo třeba několik minut. A úkolem, před kterým vývojáři stály, byla nutnost vyhlazování v reálném čase.


Obr. 2 – Skutečnost, co máme a co chceme

Voxely – slepá větev vývoje
Ovšem ještě před tím, než 3D akcelerátory jako bylo Voodoo či TNT získaly převahu, snažili se vývojáři zlepšovat obraz jinými způsoby. Jeden krátce zmíním – ve hře Outcast byly použité tzv. voxelové algoritmy. Scéna se v této hře skládala v voxelů (volume pixels), které samy o sobě obsahovaly dostatek informací pro kvalitní vyhlazování. Zde je jeden screenshot:


Obr. 3 – Screenshot z „voxelové“ hry Outcast

Outcast ve své době ohromil kvalitou obrazu, protože jak vidíte, voxely se od typických zubatých scén oněch let značně lišily. Nevýhodou ovšem byly obrovské nároky na výkon. Poté již ovšem získaly převahu 3D grafické karty a voxely byly potlačeny. Sice se i dnes koketuje s myšlenkou návratu voxelů do 3D prostředí, ale vzhledem k rozmachu pixel a vertex shaderů si myslím, že nemá příliš naději na úspěch.


Nyní se ale již podívejme na moderní metody vyhlazování obrazu…