Bemutatta a DirectX Raytracinget a Microsoft

Az újdonság egyfajta kiegészítése lesz a DirectX 12-nek, amely minden compute shadert futtató hardveren üzemképes.

A Microsoft bejelentette a DirectX 12 kiegészítéseként érkező DirectX Raytracinget, amely egy hosszabb távú projekt előfutára, de alapvetően működik, még akkor is, ha csak pár effekt erejéig lehet alkalmazni. Valójában nem egy teljesen különálló API-ról van szó, hanem egy olyan kiegészítésről, amely a DirectX 12 futószalagját sugárkövetéssel turbózza fel. Technikailag persze ez már ma is lehetséges, elvégre most is lehet olyan shadereket írni, amelyek megoldják ezt a munkát, de valójában a DirectX 12 futószalagját nem erre találták ki, és az API parancsai sem kifejezetten a sugárkövetéshez vannak igazítva, függetlenül persze attól, hogy a probléma megoldható.

A DirectX Raytracing itt jut szerephez. Olyan API parancsokkal egészíti ki a DirectX 12-t, amelyekkel lehetővé válik a sugárkövetés egyes feladatainak célhardverrel történő gyorsítása. Itt kis fixfunkciós blokkokra kell gondolni, vagy szimplán speciális utasításokra, amelyek gyorsítanak bizonyos feladatokat. Ezt például a most bemutatott külön kiegészítés nélkül, szimplán DirectX 12-ben nem lehetne megtenni. Ezzel a DirectX Raytracing lényege látszik is, a hogyan kapcsán azonban még rengeteg a kérdés. A Microsoft biztosította magát a felületet a működéshez, míg a gyártók számára ki kell találni, hogy miképp lehetnek a sugárkövetés egyes szakaszait gyorsítani. Sőt, az is kérdés, hogy mely szakaszoknál éri meg ezzel foglalkozni.

A működés tekintetében a Microsoft elmondta, hogy maga a DirectX Raytracing nem feltétlenül igényel új hardvereket. Az új API parancsokat minden olyan grafikus vezérlő feldolgozza, amely támogatja a compute shadereket. Gyakorlatilag a DirectX Raytracing alapja a DirectCompute, ami a GPU általános számítási képességeit használja ki. Ilyen formában a gyártóknak igazából még támogatást sem kötelező írni, a DirectX 12 ugyanis kiegészül egy fallback layerrel, ami gyakorlatilag arra szolgál, hogy a DirectX Raytracing API parancsait feldolgozza a meglévő meghajtókkal. A futtatás tehát a gyártó akaratától függetlenül is garantált, ha az adott grafikus vezérlőhöz van DirectX 12-es meghajtó, ezen belül pedig a megfelelő shader modell mellett elérhető a compute shaderek futtatásának lehetősége. Ez a feltétel gyakorlatilag minden olyan hardvernél teljesül, amelyet ma meg lehet vásárolni a boltokban.

A DirectX Raytracing viszont nem zárja ki a különálló meghajtókat sem, amikor az adott gyártó egy specifikus implementációval a feldolgozás egy adott szakaszát valamilyen módon gyorsítja. Ehhez nyilván nem elég a fallback layer, mert az csak szimplán szabványos compute shadert használ. Természetesen az alkalmazások futtatásához a legfrissebb Windows 10 operációs rendszerre szükség lesz, hiszen ez tartalmazza magát a kiegészítést, amit célozni lehet. Nagyon fontos az is, hogy maga a DirectX Raytracing csak a DirectX 12-vel kompatibilis.

A gyártók szempontjából az NVIDIA már bejelentette, hogy a Volta architektúrára épülő Titan V külön meghajtóval támogatja majd a DirectX Raytracinget, vagyis nem a Microsoft fallback layert használja, így a feldolgozás bizonyos szakaszait gyorsítja, de az még nem derült ki, hogy melyeket. A gyorsítás a GameWorks RTX middleware-en keresztül kihasználható lesz, amely egyelőre három, korai hozzáférés formájában elérhető effektet kínál a fejlesztőknek beépítésre: Area Shadows, Glossy Reflection és Ambient Occlusion. Ezek egyébként sugárkövetés nélkül is megvalósíthatók, de a minőségük nem lesz olyan jó.


[+]

A Pascal, Maxwell és Kepler architektúrára épülő GeForce-ok nem kapnak külön meghajtót, ezek szimplán a fallback layerrel fognak működni, vagyis az aktuális DirectCompute implementációval futtatják majd az effekteket. Az NVIDIA szerint erre mindegyik régebbi hardver képes lesz, de játszható sebességet egyiktől sem érdemes várni.

Az AMD – saját elmondása szerint – külön meghajtót készít a DirectX Raytracingre, de arról nincs részletes adat, hogy ez az összes GCN-hez jön-e, vagy csak az újabb verziókhoz, és akkor a régebbiek számára marad a fallback layer. Ezzel kapcsolatban várni kell a további bejelentésekre.

Az Intel egyelőre nem reagált a DirectX Raytracingre, de nyilván a fallback layer technikailag üzemképes lesz az újabb IGP-iken.

A fejlesztők közül az Epic Games, a Futuremark, a Unity, valamint az Electronic Arts DICE és SEED részlege közölte, hogy érdeklődik a DirectX Raytracing iránt. A Microsoft ugyan az A4 Games néven ismert stúdiót nem jegyzi, de az NVIDIA szerint ők is támogatni fogják az új lehetőségeket.

Azóta történt

Előzmények

Hirdetés