Morphological AA — alternativní vyhlazování
Seznam kapitol
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?
screenshot z GTA IV se zapnutým morfologickým vyhlazováním
Abychom si mohli říct, v čem že to spočívá unikátnost celé nové metody vyhlazování MLAA a potažmo její výhody a nevýhody, je nejprve nutné vědět, co to aliasing je a jak fungují běžné antialiasingové fitry. Na téma vyhlazování hran obecně vyšel na PCTuningu před dvěma roky článek Antialiasing — vyhlazování teoreticky i prakticky, jehož úvodní dvě teoretické kapitoly nyní přetiskuji (uvedená pravidla dnes platí naprosto stejně jako před dvěma roky). Pokud si myslíte, že problematice vyhlazování dobře rozumíte anebo si starší článek pamatujete, klidně přejděte až ke čtvrté kapitole. Za sebe však rozhodně doporučuji těch několik minut obětovat a text si přeci jen připomenout.
Z geometrie do počítačová grafiky
Počítač vytváří 3D objekty jako síť polygonů (trojúhelníků), které se následně potahují texturou. Čím je tato síť podrobnější, tím věrnější bude i obraz. U lidské hlavy to znamená daleko lepší zaoblení hlavy, věrnější záhyby ušních boltců a podobně. Po vyrenderování celého obrazu v paměti počítače je nutné tento obraz upravit tak, aby mohl být zobrazen na monitoru. K tomu se v dnešní době používá tzv. rasterizace. A právě při tomto procesu dochází ke vzniku tolik nepopulárních zubů a dalších vad v obraze.
Jagged Edges
zdroj: 3dcenter.org
Kupříkladu je nutné vykreslit takovýto trojúhelník. Má velikost cca 4×15 pixelů, avšak jeho strany se přesně neshodují s hranicemi jednotlivých pixelů.
zdroj: 3dcenter.org
Výsledný obraz pro rasterizaci proto ani zdaleka neodpovídá skutečnosti. Obraz se totiž vytvořil tak, že systém zkontroloval, jakou barvu má střed pixelu (ony červené tečky). Pokud byl střed modrý, obarvil pixel modře. Pokud byl střed bílý, obarvil pixel bíle. Tímto způsobem vznikají ony nepopulární zubaté hrany, které se nazývají jagged edges.
Crawling
Nyní si zkuste auto představit v pohybu. Tím, jak budete projíždět zatáčky, se bude auto různě natáčet. Tím bude docházet k otřesnému ježdění zubů po celém autě. To je způsobené tím, jak se při změně úhlů mění i pozice jednotlivých trojúhelníků. Tato "vada" se nazývá crawling.
Unconnected lines
Zkusme jít trochu do extrémů. V případě, že budeme vykreslovat tenké objekty, jako jako jsou například lana na naší lodi či stožáry v dálce, dojde k úplnému rozpadu těchto objektů na kousky. Je to dané tím, že lana jsou tenčí než jeden pixel a nastane situace, kdy je lano mezi dvěma středy pixelů a nevykreslí se. Jenže u druhého pixelu se už lano vykreslí a u třetího zase ne. Tento jev se nazývá Unconnected lines.
Pokud půjdeme ještě do většího extrému, mohou jednotliví objekty začít úplně mizet a zase objevovat. Tento jev se jmenuje flickering (poblikávání). Všimněte si například venkovního schodiště na protějším domě v GTA IV. Jsou z něj vidět téměř jenom schody.