Diit.cz - Novinky a informace o hardware, software a internetu

Nvidia představila Adaptive Temporal Antialiasing využívající ray tracing

Anti-aliasing je jedním z klíčových prvků pro přiblížení herní grafiky realitě. S virtuální realitou, kdy uživatel na displej kouká pod lupou (a to doslova), poptávka po efektivním řešení stoupá…

Nová metoda anti-aliasingu je poměrně komplexní řešení, které vychází z temporálního konceptu, tedy z vyhlazování (primárně) na bázi následujících snímků. Temporální složka algoritmu je prostá. Pokud vykreslujeme nějakou linii a snímek od snímku použijeme jinak rozložené vzorkování, vznikne řada snímků, jejichž vzájemným prolnutím získáme vyhlazenou linii.

Problém nastává, když ve scéně dojde k pohybu. Pokud je linie v každém následující snímku na trochu jiném místě, prostě prolnutí nestačí. Pokud ale využijeme vektory pohybu, můžeme posun mezi jednotlivými snímky eliminovat a získat opět vyhlazenou linii.

Pokud, jak je ale typické ve hrách, hýbeme i celým záběrem (např. se hráč rozhlíží), pak nám v aktuálním snímku bude chybět kus záběru, který byl v předchozím snímku a temporální koncept se v této části snímku nebude mít čeho chytit. Pro odhalení těchto částí obrazu používá Nvidia tzv. konzervativní segmentační masku. Pro oblast, která v předchozím snímku chybí, je pak vyhlazení provedené stávající metodou FXAA. Podle Nvidie i při rychlém pohybu s obrazem dochází k poklesu výkonu v důsledku FXAA méně než o 15 % oproti tomu, pokud by se FXAA použil k vyhlazení celého obrazu.

Konzervativní segmentační maska rozlišuje 3 stavy:
1. červeně - oblast, která chybí v předchozím snímku
2. modře - oblast, která je v předchozím snímku
3. žlutě - oblast, která je v předchozím snímku, ale je pravděpodobná chyba TAA

Krom toho, zda je či není určitý úsek obrazu zahrnut i v předchozím snímku, rozlišuje segmentační maska ještě třetí stav. Ten se týká částí obrazu, kde segmentační heuristika odhalila vyšší pravděpodobnost chyby temporálního konceptu. To se může stát třeba v situaci, kdy se neposouvá pouze záběr scény (=hráč se rozhlíží), ale navíc se ještě nějaký objekt ve scéně změní jinak než posunem. Např. se pootočí, takže se změní úhel záběru a hrany objektu nebudou v jednom snímku oproti druhému sedět.

Pro tyto pixely je pak použit ATAA (adaptive temporal anti-aliasing) algoritmus, kdy je pro daný pixel proveden ray tracing odpovídající vzorkům MSAA 2×, 4× nebo 8× a tím dopočteny údaje pro vyhlazení.

Ve výsledku tedy vzniká obraz, jehož různé části mohly vyhladit tři různé algoritmy anti-aliasingu. I kdybyste udělali screenshot stejného záběru, může být výsledek mírně vizuálně odlišný na základě toho, jestli jste během screenshotu nehýbali se záběrem, nebo jestli k pohybu došlo. Na základě toho se totiž uplatní odlišné algoritmy s odlišným vizuálním výsledkem. Což mimochodem znamená, že praktické otestování kvalit nového anti-aliasingu bude velmi problematické, protože se asi příliš recenzentů nebude zabývat tím, jak vytvořit dva stejné závěry tak, aby jeden screenshot vznikl v klidu a druhý v pohybu, ale zároveň obsahoval záběr identický s prvním :-).

Srovnání kvality různých metod antialiasingu

Proto je i velmi obtížné hodnotit vizuální výsledky, které Nvidia předložila. Některé vypadají dobře, některé velmi dobře. Na druhou stranu jako referenci přiložila super-sampling, ovšem - jak je patrné z prostředního detailu - jde o tzv. ordered-grid super-sampling, tedy vizuálně nejméně kvalitní řešení. Zajímavější by bylo srovnání s alespoň rotated-grid super-sampling, byť je pochopitelné, že Nvidia má zájem na tom, aby její nový algoritmus vypadal ve srovnání co nelépe.

Nvidia - s ohledem na podporu raytracingu ve hrách a výkonu / možností aktuálního hardwaru - nepočítá s praktickým nasazením ATAA ve hrách v dohledné době.

Zdroje: 

Diskuse ke článku Nvidia představila Adaptive Temporal Antialiasing využívající ray tracing

Pátek, 3 Srpen 2018 - 13:31 | Marek Moravčík | Fakt. Tiež som si to už zle pamätal. Pozrel som...
Pátek, 3 Srpen 2018 - 12:59 | no-X | Proč by se čekalo na následující, když jsou k...
Pátek, 3 Srpen 2018 - 09:33 | Marek Moravčík | Nutne možno nie. Možno sa využije tripple...
Pátek, 3 Srpen 2018 - 09:28 | PV | Temporální antialiasing nutně znamená, že tam...
Čtvrtek, 2 Srpen 2018 - 18:30 | Marek Moravčík | Zle uložený komentár. Môže sa vymazať.
Čtvrtek, 2 Srpen 2018 - 18:29 | Marek Moravčík | "Jde o to, ze pokud to tak je, tak bych...
Čtvrtek, 2 Srpen 2018 - 16:13 | RedMaX | A teda, aby takova vychytavka ve hre fungovala,...

Zobrazit diskusi