struktur D3D12_SHADER_RESOURCE_VIEW_DESC (d3d12.h)
Menjelaskan tampilan sumber daya shader (SRV).
Sintaks
typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC {
DXGI_FORMAT Format;
D3D12_SRV_DIMENSION ViewDimension;
UINT Shader4ComponentMapping;
union {
D3D12_BUFFER_SRV Buffer;
D3D12_TEX1D_SRV Texture1D;
D3D12_TEX1D_ARRAY_SRV Texture1DArray;
D3D12_TEX2D_SRV Texture2D;
D3D12_TEX2D_ARRAY_SRV Texture2DArray;
D3D12_TEX2DMS_SRV Texture2DMS;
D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray;
D3D12_TEX3D_SRV Texture3D;
D3D12_TEXCUBE_SRV TextureCube;
D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray;
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV RaytracingAccelerationStructure;
};
} D3D12_SHADER_RESOURCE_VIEW_DESC;
Anggota
Format
Nilai DXGI_FORMAT-ketik yang menentukan format tampilan. Lihat komentar.
ViewDimension
Nilai D3D12_SRV_DIMENSION-typed yang menentukan jenis sumber daya tampilan. Jenis ini sama dengan jenis sumber daya dari sumber daya yang mendasar. Anggota ini juga menentukan _SRV mana yang akan digunakan dalam serikat di bawah ini.
Shader4ComponentMapping
Nilai, dibangun menggunakan makro D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING . Enumerasi D3D12_SHADER_COMPONENT_MAPPING menentukan nilai apa dari memori yang harus dikembalikan ketika tekstur diakses dalam shader melalui tampilan sumber daya shader (SRV) ini. Misalnya, dapat merutekan komponen 1 (hijau) dari memori, atau konstanta 0
, ke dalam komponen 2 (.b
) dari nilai yang diberikan ke shader.
Buffer
Struktur D3D12_BUFFER_SRV yang melihat sumber daya sebagai buffer.
Texture1D
Struktur D3D12_TEX1D_SRV yang melihat sumber daya sebagai tekstur 1D.
Texture1DArray
Struktur D3D12_TEX1D_ARRAY_SRV yang menampilkan sumber daya sebagai array tekstur 1D.
Texture2D
Struktur D3D12_TEX2D_SRV yang melihat sumber daya sebagai tekstur 2D.
Texture2DArray
Struktur D3D12_TEX2D_ARRAY_SRV yang melihat sumber daya sebagai array tekstur 2D.
Texture2DMS
Struktur D3D12_TEX2DMS_SRV yang melihat sumber daya sebagai tekstur multisampel 2D.
Texture2DMSArray
Struktur D3D12_TEX2DMS_ARRAY_SRV yang melihat sumber daya sebagai array tekstur multisampel 2D.
Texture3D
Struktur D3D12_TEX3D_SRV yang melihat sumber daya sebagai tekstur 3D.
TextureCube
Struktur D3D12_TEXCUBE_SRV yang melihat sumber daya sebagai tekstur kubus 3D.
TextureCubeArray
Struktur D3D12_TEXCUBE_ARRAY_SRV yang melihat sumber daya sebagai array tekstur kubus 3D.
RaytracingAccelerationStructure
Struktur D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV yang melihat sumber daya sebagai struktur akselerasi raytracing.
Keterangan
Tampilan adalah cara khusus format untuk melihat data dalam sumber daya. Tampilan menentukan data apa yang harus dilihat, dan bagaimana data ditransmisian saat dibaca.
Saat melihat sumber daya, deskripsi tampilan sumber daya harus menentukan format yang ditik, yang kompatibel dengan format sumber daya. Jadi itu berarti Anda tidak dapat membuat deskripsi tampilan sumber daya menggunakan format apa pun dengan _TYPELESS dalam nama. Namun, Anda dapat melihat sumber daya tanpa jenis dengan menentukan format yang ditik untuk tampilan. Misalnya, sumber daya DXGI_FORMAT_R32G32B32_TYPELESS dapat dilihat dengan salah satu format jenis ini: DXGI_FORMAT_R32G32B32_FLOAT, DXGI_FORMAT_R32G32B32_UINT, dan DXGI_FORMAT_R32G32B32_SINT, karena format jenis ini kompatibel dengan sumber daya tanpa jenis.
Buat deskripsi shader-resource-view dengan memanggil ID3D12Device::CreateShaderResourceView.
Persyaratan
Header | d3d12.h |