struktur D3D11_SIGNATURE_PARAMETER_DESC (d3d11shader.h)
Menjelaskan tanda tangan shader.
Sintaks
typedef struct _D3D11_SIGNATURE_PARAMETER_DESC {
LPCSTR SemanticName;
UINT SemanticIndex;
UINT Register;
D3D_NAME SystemValueType;
D3D_REGISTER_COMPONENT_TYPE ComponentType;
BYTE Mask;
BYTE ReadWriteMask;
UINT Stream;
D3D_MIN_PRECISION MinPrecision;
} D3D11_SIGNATURE_PARAMETER_DESC;
Anggota
SemanticName
Jenis: LPCSTR
String per parameter yang mengidentifikasi bagaimana data akan digunakan. Untuk informasi selengkapnya, lihat Semantik.
SemanticIndex
Jenis: UINT
Indeks semantik yang memodifikasi semantik. Digunakan untuk membedakan parameter berbeda yang menggunakan semantik yang sama.
Register
Jenis: UINT
Register yang akan berisi data variabel ini.
SystemValueType
Jenis: D3D_NAME
Nilai jenis D3D_NAME yang mengidentifikasi string yang telah ditentukan sebelumnya yang menentukan fungsionalitas tahap alur tertentu.
ComponentType
Jenis: D3D_REGISTER_COMPONENT_TYPE
Nilai D3D_REGISTER_COMPONENT_TYPE-jenis yang mengidentifikasi jenis per-komponen-data yang disimpan dalam register. Setiap register dapat menyimpan hingga empat komponen data.
Mask
Jenis: BYTE
Masker yang menunjukkan komponen register mana yang digunakan.
ReadWriteMask
Jenis: BYTE
Masker yang menunjukkan apakah komponen tertentu tidak pernah ditulis (jika tanda tangan adalah tanda tangan output) atau selalu baca (jika tanda tangan adalah tanda tangan input).
Stream
Jenis: UINT
Menunjukkan aliran mana yang digunakan shader geometri untuk parameter tanda tangan.
MinPrecision
Jenis: D3D_MIN_PRECISION
Nilai jenis D3D_MIN_PRECISION yang menunjukkan presisi interpolasi minimum yang diinginkan. Untuk informasi selengkapnya, lihat Menggunakan presisi minimum HLSL.
Keterangan
Shader dapat mengambil input n dan dapat menghasilkan output m. Urutan parameter input (atau output), jenis terkaitnya, dan semantik yang terpasang membentuk tanda tangan shader. Setiap shader memiliki input dan tanda tangan output.
Saat mengkompilasi shader atau efek, beberapa panggilan API memvalidasi tanda tangan shader Yaitu, mereka membandingkan tanda tangan output dari satu shader (seperti shader vertex) dengan tanda tangan input shader lain (seperti shader piksel). Ini memastikan bahwa shader menghasilkan data yang kompatibel dengan shader hilir yang mengkonsumsi data tersebut. Kompatibel berarti bahwa tanda tangan shader adalah subset pencocokan yang tepat dari tahap shader sebelumnya. Kecocokan persis berarti jenis parameter dan semantik harus sama persis. Subset berarti bahwa parameter yang tidak diperlukan oleh tahap hilir, tidak perlu menyertakan parameter tersebut dalam tanda tangan shader-nya.
Dapatkan shader-signature dari shader atau efek dengan memanggil API seperti ID3D11ShaderReflection::GetInputParameterDesc.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | d3d11shader.h |