Bagikan melalui


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

Lihat juga

Struktur inti