DirectX Raytracing (DXR) Tier 1.1 Les noves funcions poden funcionar només amb el suport del controlador sense modificacions importants del maquinari

Maquinari / DirectX Raytracing (DXR) Tier 1.1 Les noves funcions poden funcionar només amb el suport del controlador sense modificacions importants del maquinari 3 minuts de lectura

Xbox



Ray Tracing és sens dubte una característica que els jugadors, especialment amb targetes gràfiques de gamma alta de NVIDIA i AMD, esperen amb ganes. Els principals fabricants de GPU, que aviat inclouran Intel també, estan construint activament el seu maquinari per donar suport a la característica que realitza realment els efectes de llum i ombra basats en les lleis del món real de la física, i aporta imatges hiperrealistes i immersives.

Mentrestant, Microsoft s’assegura que l’ecosistema del sistema operatiu Windows sigui adequat com a plataforma ideal per jugar a jocs de gamma alta. La plataforma DirectX de la companyia, que ha estat durant molt de temps un estàndard líder en jocs d’escriptori, s’està modificant per donar suport de manera nativa i fins i tot potenciar el “Ray Tracing en temps real”. De fet, el DirectX Raytracing (DXR) Tier 1.1 és l’últim estàndard que admet un conjunt de noves funcions. Algunes de les funcions apassionants que el traçat de raigs en temps real podria suportar a la funció propera inclouen el traçat de raigs en línia, Truques DispatchRays () mitjançant ExecuteIndirect () , Objectes d'estat creixent mitjançant AddToStateObject () , GeometryIndex () en ombres de traçat de raigs , i més. Vegem algunes de les noves funcions que DirectX 12 per a Windows 10 admetrà per al traçat de raigs.



Seguiment de raigs en línia:

Una forma alternativa de traçat de raigs, el traçat de raigs en línia no utilitza cap ombrejat dinàmic ni cap taula de sombreadors. L’API de la funció amaga l’accés a l’estructura d’acceleració (per exemple, el recorregut de l’estructura de dades, el quadre, la intersecció del triangle). Això el deixa essencialment al maquinari / controlador. Curiosament, tot el codi d’aplicació necessari per gestionar tant les visites de candidats enumerades com el resultat d’una consulta (p. Ex., Xoc contra miss) pot contenir-se de manera autònoma a l’ombra que condueix el RayQuery .



El traçat de raigs en línia ofereix als desenvolupadors l’opció d’impulsar més processos de traçat de raigs, en lloc de lliurar la planificació de treball completament al sistema. No cal afegir que aquesta optimització de processos és molt útil per a desenvolupadors que estan sumint ombres múltiples. A més, els desenvolupadors tenen total llibertat per canviar dinàmicament al formulari en línia per obtenir raigs recursius simples.



DispatchRays () Trucades mitjançant ExecuteIndirect ():

Aquesta característica permet als shaders de la GPU generar una llista de DispatchRays () trucades. Aquests inclouen paràmetres individuals com el recompte de fils, la configuració de la taula de sombres i altres paràmetres arrel. El millor aspecte de la funció és que tota la llista es pot executar sense que el procés necessiti mai un viatge d’anada i tornada intermedi cap a la CPU.



Tots els escenaris que preparen el treball de traçat de raigs a la GPU i que després generen immediatament, haurien de beneficiar-se enormement de la funció. No cal afegir-ho, aquesta funció hauria d’ajudar molt amb diversos escenaris de traçat de raigs adaptatius, com ara la selecció, l’ordenació, la classificació i el refinament basats en els ombres.

Objectes d'estat en creixement mitjançant AddToStateObject ():

Una característica d’optimització, aquesta nova intenta reduir els fils de processament inútils. Un bon nombre d’aplicacions i processos actuals creen una canalització de rastreig de raigs completament poblada, que malgasta molts recursos i carrega el sistema. Actualment, el temps d'execució D3D12 encara analitza l'objecte d'estat complet que es crea a partir de blocs de construcció.

Tot i que es fa per verificar la correcció, amb AddToStateObject () , es pot crear un nou objecte d'estat afegint ombres a un objecte d'estat de sombra existent. No cal afegir que la sobrecàrrega de la CPU només serà proporcional a les dades que s’afegeixen.

GeometryIndex () A Ray Tracing Shaders:

Aquesta característica permet als shaders distingir geometries dins de les estructures d’acceleració del nivell inferior. Abans, les geometries es podien distingir per variar les dades dels registres de les taules de sombres per a cada geometria, però amb el nou mètode l’aplicació s’allibera de la càrrega. A més, si totes les geometries comparteixen el mateix ombrador, l'aplicació pot optar per configurar el fitxer MultiplierForGeometryContributionToHitGroupIndex paràmetre a TraceRay () 0.

Això assegurarà essencialment que l’índex de geometria deixi d’incidir en el càlcul d’indexació de taules de sombreadors de funció fixa. Tot i així, si es necessita o es vol, els shaders poden utilitzar-los GeometryIndex () per indexar a les estructures de dades de l’aplicació.

A més de les funcions esmentades, el DirectX Raytracing (DXR) Tier 1.1 també inclou RAY_FLAG_SKIP_TRIANGLES i RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES banderes. Tot i que aquests indicadors estan disponibles per a trucades de raytracing individuals, també es poden declarar globalment mitjançant la configuració de canalitzacions de raytracing.

Queda clarament clar que Microsoft està intentant optimitzar DirectX 12 per a jocs intensius en gràfics. A més, amb el traçat de raigs que promet ser una de les funcions més importants per als jocs i jugadors de gamma alta, l’empresa s’assegura que el sistema, la CPU i Les GPU s’utilitzen de manera òptima amb redundàncies mínimes.

Etiquetes directx nvidia traçat de raigs RTX