Saját sugárkövetési eljárást implementált a CryEngine-be a Crytek

A vállalat egy Neon Noir nevű demonstrációban mutatta meg, hogy milyen az új generációs élet DirectX Raytracing nélkül.

A Microsoft egy éve mutatta be a DirectX Raytracinget, amely lényegében egy DirectX 12-t kiegészítő implementáció volt a sugárkövetésre. Azóta a Frostbite és a 4A Engine élesben is bevetette a technikát a Battlefield V és Metro Exodus című játékokban, de korábban is megemlítettük, hogy igazából a DirectX Raytracing nem kötelező a sugárkövetéshez, egyszerűen a fejlesztő meg tudja írni a saját implementációját, méghozzá compute shadereken keresztül.

A fentiektől függetlenül a DirectX Raytracing nagyon is jó dolog, hiszen kínál egy alapot a sugárkövetés használatához, de ha ezt egy adott stúdió túlságosan limitálónak találja, akkor ott vannak a grafikus API-kba épített compute képességek, és arra lehet írni egy saját verziót. A Crytek inkább ezt az utat választotta, így a CryEngine 5.5 egy saját, compute shadereken futó sugárkövetésre vonatkozó rendszer kap, amely DirectX 12 és Vulkan API-n egyaránt működhet, illetve elméletben a DirectX 11-en is megvalósítható, továbbá az alapvető követelmény csak a compute shader támogatása, aminek majdnem egy évtizedre visszamenőleg megfelelnek a hardverek. A vállalat a megoldását egy Neon Noir nevű demonstrációban mutatta meg, ahol a sugárkövetés a visszaverődésre volt felhasználva.

A Crytek elmondta, hogy az SSR (Screen Space Reflection), vagyis a képkocka szintjén működő visszaverődés effektet kikapcsolták, így az eredmény, amit elértek nem ezzel a trükkel valósul meg. A cég konkrétan az SVOTI, azaz sparse voxel octree total illumination eljáráshoz kialakított, Total Illuminationnek elnevezett alaptechnológiát fejlesztette tovább, és így képesek realisztikus visszaverődéseket generálni. Mindezt ráadásul feltűnően gyorsan, ugyanis a stúdió állatása szerint az elterjedt hardverek is megfelelő sebességet produkálnak, a fenti demonstráció például egy AMD Radeon RX Vega 56-on került rögzítésre.

A Crytek nem ment a részletekbe a megoldásuk működésével kapcsolatban, de Total Illumination koncepciójukból kiindulva voxelekkel reprezentálhatják a virtuális jelenetet, és a sugárkövetés ezekre a voxelekre valósul meg. Nyilván ennek a módszer előnye, hogy maga a sugárkövetés jóval gyorsabb rajta, mintha háromszögeken történne meg a számítás, és emiatt nem akarhatta a vállalat a DirectX Raytracing kiegészítést alkalmazni, a Microsoft általános megoldása ugyanis csak háromszögeket támogat. A Crytek magoldásának hátránya, hogy jóval nehezebb implementálni, hiszen szükséges hozzá egy olyan rendszer, amely a CPU segítségéve gyorsan képes voxelek szintjén reprezentálni az adott jelenetet, de ilyen már van a CryEngine-ben, tehát innen már csak egy lépésre volt Total Illumination alapjaira épített visszaverődés effekt.

A hatás lényegében ugyanaz, mint ami például a Battlefield V-ben látható, csak éppen DirectX Raytracing nélkül. A Crytek még optimalizálja a rendszert, így konkrét sebességet nem mondtak, ugyanakkor 4K-ban futott a Neon Noir demonstráció a fentebb említett VGA-n, ami már eleve elég kellemes. Maga a Vulkan és DirectX 12 API-n elérhető effekt egyébként még kísérleti funkció, arról pedig nincs pontos adat, hogy mikor lesz véglegesítve.

Azóta történt

Előzmények

Hirdetés