Ang DirectX Raytracing (DXR) Tier 1.1 Mga Bagong Tampok ay Maaaring Magtrabaho Sa Suporta Lang ng Driver Nang Walang Malakas na Pagbabago ng Hardware

Hardware / Ang DirectX Raytracing (DXR) Tier 1.1 Mga Bagong Tampok ay Maaaring Magtrabaho Sa Suporta Lang ng Driver Nang Walang Malakas na Pagbabago ng Hardware Basahin ang 3 minuto

Xbox



Ang Ray Tracing ay tiyak na isang tampok na sabik na hinihintay ng mga manlalaro, lalo na sa mga high-end graphics card mula sa NVIDIA at AMD. Ang mga nangungunang gumagawa ng GPU, na malapit na isama din ang Intel, ay aktibong nagtatayo ng kanilang hardware upang suportahan ang tampok na makatotohanang nagbibigay ng ilaw at anino na epekto batay sa mga batas sa pisika ng real-world, at nagdudulot ng sobrang makatotohanang at nakaka-engganyong mga visual.

Samantala, tinitiyak ng Microsoft na ang ecosystem ng Windows OS ay nababagay na angkop bilang isang perpektong platform upang maglaro ng mga high-end na laro. Ang platform ng DirectX ng kumpanya, na matagal nang nangungunang pamantayan para sa paglalaro sa desktop, ay na-tweak upang likas na suportahan at palakasin din ang 'Real-time Ray Tracing'. Sa katunayan, ang DirectX Raytracing (DXR) Tier 1.1 ay ang pinakabagong pamantayan na sumusuporta sa isang hanay ng mga bagong tampok. Ang ilan sa mga kapanapanabik na tampok na maaaring suportahan ng real-time ray-tracing sa malapit na tampok ay may kasamang inline ray tracing, Ang mga tawag sa DispatchRays () sa pamamagitan ng ExecutIndirect () , Lumalagong mga bagay ng estado sa pamamagitan ng AddToStateObject () , GeometryIndex () sa raytracing shaders , at iba pa. Tingnan natin ang ilan sa mga bagong tampok na susuportahan ng DirectX 12 para sa Windows 10 para sa pagsubaybay sa ray.



Pagsubaybay sa Inline Ray:

Ang isang kahaliling anyo ng pagsubaybay sa sinag, pagsubaybay ng inline na ray ay hindi gumagamit ng anumang magkakahiwalay na mga Dynamic na shader o talahanayan ng shader. Itinatago ng API para sa tampok ang pag-access sa istraktura ng pagpabilis (hal. Traversal ng istraktura ng data, kahon, interseksyon ng tatsulok). Mahalaga na iniiwan ito sa hardware / driver. Nang kawili-wili, ang lahat ng kinakailangang code ng app para sa paghawak ng parehong na-enumerong mga hit ng kandidato at ang resulta ng isang query (hal. Hit vs miss) ay maaaring magkaroon ng sarili sa shader na nagmamaneho ng RayQuery .



Ang inline ray tracing ay nag-aalok ng mga pagpipilian sa mga developer na itulak para sa higit pang mga proseso ng pagsubaybay ng ray, taliwas sa pag-abot ng iskedyul ng trabaho sa system. Hindi na kailangang idagdag, ang pag-optimize ng mga proseso na ito ay lubos na kapaki-pakinabang para sa mga developer na nakikipag-jostling sa maraming mga anino. Bukod dito, ang mga tagabuo ay may kumpletong kalayaan na pabago-bagong lumipat sa inline form para sa mga simpleng recursive ray.



DispatchRays () Mga tawag sa pamamagitan ng ExecutIndirect ():

Ang tampok na ito ay nagbibigay-daan sa mga shader sa GPU upang makabuo ng isang listahan ng DispatchRays () tawag. Kasama rito ang mga indibidwal na parameter tulad ng bilang ng thread, mga setting ng talahanayan ng shader at iba pang mga setting ng root parameter. Ang pinakamagandang aspeto ng tampok ay ang buong listahan ay maaaring maipatupad nang walang proseso na nangangailangan ng isang intermediate na round-trip pabalik sa CPU.



Ang lahat ng mga sitwasyon na naghahanda ng paggana ng raytracing sa GPU at pagkatapos ay agad na itlog ito, dapat na napakalaking makikinabang mula sa tampok. Hindi na kailangang idagdag, ang tampok na ito ay dapat makatulong ng maraming sa maraming mga adaptive na sitwasyon ng raytracing tulad ng shader-based culling, pag-uuri, pag-uuri, at pagpipino.

Lumalagong Mga Bagay ng Estado sa pamamagitan ng AddToStateObject ():

Isang tampok sa pag-optimize, sinusubukan ng bago na ito na mabawasan ang mga nasasayang na mga thread sa pagproseso. Medyo ilang mga app at proseso ngayon lumikha ng isang buong populasyon na sinubaybayan ang pipeline, na nagsasayang ng maraming mga mapagkukunan at pinapasan ang system. Sa kasalukuyan, ang D3D12 runtime ay parse parse pa rin ang buong object ng estado na nilikha mula sa mga bloke ng gusali.

Kahit na ginagawa ito upang mapatunayan ang kawastuhan, kasama ang AddToStateObject () , ang isang bagong object ng estado ay maaaring gawin sa pamamagitan ng pagdaragdag ng mga shader sa isang mayroon nang object ng estado ng shader. Hindi na kailangang idagdag, ang overhead ng CPU ay mananatiling proporsyonal lamang sa idinagdag na data.

GeometryIndex () Sa Ray Tracing Shaders:

Pinapayagan ng tampok na ito ang mga shader na makilala ang mga geometry sa loob ng mga istraktura ng acceleration sa ilalim ng antas. Mas maaga, ang mga geometry ay maaaring makilala sa pamamagitan ng iba't ibang data sa mga record ng talahanayan ng shader para sa bawat geometry, ngunit sa bagong pamamaraan, ang app ay napalaya mula sa pasanin. Bukod dito, kung ang lahat ng mga geometry ay nagbabahagi ng parehong shader, maaaring piliin ng app na itakda ang MultiplierForGeometryContributionToHitGroupIndex parameter sa TraceRay () 0

Ito ay mahalagang tiyakin na ang indeks ng geometry ay wala nang mga kadahilanan sa pagkalkula ng pag-index ng talahanayan na naayos na-function na. Gayunpaman, kung kinakailangan o ninanais, maaaring gamitin ng mga shader GeometryIndex () upang mai-index sa sariling mga istruktura ng data ng app.

Bilang karagdagan sa mga nabanggit na tampok, kasama rin ang DirectX Raytracing (DXR) Tier 1.1 RAY_FLAG_SKIP_TRIANGLES at RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES mga watawat Habang ang mga watawat na ito ay magagamit sa mga indibidwal na mga tawag sa raytracing, maaari rin silang ideklara sa buong mundo sa pamamagitan ng pagsasaayos ng pipeline ng raytracing.

Malinaw na malinaw na sinusubukan ng Microsoft na i-optimize ang DirectX 12 para sa mga larong masinsinang graphics. Bukod dito, sa pagsubaybay sa ray na nangangako na maging isa sa pinakamahalagang tampok para sa mga laro na high-end at manlalaro, tinitiyak ng kumpanya na ang system, CPU, at Ang GPU ay may pinakamabuting paggamit na may kaunting mga kalabisan.

Mga tag direkta nvidia pag-raytracing RTX