Bagikan melalui


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

Lihat juga

Struktur Inti