DirectX Raytracing (DXR) Razina 1.1 Nove značajke mogu raditi samo s podrškom za upravljačke programe bez teške hardverske modifikacije

Hardver / DirectX Raytracing (DXR) Razina 1.1 Nove značajke mogu raditi samo s podrškom za upravljačke programe bez teške hardverske modifikacije 3 minute čitanja

Xbox



Ray Tracing zasigurno je značajka koju igrači, posebno s vrhunskim grafičkim karticama NVIDIA-e i AMD-a, s nestrpljenjem čekaju. Vodeći proizvođači grafičkih procesora, koji će uskoro uključiti i Intel, aktivno grade svoj hardver kako bi podržali značajku koja realistično prikazuje efekte svjetla i sjene temeljene na stvarnim zakonima fizike te donosi hiperrealistične i imerzivne slike.

U međuvremenu, Microsoft osigurava da ekosustav Windows OS dobro odgovara kao idealna platforma za igranje vrhunskih igara. Tvrtkina DirectX platforma, koja je već dugo vodeći standard za igre na računalu, dorađena je kako bi podržala izvorno, pa čak i pojačala 'Traganje zraka u stvarnom vremenu'. Zapravo je DirectX Raytracing (DXR) Tier 1.1 najnoviji standard koji podržava skup novih značajki. Neke od uzbudljivih značajki koje bi praćenje zraka u stvarnom vremenu moglo podržati u bliskoj značajci uključuju ugrađeno traženje zraka, Pozivi DispatchRays () putem ExecuteIndirect () , Uzgoj državnih objekata putem AddToStateObject () , GeometryIndex () u sjenčanjima za traženje zraka , i više. Pogledajmo neke od novih značajki koje će DirectX 12 za Windows 10 podržavati za traženje zraka.



Ugrađeno traženje zraka:

Alternativni oblik traženja zraka, ugrađeni trag zraka ne koristi nikakve odvojene dinamičke sjene ili tablice sjenčanja. API za značajku skriva pristup strukturi ubrzanja (npr. Prelazak strukture podataka, presjek okvira, trokuta). To u osnovi prepušta hardveru / upravljačkom programu. Zanimljivo je da se sav potreban kôd aplikacije za obradu pobrojanih pogodaka kandidata i rezultata upita (npr. Pogodak vs promašaj) može samostalno sadržavati u zasjenjenju koji pokreće RayQuery .



Ugrađeno traženje zraka nudi programerima mogućnost da zahtijevaju više procesa traženja zraka, za razliku od predavanja rasporeda poslova u potpunosti sustavu. Nepotrebno je dodavati, ova optimizacija procesa vrlo je korisna za programere koji se prepucavaju s više sjena. Štoviše, programeri imaju potpunu slobodu dinamičkog prelaska na ugrađeni oblik za jednostavne rekurzivne zrake.



DispatchRays () pozivi putem ExecuteIndirect ():

Ova značajka omogućuje sjenčanicima na GPU-u da generiraju popis Otpremni zraci () poziva. To uključuje pojedinačne parametre poput broja niti, postavki tablice sjenčanja i ostale postavke korijenskih parametara. Najbolji aspekt značajke je taj da se cijeli popis može izvršiti bez da je procesu ikad potrebno srednje povratno vraćanje na CPU.



Svi scenariji koji pripremaju rad s traženjem zraka na GPU-u, a zatim ga odmah stvaraju, trebali bi imati ogromnu korist od ove značajke. Nepotrebno je dodavati, ova bi značajka trebala puno pomoći u nekoliko scenarija prilagodljivog traženja zraka, poput odbacivanja, sortiranja, klasifikacije i pročišćavanja na temelju zasjene.

Uzgoj državnih objekata putem AddToStateObject ():

Značajka optimizacije, ova nova pokušava smanjiti rasipne niti obrade. Dosta aplikacija i procesa danas stvara potpuno naseljeni cjevovod za traženje zraka, koji troši puno resursa i opterećuje sustav. Trenutno D3D12 vrijeme izvođenja još uvijek raščlanjuje objekt cijelog stanja koji je stvoren iz građevinskih blokova.

Iako je to učinjeno radi provjere ispravnosti, pomoću AddToStateObject () , novi objekt stanja može se izraditi dodavanjem sjene u postojeći objekt stanja sjene. Nepotrebno je dodavati da će opći troškovi procesora ostati proporcionalni samo podacima koji se dodaju.

GeometryIndex () u sjenčanjima za praćenje zraka:

Ova značajka omogućuje sjenčanicima da razlikuju geometrije unutar struktura za ubrzanje donje razine. Ranije bi se geometrije mogle razlikovati mijenjanjem podataka u zapisima tablice zasjenjivanja za svaku geometriju, no novom se metodom aplikacija oslobađa tereta. Štoviše, ako sve geometrije dijele isti sjenač, aplikacija može odabrati postavljanje MnožiteljForGeometryContributionToHitGroupIndex parametar do TraceRay () 0.

To će u osnovi osigurati da geometrijski indeks više ne utječe na izračun indeksiranja tablice s osijanjem s fiksnom funkcijom. Ipak, ako je potrebno ili željeno, sjene mogu koristiti GeometryIndex () za indeksiranje u vlastite strukture podataka aplikacije.

Uz gore spomenute značajke, DirectX Raytracing (DXR) Tier 1.1 također uključuje RAY_FLAG_SKIP_TRIANGLES i RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES zastave. Iako su ove zastavice dostupne za pojedinačne pozive za traženje zraka, one se također mogu globalno deklarirati putem konfiguracije cjevovoda za traženje zraka.

Jasno je da Microsoft pokušava optimizirati DirectX 12 za grafički intenzivne igre. Štoviše, s traženjem zraka koji obećava da će biti jedna od najvažnijih karakteristika za vrhunske igre i igrače, tvrtka osigurava da sustav, CPU i GPU se optimalno koristi uz minimalne viškove.

Oznake directx nvidia traženje zraka RTX