DirectX Raytracing (DXR) Tier 1.1 Ciri-ciri Baru Boleh Berfungsi Dengan Hanya Sokongan Pemandu Tanpa Pengubahsuaian Perkakasan Berat

Perkakasan / DirectX Raytracing (DXR) Tier 1.1 Ciri-ciri Baru Boleh Berfungsi Dengan Hanya Sokongan Pemandu Tanpa Pengubahsuaian Perkakasan Berat 3 minit membaca

Xbox



Ray Tracing tentunya merupakan ciri yang dinanti-nantikan oleh para pemain, terutamanya dengan kad grafik mewah dari NVIDIA dan AMD. Pembuat GPU terkemuka, yang akan merangkumi Intel juga, secara aktif membangun perkakasan mereka untuk menyokong ciri yang secara realistik memberikan kesan cahaya dan bayangan berdasarkan undang-undang fizik dunia nyata, dan membawa visual yang sangat realistik dan mendalam.

Sementara itu, Microsoft memastikan ekosistem Windows OS sangat sesuai sebagai platform ideal untuk bermain permainan kelas atas. Platform DirectX syarikat, yang telah lama menjadi standard terkemuka untuk permainan desktop, sedang disesuaikan untuk menyokong secara asli dan bahkan meningkatkan 'Real-time Ray Tracing'. Sebenarnya, DirectX Raytracing (DXR) Tier 1.1 adalah standard terkini yang menyokong sekumpulan ciri baru. Beberapa ciri menarik yang dapat ditunjang oleh jejak sinar masa nyata dalam ciri dekatnya ialah penjejakan sinar sebaris, Panggilan DispatchRays () melalui ExecuteIndirect () , Menambah objek keadaan melalui AddToStateObject () , GeometryIndex () dalam shader raytracing , dan banyak lagi. Mari kita lihat beberapa ciri baru yang akan disokong oleh DirectX 12 untuk Windows 10 untuk penelusuran sinar.



Jejak Sinar Sebaris:

Satu bentuk pelacakan sinar alternatif, penjejakan sinar sebaris tidak menggunakan jadual shader dinamik atau shader yang terpisah. API untuk ciri menyembunyikan akses ke struktur pecutan (mis. Struktur data melintang, kotak, persimpangan segitiga). Ini pada dasarnya menyerahkannya kepada perkakasan / pemacu. Menariknya, semua kod aplikasi yang diperlukan untuk menangani hits calon yang dihitung dan hasil pertanyaan (mis. Hit vs miss) dapat dilengkapkan dalam shader yang mendorong RayQuery .



Penjejakan sinar sebaris menawarkan pilihan kepada pemaju untuk mendorong lebih banyak proses penelusuran sinar, berbanding dengan menyerahkan penjadualan kerja sepenuhnya ke sistem. Tidak perlu ditambah, pengoptimuman proses ini sangat berguna untuk pembangun yang sedang bergelut dengan banyak bayangan. Lebih-lebih lagi, para pembangun mempunyai kebebasan sepenuhnya untuk beralih ke bentuk sebaris secara dinamis untuk sinar rekursif sederhana.



Panggilan DispatchRays () melalui ExecuteIndirect ():

Fungsi ini membolehkan shader pada GPU menghasilkan senarai DispatchRays () panggilan. Ini termasuk parameter individu seperti kiraan benang, tetapan jadual shader dan tetapan parameter root yang lain. Aspek terbaik dari ciri ini adalah bahawa keseluruhan senarai dapat dijalankan tanpa proses yang memerlukan perjalanan pergi balik menengah ke CPU.



Semua senario yang menyiapkan kerja penelusuran sinar pada GPU dan kemudian segera memunculkannya, semestinya sangat memanfaatkan fitur ini. Tidak perlu ditambahkan, ciri ini semestinya banyak membantu dengan beberapa senario penelusuran sinar adaptif seperti pemotongan, penyortiran, klasifikasi, dan penyempurnaan berdasarkan shader.

Menambah Objek Negeri melalui AddToStateObject ():

Ciri pengoptimuman, yang baru ini berusaha untuk mengurangkan proses pemprosesan yang membazir. Beberapa aplikasi dan proses hari ini membuat saluran paip sinar yang dihuni sepenuhnya, yang membuang banyak sumber dan membebankan sistem. Pada masa ini, runtime D3D12 masih menguraikan objek keadaan penuh yang dibuat dari blok bangunan.

Walaupun ia dilakukan untuk mengesahkan kebenaran, dengan TambahToStateObject () , objek keadaan baru dapat dibuat dengan menambahkan shader ke objek keadaan shader yang ada. Tidak perlu ditambahkan, overhead CPU akan tetap berkadar hanya dengan data yang ditambahkan.

GeometryIndex () Dalam Ray Tracing Shaders:

Ciri ini membolehkan shader membezakan geometri dalam struktur pecutan tahap bawah. Sebelumnya, geometri dapat dibezakan dengan berbagai data dalam catatan tabel shader untuk setiap geometri, tetapi dengan metode baru, aplikasi ini dibebaskan dari beban. Lebih-lebih lagi, jika semua geometri mempunyai shader yang sama, aplikasi boleh memilih untuk menetapkan MultiplierForGeometryContributionToHitGroupIndex parameter ke TraceRay () 0.

Ini pada dasarnya akan memastikan indeks geometri tidak lagi menjadi faktor dalam pengiraan pengindeksan jadual shader fungsi tetap. Namun, jika diperlukan atau dikehendaki, shader dapat digunakan GeometriIndeks () untuk mengindeks ke struktur data aplikasi sendiri.

Sebagai tambahan kepada ciri-ciri yang disebutkan di atas, DirectX Raytracing (DXR) Tier 1.1 juga termasuk RAY_FLAG_SKIP_TRIANGLES dan RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES bendera. Walaupun bendera ini tersedia untuk panggilan raytracing individu, mereka juga dapat dinyatakan secara global melalui konfigurasi saluran sinar.

Sudah jelas bahawa Microsoft cuba mengoptimumkan DirectX 12 untuk permainan intensif grafik. Lebih-lebih lagi, dengan penelusuran sinar yang menjanjikan menjadi salah satu ciri terpenting untuk permainan dan pemain kelas atas, syarikat memastikan sistem, CPU, dan GPU digunakan secara optimum dengan pengurangan yang minimum.

Teg directx nvidia jejak sinar RTX