struktur D3D12_VIEW_INSTANCING_DESC (d3d12.h)
Menentukan parameter yang digunakan selama melihat konfigurasi instancing.
Sintaks
typedef struct D3D12_VIEW_INSTANCING_DESC {
UINT ViewInstanceCount;
const D3D12_VIEW_INSTANCE_LOCATION *pViewInstanceLocations;
D3D12_VIEW_INSTANCING_FLAGS Flags;
} D3D12_VIEW_INSTANCING_DESC;
Anggota
ViewInstanceCount
Menentukan jumlah tampilan yang akan digunakan, hingga D3D12_MAX_VIEW_INSTANCE_COUNT.
pViewInstanceLocations
Alamat lokasi memori yang berisi struktur lokasi instans tampilan ViewInstanceCount yang menentukan lokasi viewport/scissor dan merender detail target dari setiap instans tampilan.
Flags
Mengonfigurasi tampilan instancing dengan opsi tambahan.
Keterangan
Lihat instancing dideklarasikan dalam PSO menggunakan struktur ini. Jumlah instans tampilan diatur dalam PSO untuk memungkinkan pengoptimalan seluruh alur berdasarkan jumlah tampilan.
Melihat instancing dinonaktifkan saat tidak dideklarasikan dalam PSO atau saat ViewInstanceCount diatur ke 0. Saat dinonaktifkan, penyajian berperilaku seolah-olah melihat instancing diaktifkan dan ViewInstanceCount diatur ke 1; shader hanya melihat nilai 0 dalam SV_ViewID dan hanya satu instans tampilan yang diproduksi. Ini memungkinkan shader yang sadar melihat instancing untuk tetap digunakan dalam PSO yang menonaktifkannya. Beberapa adaptor mungkin mendukung model shader 6.1 (yang mengekspos SV_ViewID) tetapi tidak melihat instancing; adaptor ini masih harus mendukung shader yang memasukkan SV_ViewID di PSO yang menyatakan ViewInstanceCount sebagai 0 atau 1.
Shader sebelum rasterisasi dapat menghasilkan nilai SV_RenderTargetArrayIndex dan SV_ViewportArrayIndex yang tidak harus bergantung pada SV_ViewID. Untuk menghitung indeks efektif akhir viewport dan merender target di mana primitif akan dikirim, nilai-nilai ini, ketika ada, ditambahkan ke nilai ViewportArrayIndex dan RenderTargetArrayIndex dari lokasi instans tampilan yang dideklarasikan dalam PSO. Jika indeks komputasi berada di luar rentang (yaitu, ketika indeks lebih besar dari jumlah viewport atau merender elemen target dalam array masing-masing) maka indeks efektif menjadi 0.
Untuk shader yang secara dinamis memilih indeks target viewport atau render, aplikasi dapat mengatur semua lokasi instans tampilan yang dideklarasikan dalam PSO ke satu nilai (seperti 0) untuk bertindak sebagai indeks dasar seragam tempat nilai SV_RenderTargetArrayIndex dan SV_ViewportArrayIndex yang dipilih secara dinamis ditambahkan.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | d3d12.h |