Xbox
A Ray Tracing minden bizonnyal olyan funkció, amelyet a játékosok, különösen az NVIDIA és az AMD csúcskategóriás grafikus kártyáival, nagyon várnak. A GPU-k vezető gyártói, amelyekbe hamarosan beletartozik az Intel is, aktívan építik hardvereiket, hogy támogassák azt a funkciót, amely valósághűvé teszi a fény és árnyék effektusokat a valós fizikai törvények alapján, és hiperrealisztikus és magával ragadó látványt nyújt.
Eközben a Microsoft biztosítja, hogy a Windows operációs rendszer ökoszisztémája ideális platform legyen csúcskategóriás játékok lejátszásához. A vállalat DirectX platformját, amely már régóta vezető szabvány az asztali játékokban, natívan támogatják, sőt fokozzák a „Valós idejű sugárkövetést”. Valójában a DirectX Raytracing (DXR) Tier 1.1 a legújabb szabvány, amely számos új funkciót támogat. Néhány olyan izgalmas szolgáltatás, amelyet a valós idejű sugárkövetés támogathat a közeli szolgáltatásban, többek között a soron belüli sugárkövetés, DispatchRays () hívások az ExecuteIndirect () keresztül , Növekvő állapotobjektumok az AddToStateObject () segítségével , GeometryIndex () sugárkövető árnyékolókban , és több. Nézzünk meg néhány új funkciót, amelyeket a DirectX 12 for Windows 10 támogat a sugárkövetéshez.
Soros sugárkövetés:
A sugárkövetés alternatív formája, az inline sugárkövetés nem használ külön dinamikus árnyékolókat vagy árnyékoló táblázatokat. A szolgáltatás API elrejti a gyorsulási struktúrához való hozzáférést (pl. Az adatstruktúra áthaladása, doboz, háromszög kereszteződése). Ez lényegében a hardver / illesztőprogramra bízza. Érdekes, hogy mind a felsorolt jelölt találatok, mind a lekérdezés (pl. Találat vagy hiány) eredményeinek kezeléséhez szükséges összes alkalmazáskód magában foglalhatja a RayQuery .
A beágyazott sugárkövetés lehetőséget nyújt a fejlesztőknek arra, hogy több sugárkövetési folyamatra törekedjenek, szemben azzal, hogy a munkaütemezést teljes egészében a rendszernek adják át. Felesleges hozzáfűznünk, hogy a folyamatok ez az optimalizálása nagyon hasznos azoknak a fejlesztőknek, akik több árnyékkal lökdösődnek. Sőt, a fejlesztőknek teljes szabadságuk van arra, hogy az egyszerű rekurzív sugarak érdekében dinamikusan váltsanak az inline formára.
A DirectX 12 - DirectX Raytracing (DXR) 1.1-es szint elérése https://t.co/DRwWSaZtL8
- DirectX 12 (@ DirectX12) 2019. november 6
DispatchRays () hívások az ExecuteIndirect () útján:
Ez a funkció lehetővé teszi, hogy a GPU árnyékolói létrehozzák a listát DispatchRays () hívások. Ezek magukban foglalják az egyes paramétereket, például a szálszámot, az árnyékolótáblázat beállításait és más gyökérparaméter-beállításokat. A szolgáltatás legjobb szempontja, hogy a teljes lista végrehajtható anélkül, hogy a folyamatnak bármikor szüksége lenne egy közbenső oda-vissza útra a CPU-hoz.
Minden olyan forgatókönyvnek, amely előkészíti a sugárkövetési munkát a GPU-n, majd azonnal előidézi, óriási hasznot kell hoznia a funkcióból. Felesleges hozzáadni, hogy ez a szolgáltatás sokat segíthet számos adaptív sugárkövetési szcenárióban, például árnyékolókon alapuló selejtezés, válogatás, osztályozás és finomítás.
A DirectX Raytracing lendülete tovább növekszik!
A DXR Tier 1.1 és Turing hálós árnyékoló funkciója hozzáadódik a DX12-hez. Mindegyik először és csak a GeForce GPU-kon támogatott. pic.twitter.com/WgwysQnAR5
- NVIDIA GeForce (@NVIDIAGeForce) 2019. október 29
Növekvő állami objektumok az AddToStateObject () segítségével:
Ez az új optimalizálási funkció megkísérli csökkenteni a pazarló feldolgozási szálakat. Napjainkban számos alkalmazás és folyamat létrehoz egy teljesen feltöltött sugárkövetési csővezetéket, amely rengeteg erőforrást pazarol és megterheli a rendszert. Jelenleg a D3D12 futásideje még elemzi a létrehozott teljes állapot objektumot építőelemekből.
Annak ellenére, hogy a helyesség ellenőrzésére szolgál, a AddToStateObject () , új állapotobjektum készíthető árnyékolók hozzáadásával egy meglévő árnyékoló állapotobjektumhoz. Felesleges hozzáfűzni, hogy a CPU általános költségei csak a hozzáadott adatokkal arányosak maradnak.
A szabályok megváltoztak.
Izgatottan látom, hogy a DirectX Raytracing a Call of Duty-ra érkezik: #Modern hadviselés pic.twitter.com/5jgoprReak
- NVIDIA GeForce (@NVIDIAGeForce) 2019. május 30
GeometryIndex () sugárkövető árnyékolókban:
Ez a funkció lehetővé teszi az árnyékolók számára, hogy megkülönböztessék a geometriákat az alsó szintű gyorsulási struktúrákon belül. Korábban a geometriákat meg lehetett különböztetni azáltal, hogy az egyes geometriákra vonatkozó árnyékolótábla-rekordokban az adatok változóak voltak, de az új módszerrel az alkalmazás mentesül a terhek alól. Sőt, ha minden geometriának ugyanaz az árnyékolója van, az alkalmazás választhatja a MultiplierForGeometryContributionToHitGroupIndex paraméter a TraceRay () 0.
Ez lényegében biztosítja, hogy a geometriai index már ne vegye figyelembe a fix függvényű árnyékoló tábla indexelési számítását. Ennek ellenére, ha szükséges vagy kívánatos, az árnyékolók használhatják GeometryIndex () indexelni az alkalmazás saját adatstruktúráiba.
A DirectX Raytracing a Windows 10 rendszerben él https://t.co/kmKwfUQqZz pic.twitter.com/Po8RVkdiXq
- PC Gamer (@pcgamer) 2018. október 3
A fent említett szolgáltatások mellett a DirectX Raytracing (DXR) Tier 1.1 is tartalmazza RAY_FLAG_SKIP_TRIANGLES és RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES zászlók. Míg ezek a jelzők elérhetőek az egyes sugárkövetési hívások számára, sugárkövetési folyamatkonfigurációval globálisan is deklarálhatók.
Teljesen világos, hogy a Microsoft megpróbálja optimalizálni a DirectX 12-et grafikailag intenzív játékokhoz. Sőt, mivel a sugárkövetés ígéretes, hogy a csúcskategóriás játékok és játékosok egyik legfontosabb jellemzője, a vállalat biztosítja, hogy a rendszer, a CPU és a A GPU-t optimálisan használják minimális elbocsátásokkal.
Címkék direktx nvidia sugárkövetés RTX