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ě

Quake II RTX: ray tracingová laboratoř

5.2.2020, Jan Vítek, recenze
Quake II RTX: ray tracingová laboratoř
Dnes se podíváme i z praktického hlediska na téma ray tracingu ve hře Quake II. Ta má svou éru již dávno za sebou, ovšem právě kvůli její celkové nenáročnosti se mohli vývojáři slušně rozšoupnout s implementací ray tracingu.
V nastavení grafiky se nejprve ubezpečíme, že máme jako renderer zvolen rtx a ne prosté API OpenGL a pak si můžeme zvolit rozlišení, zapnout čítač snímkovací frekvence, změnit úhel pohledu a v resolution scaling si můžeme zapnout dynamické nastavení rozlišení renderovacího obrazu s cílem docílit jisté snímkovací frekvence. Anebo můžeme zvolit fixní rozlišení, přičemž na to se hned podíváme. 
 
 
Máme tu ale ještě ostatní nastavení, kde je TAA (Temporal Anti-Aliasing), využití globálního osvícení scény, hloubka odrazů a lomů světla, respektive počet počítaných paprsků (1 až 8), security cameras ukáže na monitorech ve hře aktuální dění zabírané kamerami a pak je tu několik jasných voleb: caustics (získaný nádech světla, které prošlo zbarveným sklem), god rays (volumetrické světlo), bloom (světelná aura), denoiser (odstranění šumu), textures (zapnutí/vypnutí textur), thick glass refraction (lámání světla v tlustých sklech), projection (cylindrical/perspective pro majitele širokoúhlých monitorů) a nakonec je to podpora více GPU a GPU profiler, který nám právě na obrazovce ukáže, co a jak dlouho při vykreslování snímků trvá (viz 4. kapitola).
 
 

Škálování rozlišení vs. OpenGL, šum a Photo Mode

  
Škálování rozlišení dokáže značně ovlivnit výsledek, přičemž hra se ve výchozím nastavení bude snažit udržet 60 FPS tak, že nastaví rozlišení mezi 50 a 100 %. My si ale můžeme manuálně nastavit až 200 %, přičemž jeden by očekával, že renderované scény budou dostatečně ostré právě už na 100 %, ale to neplatí a příčinu mohou ukázat následující screenshoty zabírající stále stejnou scénu. 
 
 Quake II pod OpenGL - klikněte pro zvětšení -
 
Nejdříve tu máme jen pro další ukázku původní verzi hry renderovanou pod OpenGL, která zcela postrádá textury ve vyšším rozlišení a je také velice odlišně nasvícená, až se ani nezdá, že jde ve skutečnosti o prostor s otevřeným stropem pod volným nebem. 
 
Quake II RTX bez zapnutého odstranění šumu - klikněte pro zvětšení - 
 
Dále tu máme už RTX verzi, ovšem bez finálního odstranění šumu v obrazu, který je skutečně velice výrazný a pokud si uvědomíme, že pouze pomocí následného odstraňování šumu máme dostat následující výsledek, není pak ani divu, že můžeme přitom přijít o detaily, respektive to přispěje k celkově rozmazanému výsledku. Pokud zapneme bez redukce šumu 200% rozlišení, pak se rozdíl na obrazovce neukáže, neboť ta takové rozlišení pochopitelně nemá jak ukázat, ovšem algoritmy pro denoising pak s ním mohou pracovat a ve výsledku zobrazit mnohem lepší výsledek. Ukazují to dva následující obrázky. 
 
100% rozlišení - klikněte pro zvětšení - 
 
200% rozlišení - klikněte pro zvětšení -
 
Můžete si rozkliknout snímky v plném rozlišení, anebo se podívat na následující výřezy, kde je vidět to podstatné. Nastavení rozlišení na 200 % nám prostě zajistí pěkně ostrý výstup, který je jinak ve 100% rozlišení znatelně rozmazaný i pro oko, které do té doby nevidělo lepší nastavení. Problém je však ten, že i v tak staré a nenáročné hře bude 200% rozlišení s RTX představovat obrovskou zátěž a na snímku nahoře můžeme dobře vidět, jak se snímkovací frekvence propadla na nehratelných 15 FPS. 
 
100% rozlišení - detail
 
 200% rozlišení - detail
 
Nakonec ještě ukážeme stejnou scénu zachycenou s využitím fotografického režimu, který nevyužívá vyhlazování, ale aproximaci z mnoha stále stejných a dokola renderovaných snímků, a to s tím, že zde máme zrovna zaostřeno na onen sloup s displeji.  
 
fotografický režim - klikněte pro zvětšení -
 
Po zobrazení plné verze snímku zjistíte, že ostrost podání a detaily jsou někde mezi 100 a 200% rozlišením s vyhlazováním. Je to vcelku pochopitelné, když se podíváme na jiné části obrazu, které ještě zdaleka nebyly zbaveny šumu, a to byl daný snímek tvořen přibližně devět sekund, což nám při 58 FPS dělá cca 500 vykreslených snímků, což odpovídá výchozímu nastavení. Pokud tak někdo bude potřebovat kvalitnější výstup z foto režimu, může si v menu nastavit až 8000 snímků. Přibližně 3000 ovšem už stačí na výstup bez přehnaného šumu, ovšem s rostoucím počtem bohužel roste i počet artefaktů, které vypadají jako shluk vadných pixelů či subpixelů. 
 
A že můžeme v Photo Mode dosáhnout velice slušné ostrosti i na 100% rozlišení, na to ukáže následující výřez, v němž už bylo zaostřeno na vzdálenější zelené obrazovky. Šum je opět stále velice patrný, ale ostrost je daleko lepší než při běhu hry s využitím denoiseru. 
 
 fotografický režim - detail
 
Právě to tak ukazuje na jednu z ne příliš často zmiňovaných nevýhod ray tracingu či path tracingu pro rendering veškeré grafiky: je třeba se zbavit šumu, což znamená neostrý výsledek.