enumerasi D3D12_SHADER_COMPONENT_MAPPING (d3d12.h)
Menentukan bagaimana memori dirutekan oleh tampilan sumber daya shader (SRV).
Sintaks
typedef enum D3D12_SHADER_COMPONENT_MAPPING {
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = 0,
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = 1,
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = 2,
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = 3,
D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = 4,
D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = 5
} ;
Konstanta
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 Nilai: 0 Menunjukkan komponen pengembalian 0 (merah). |
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 Nilai: 1 Menunjukkan komponen pengembalian 1 (hijau). |
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 Nilai: 2 Menunjukkan komponen pengembalian 2 (biru). |
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 Nilai: 3 Menunjukkan komponen pengembalian 3 (alfa). |
D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 Nilai: 4 Menunjukkan memaksa nilai yang dihasilkan ke 0. |
D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 Nilai: 5 Menunjukkan memaksa nilai yang dihasilkan 1. Nilai memaksa 1 adalah 0x1 atau 1,0f tergantung pada jenis format untuk komponen tersebut dalam format sumber. |
Keterangan
Enum ini memungkinkan SRV untuk memilih bagaimana memori dirutekan ke empat komponen pengembalian dalam shader setelah pengambilan memori. Opsi untuk setiap komponen shader [0..3] (sesuai dengan RGBA) adalah: komponen 0..3 dari hasil pengambilan SRV atau paksa 0 atau paksa 1.
Pemetaan default 1:1 dapat ditunjukkan dengan menentukan D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING, jika tidak, pemetaan arbitrer dapat ditentukan menggunakan makro D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING.
Lihat di bawah ini.
Perhatikan definisi berikut.
#define D3D12_SHADER_COMPONENT_MAPPING_MASK 0x7
#define D3D12_SHADER_COMPONENT_MAPPING_SHIFT 3
#define D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES \
(1<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*4))
#define D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(Src0,Src1,Src2,Src3) \
((((Src0)&D3D12_SHADER_COMPONENT_MAPPING_MASK)| \
(((Src1)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<D3D12_SHADER_COMPONENT_MAPPING_SHIFT)| \
(((Src2)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*2))| \
(((Src3)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*3))| \
D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES))
#define D3D12_DECODE_SHADER_4_COMPONENT_MAPPING(ComponentToExtract,Mapping) \
((D3D12_SHADER_COMPONENT_MAPPING)(Mapping >> (D3D12_SHADER_COMPONENT_MAPPING_SHIFT*ComponentToExtract) & D3D12_SHADER_COMPONENT_MAPPING_MASK))
#define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0,1,2,3)
Persyaratan
Persyaratan | Nilai |
---|---|
Header | d3d12.h |
Lihat juga
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