Ray Tracing, čo to je?

Čudo Game Division 25. 3. 2018
26. marca 2018
Skracovač internetovej adresy dostupný zadarmo
1. apríla 2018
Čo je to ray tracing?
Najnovšie grafické jadrá ako Unreal Engine alebo 4A engine sa chvália podporou technológie Ray Tracing. Táto technológia sa už veľmi dlho používa pri filmoch so špeciálnymi efektami, aby vytvorila foto-realistickú scénu.

Čo Ray Tracing vlastne robí?

Zjednodušene povedané, je to metóda, ktorú používa grafické jadro na prepočet toho ako zdroje virtuálneho svetla ovplyvňujú rôzne predmety v prostredí. Program doslova sleduje (trace) lúče (ray) svetla, používajúc výpočty vytvorené fyzikmi, ktorí študujú to ako sa reálne svetlo chová.

Grafické jadrá ako Unreal alebo Unity používajú ray tracing na vytvorenie/vykreslenie (render) realistických svetelných efektov ako sú tiene, odrazy a oklúzie, bez potreby ich vykresľovania ako samostatný objekt. Hoci je táto metóda pomerne náročná na prepočet, vo veľa prípadoch môže byť oveľa efektívnejšia ako staršie metódy realistického nasvietenia, pretože sa používa len na vykresľovanie toho, čo kamera (teda hráč) potrebuje vidieť. Špecifické svetelné efekty sa zobrazujú len na jednej dvojrozmernej rovine z hľadiska diváka (tam kde pozerá kamera) a nie v celom prostredí.

Obrázok ukazuje porovnanie scény, v ktorej je použitý ray tracing oproti štandardnému vykresľovaniu.

Porovnanie: Naľavo scéna bez ray tracingu a napravo s ray tracingom (Unreal engine)

Toto všetko je dosiahnuté neuveriteľne zložitou matematikou, či už sa jedná o zisťovanie aktuálneho správania sa virtuálneho svetla (jeho prepočet a vykreslenie) alebo koľko týchto efektov je viditeľných pre hráča/diváka v daný moment. Vývojári hier môžu našťastie využívať menej komplexné techniky kvôli slabšiemu hardvéru alebo pre rýchlejší a „hladší“ gameplay.

Ray tracing technológia je o všeobecnom prístupe ku grafike ako takej, nie len ku špecifickej technike, aj keď bola neustále vylepšovaná. Môže byť použitá v pred-vykreslených scénach (pre-rendered (prestrihové scény)) ako to je napr. v Hollywoodskych filmoch alebo ju môžeme uvidieť niekde uprostred hry.
Snímka z hry Metro Exodus, ktorá používa technológiu ray tracing.

Ray Tracing v hre Metro Exodus od 4A Games

Budú hry vyzerať lepšie?

Áno budú, ale za špecifických podmienok, nakoľko pokročilá úroveň ray tracingu zjednoduší vykresľovanie krásnych/realistických svetelných efektov, no nemá nič spoločné s kvalitou polygónov a textúr v hre, čiže nečakajte, že nasvietenie vylepší textúru alebo zvýši jej rozlíšenie, či dokonca vylepší animácie postáv a pod. Jednoducho „len“ vylepší svetlo tak, aby vyzeralo realistickejšie, to je celé. Navyše si ho moc ani nemusíte všimnúť, pretože ak idete v nejakej hre krajinkou, kde nie je moc odrazových plôch (napr. vo Witcher 3 idete na koni cez krajinu), nemusíte si nič všimnúť, pokiaľ však prídete do prostredia, kde je veľa odrazových plôch, ako sú napr. zrkadlá, tak to oceníte.
Pokiaľ máte tohtoročnú (2017 - 2018) výkonnú grafiku (Nvidia 1080 a pod.), tak si niektoré benefity ray tracing technológie užijete, no plný nástup sa očakáva v DirectX hrách až po vydaní Nvidia 20xx grafických kariet (niečo podobné zo strany AMD). Veľmi teoreticky bude táto technológia dostupná pre grafické karty s podporou DirectX 12. PS4 a XONE sa s touto technológiou asi nestretnú a bude sa čakať na novú generáciu konzol.