r420-a-nv40-full-scene-antialiasing
Hardware Článek R420 a NV40 - Full-Scene AntiAliasing

R420 a NV40 - Full-Scene AntiAliasing | Kapitola 3

Souček Jiří

Souček Jiří

19. 5. 2004 00:00 33

Seznam kapitol

1. 4 roky s AntiAliasingem 2. OverSampling, SuperSampling, MultiSampling 3. GeForce: FX vs. 6800 4. Radeon X800 5. Radeon X800 - pokračování 6. Shrnutí a Závěr

V těchto dnech tomu budou právě čtyři roky, co byla uvedena první grafická karta s hardwarově implementovanou funkcí vyhlazování hran FSAA (Full-Scene AntiAliasing). Od této doby se dříve jednoduché metody vyhlazování zubatých hran v 3D obraze posunuly do oblasti složitých matematicko-logických operací. Cílem je dosáhnout precizní a ostrý obraz bez velkého dopadu na výkon 3D.

Reklama

V následující tabulce jsou shrnuty všechny specifikace, kterými se postupně probereme.

GeForce FX 5950 Ultra (NV38) GeForce 6800 Ultra (NV40) Radeon 9800 XT
(R360)
Radeon X800 XT Platinum (R420)
Uspořádání vzorků Ordered Grid Rotated Grid Sparse /
Rotated Grid
Sparse /
Rotated Grid
Algoritmus FSAA MultiSampling SuperSampling MultiSampling SuperSampling MultiSampling MultiSampling
Max. vzorků MS 4 4 6 6
Max. vzorků SS 4 2 (RG) / 16 (OG) ? nepodporuje nepodporuje
Max. vzorků celkem 16 8 6 6
Další AA schopnosti - - gamma korekce
(*Temporal AA)
gamma korekce
Temporal AA
Max. vzorků vizuálně 16 8 6 (*12) 12

(*) Implementace prostřednictvím nových ovladačů

Nenechte se plašit některými čísly, která jsou nižší, než u předchozí generace. O výkonu, ani kvalitě to vypovídat nemusí.

GeForce FX vs. 6800

Společnosti nVidia se podařilo učinit velký skok v kvalitě (účinnosti) nově implementovaného režimu. Až dosud totiž používala velice neefektivní uspořádané rozložení vzorků (krom režimu 2x, který byl Rotated). To mělo za následek nepříliš valné výsledky, které nezachránila ani možnost krom MS použít i SS. Dopad na výkon byl pak ještě výraznější a kvalita stále zůstávala pozadu. I SS totiž používal uspořádané rozložení, což nevýraznou účinnost (zdaleka neodpovídající výkonu) vysvětluje.

Po velice dlouhé době nVidia přešla k pootočenému rozložení vzorků (Rotated Grid), což je samozřejmě velmi dobře. Pro nás to znamená mnohem vyšší kvalitu obrazu při použití FSAA. Pro ATi to znamená změnu vlastního rozložení vzorků, protože přece nemůže mít totéž, co konkurence! Zpět k NV40. Jsou podporovány maximálně 4 MS vzorky na pixel, což sice není mnoho, ale na druhou stranu je to díky Rotated-Grid dostačující hodnota. Pokud je použito vyšší rozlišení (1280*1024) s 4x RGMS, nedochází už prakticky k žádným projevům Aliasingu na hranách. 

NV40, jak už jsem zmínil, podporuje i RG-SuperSampling. Maximálně však v režimu 2x. Kvalita však oproti předchůdci (4x OGSS) výrazně horší nebude, díky výhodnějšímu rozložení vzorků bude v mnoha případech na totožné úrovni. Se SuperSamplingem je zde zacházeno poměrně neobvyklým způsobem. Každá scéna je vyrenderována 2x, ale s použitím MultiSamplingu 4x. Když pak obě scény prolneme, dostáváme se na číslo 8 (počet MS vzorků na pixel). Shrnu-li tuto situaci, pak na pixel, který leží celý na jediném polygonu, je aplikován SuperSampling 2x a na ostatní pixely (které leží na hranách) pak MultiSampling 8x... Pozice vzorků SuperSamplingu jsem označil modře, pozice vzorků MS červeně (je dobře vidět, že červené vzorky pocházejí ze dvou původně samostatných pixelů):

R420 a NV40 - Full-Scene AntiAliasing
i Zdroj: PCTuning.cz

Tento režim je tím nejkvalitnějším, co nám NV40 může nabídnout. Stačí si spočítat, že pozicemi vzorků prochází 8 samostatných rovin a je jasné, že na hranách extrémně blízkých horizontále či vertikále může poskytnout výsledek srovnatelný s OrderedGrid AA 64x !!! Nesmíme však zapomínat na pokles teoretického fillrate na 1/2. To však není u takto výkonné karty nepřekonatelným problémem, čistě teoreticky by při tomto algoritmu měla poskytovat obdobný framerate, jako GeForceFX při režimu MS 4x (záleží samozřejmě ale i na mnoha dalších faktorech). 

Ještě znovu bych chtěl připomenout vliv SuperSamplingu na textury. Ten je totiž naprosto nedocenitelný, neboť dokáže potlačit i nepříjemné moire (druhotné obrazce na texturách vzniklé kvůli rozdílu mezi velikostí a pozicí pixelů textury a renderovaného rastru, patrné např. při Nature testu 3DMark01 na střeše chatky při použití anizotropního filtru). Také se v některých hrách vyskytnou objekty, které by bylo poněkud zbytečné modelovat z polygonů a pro jejich ztvárnění stačí textura. Problém může nastat v okamžiku, kdy kresba na textuře obsahuje linie, které jsou rozměrově blízké velikosti pixelu, popř. menší. Dovolím si to prezentovat na obrázku:

R420 a NV40 - Full-Scene AntiAliasing
i Zdroj: PCTuning.cz

Bílá textura, na ní hnědá linie, černě jsou znázorněny okraje pixelů, červeně střed pixelu, odkud je standardně odebírán vzorek barvy, která je pak použita pro celou plochu pixelu. Vezměme situaci, kdy se pozorovatel oproti textuře nepatrně pohybuje: Snímek "I." - hnědá linie je v pozici, kdy nezasahuje do místa, odkud je odebrán vzorek barvy (B). To znamená, že tato hnědá linie nebude ve výsledním snímku vůbec viditelná (C). Pokud se v následujícím snímku (II.) pozorovatel nepatrně posune a linie se dostane na pozici vzorků (B), bude viditelná, ale její šířka nebude odpovídat skutečnosti (C). Celá animace pak vypadá tak, že na některých snímcích je kresba viditelná, na jiných ne. Toto je specifická forma tzv. SubPixel Flickering(u). Jelikož se celá toto vizuální "nepříjemnost" neodehrává na hraně polygonu, ale na textuře, tak s ní MultiSampling vůbec nic nezmůže. Naopak SuperSampling je schopen tento defekt velice snadno potlačit (samozřejmě účinnost odpovídá množství a pozici vzorků).

Kromě moire a SubPixel Flickeringu je tu ještě jeden prvek, který stojí za zmínku. A tím jsou stíny. Běžné stíny mívají na okrajích zuby (Aliasing). MultiSampling zde opět nic nezmůže,  SuperSampling samozřejmě i zuby na okrajích stínů vyhladí.

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama