DirectX Raytracing (DXR) Tier 1.1 Nove funkcije lahko delujejo s samo podporo gonilnikov brez težkih sprememb strojne opreme

Strojna oprema / DirectX Raytracing (DXR) Tier 1.1 Nove funkcije lahko delujejo s samo podporo gonilnikov brez težkih sprememb strojne opreme 3 minute branja

Xbox



Ray Tracing je zagotovo lastnost, ki jo igralci, še posebej z vrhunskimi grafičnimi karticami NVIDIA in AMD, nestrpno pričakujejo. Vodilni proizvajalci grafičnih procesorjev, ki bodo kmalu vključili tudi Intel, aktivno gradijo svojo strojno opremo, ki podpira funkcijo, ki realistično upodablja svetlobne in senčne učinke, ki temeljijo na fizičnih zakonih iz resničnega sveta, in prinaša hiperrealistične in imerzivne vizualne elemente.

Medtem Microsoft zagotavlja, da je ekosistem Windows OS primeren kot idealna platforma za igranje vrhunskih iger. Podjetje DirectX platforma, ki je že dolgo vodilni standard za namizne igre na srečo, je bila spremenjena tako, da izvirno podpira in celo pospešuje ‘Real-time Ray Tracing’. Dejansko je DirectX Raytracing (DXR) Tier 1.1 najnovejši standard, ki podpira nabor novih funkcij. Nekatere zanimive funkcije, ki bi jih v bližnji funkciji lahko spremljalo sledenje žarkov v realnem času, vključujejo vgrajeno sledenje žarkom, Klici DispatchRays () prek ExecuteIndirect () , Gojenje državnih objektov prek AddToStateObject () , GeometryIndex () v senčnikih za sledenje žarkom , in več. Oglejmo si nekaj novih funkcij, ki jih bo DirectX 12 za Windows 10 podpiral za sledenje žarkom.



Vgrajeno sledenje žarkom:

Alternativna oblika sledenja žarkom, vrstno sledenje žarkom ne uporablja nobenih ločenih dinamičnih senčnikov ali tabel senčnikov. API za funkcijo skriva dostop do strukture pospeševanja (npr. Prehod strukture podatkov, polje, križišče trikotnika). To v bistvu prepušča strojni opremi / gonilniku. Zanimivo je, da je vsa potrebna koda aplikacije za obdelavo tako naštetih zadetkov kandidata kot rezultata poizvedbe (npr. Hit vs miss) lahko samostojna v senčniku, ki poganja RayQuery .



Vgrajeno sledenje žarkom ponuja razvijalcem možnost, da si prizadevajo za več postopkov sledenja žarkom, namesto da bi v celoti predali razporejanje dela sistemu. Ni treba posebej poudarjati, da je ta optimizacija procesov zelo koristna za razvijalce, ki se mutijo z več sencami. Poleg tega imajo razvijalci popolno svobodo dinamičnega preklopa v vrstico za preproste rekurzivne žarke.



Klici DispatchRays () prek ExecuteIndirect ():

Ta funkcija omogoča senčnikom na GPU, da ustvarijo seznam DispatchRays () klici. Sem spadajo posamezni parametri, kot so štetje niti, nastavitve tabele senčil in druge nastavitve korenskih parametrov. Najboljši vidik funkcije je, da je mogoče celoten seznam izvesti, ne da bi postopek kdaj potreboval vmesno povratno vožnjo nazaj v CPU.



Vsi scenariji, ki pripravijo delo s sledenjem žarkov na GPU in ga nato takoj ustvarijo, bi morali imeti izjemno korist od funkcije. Ni treba posebej poudarjati, da bi morala ta funkcija veliko pomagati pri več scenarijih prilagodljivega sledenja žarkom, kot so odstranjevanje, razvrščanje, razvrščanje in izboljšanje na osnovi senčnikov.

Gojenje državnih predmetov prek AddToStateObject ():

Funkcija za optimizacijo poskuša zmanjšati potratne niti obdelave. Kar nekaj aplikacij in procesov danes ustvarja popolnoma naseljen cevovod za sledenje žarkom, ki zapravlja veliko virov in obremenjuje sistem. Trenutno izvajalno okolje D3D12 še vedno razčleni objekt celotnega stanja, ki je bil ustvarjen iz gradnikov.

Čeprav se to naredi za preverjanje pravilnosti, z AddToStateObject () , nov objekt stanja je mogoče ustvariti z dodajanjem senčnikov obstoječemu objektu stanja senčnikov. Ni treba posebej poudarjati, da bodo režijski stroški procesorja ostali sorazmerni samo z dodanimi podatki.

GeometryIndex () V senčnikih za sledenje žarkom:

Ta funkcija senčnikom omogoča razlikovanje geometrij znotraj pospeševalnih struktur na spodnji ravni. Prej bi lahko geometrijo razlikovali s spreminjanjem podatkov v zapisih senčnih tabel za vsako geometrijo, vendar je z novo metodo aplikacija osvobojena. Poleg tega, če imajo vse geometrije isti senčnik, se lahko aplikacija odloči za nastavitev MultiplierForGeometryContributionToHitGroupIndex parameter do TraceRay () 0.

To bo v bistvu zagotovilo, da indeks geometrije ne bo več upošteval izračunov indeksiranja tabele s senzorji s fiksno funkcijo. Kljub temu lahko senčnike po potrebi ali želji uporabite GeometryIndex () za indeksiranje v lastne podatkovne strukture aplikacije.

Poleg zgoraj omenjenih funkcij vključuje tudi DirectX Raytracing (DXR) Tier 1.1 RAY_FLAG_SKIP_TRIANGLES in RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES zastave. Te zastavice so sicer na voljo za posamezne klice za sledenje žarkom, vendar jih je mogoče tudi globalno prijaviti s pomočjo konfiguracije cevovoda za traženje žarkov.

Jasno je, da Microsoft poskuša optimizirati DirectX 12 za grafično intenzivne igre. Poleg tega, ker se sledenje žarkom obeta kot ena najpomembnejših lastnosti vrhunskih iger in igralcev, podjetje zagotavlja, da sistem, CPU in GPU je optimalno izkoriščen z minimalnimi presežki.

Oznake directx nvidia sledenje žarkom RTX