dcl_input vGSInstanceID (sm5 - asm)
Aktifkan instancing shader geometri.
dcl_input vGSInstanceID, instanceCount |
---|
Item | Deskripsi |
---|---|
vGSInstanceID |
[in] ID instans. |
instanceCount |
[in] Jumlah instans. |
Keterangan
Parameter instanceCount dari deklarasi menentukan berapa banyak instans yang harus dijalankan shader geometri untuk setiap primitif input. Nilai maksimum untuk instanceCount adalah 32.
Jumlah maksimum simpul yang dideklarasikan untuk output, melalui dcl_maxOutputVertexCount, berlaku secara individual untuk setiap instans.
Jumlah instans dalam deklarasi ini, dikalikan dengan jumlah puncak maksimum per instans melalui dcl_maxOutputVertexCount, harus <= 1024.
Jumlah data yang dapat dipancarkan instans shader geometri tertentu adalah maksimum 1024 skalar, divalidasi dengan menghitung semua skalar yang dideklarasikan untuk input dan dikalikan dengan jumlah vertex output yang dinyatakan.
Penggunaan instancing shader geometri secara efektif meningkatkan jumlah total data yang dapat dipancarkan per primitif input. 1024 skalar untuk satu instans menghasilkan hingga 1024 * 32 skalar data output di semua instans shader geometri untuk satu primitif input. Namun semakin banyak instans, semakin sedikit simpul yang dapat dimunculkan setiap instans. Satu instans (tanpa instancing) dapat memancarkan 1024 simpul. Jika Anda mendeklarasikan *32 instans, artinya setiap instans hanya dapat menghasilkan 1024/32 = 32 simpul.
Deklarasi instancing shader geometri menyediakan untuk program register input bilangan bulat 32-bit mandiri, vGSInstanceID. Setiap instans shader geometri diidentifikasi oleh nilai yang terkandung dalam vGSInstanceID [0,1,2...].
vGSInstanceID bukan bagian dari array verteks input shader geometri (misalnya 3 simpul saat memasukkan segitiga). Register vGSInstanceID berdiri sendiri, seperti vPrimitiveID.
Ketika setiap instans shader geometri berakhir, ada potongan implisit dalam topologi output, sehingga instans berturut-turut tidak bergantung satu sama lain.
Meskipun perangkat keras dapat menjalankan setiap instans shader geometri secara paralel, output semua instans di akhir diserialisasikan seolah-olah semua pemanggilan shader geometri yang di-instans berjalan secara berurutan dalam perulangan iterasi vGSInstanceID dari 0 ke instanceCount-1, dengan pemotongan topologi output implisit di akhir setiap instans.
Instruksi ini berlaku untuk tahap shader berikut:
Puncak | Hull | Domain | Geometri | Pixel | Compute |
---|---|---|---|---|---|
X |
Minimum Shader Model
Instruksi ini didukung dalam model shader berikut:
Shader Model | Didukung |
---|---|
Model Shader 5 | ya |
Model Shader 4.1 | tidak |
Model Shader 4 | tidak |
Shader Model 3 (DirectX HLSL) | tidak |
Shader Model 2 (DirectX HLSL) | tidak |
Shader Model 1 (DirectX HLSL) | tidak |
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk