D3D12_SHADER_RESOURCE_VIEW_DESC 結構 (d3d12.h)

描述 SRV) (著色器資源檢視。

語法

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;

成員

Format

指定檢視格式 的DXGI_FORMAT型別值。 請參閱<備註>。

ViewDimension

指定檢視資源類型的 D3D12_SRV_DIMENSION型別值。 此類型與基礎資源的資源類型相同。 此成員也會決定下列聯集中使用的_SRV。

Shader4ComponentMapping

使用 D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING 宏建構的值。 D3D12_SHADER_COMPONENT_MAPPING列舉會指定當透過此著色器資源檢視存取紋理時,應該傳回記憶體中的值, (SRV) 。 例如,它可以將元件 1 (綠色) 從記憶體路由 0 傳送至元件 2, (.b 指定給著色器的值) 。

Buffer

檢視資源做為緩衝區 的D3D12_BUFFER_SRV 結構。

Texture1D

D3D12_TEX1D_SRV結構,會將資源視為 1D 紋理。

Texture1DArray

D3D12_TEX1D_ARRAY_SRV結構,會將資源視為 1D 紋理陣列。

Texture2D

D3D12_TEX2D_SRV結構,會將資源視為 2D 紋理。

Texture2DArray

D3D12_TEX2D_ARRAY_SRV結構,會將資源視為 2D 紋理陣列。

Texture2DMS

D3D12_TEX2DMS_SRV結構,會將資源視為 2D 多重取樣紋理。

Texture2DMSArray

D3D12_TEX2DMS_ARRAY_SRV結構,會將資源視為 2D 多重取樣紋理陣列。

Texture3D

D3D12_TEX3D_SRV結構,會將資源視為 3D 紋理。

TextureCube

D3D12_TEXCUBE_SRV結構,會將資源視為 3D Cube 紋理。

TextureCubeArray

D3D12_TEXCUBE_ARRAY_SRV結構,會將資源視為 3D-cube-texture 陣列。

RaytracingAccelerationStructure

將資源視為光線追蹤加速結構的 D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV 結構。

備註

檢視是查看資源中資料的格式特定方式。 檢視會決定要查看哪些資料,以及在讀取時如何轉換。

檢視資源時,資源檢視描述必須指定與資源格式相容的具型別格式。 因此,這表示您無法使用名稱中具有_TYPELESS的任何格式來建立資源檢視描述。 不過,您可以藉由指定檢視的具型別格式來檢視無類型資源。 例如,DXGI_FORMAT_R32G32B32_TYPELESS資源可以使用下列其中一種類型格式來檢視:DXGI_FORMAT_R32G32B32_FLOAT、DXGI_FORMAT_R32G32B32_UINT和DXGI_FORMAT_R32G32B32_SINT,因為這些類型格式與無類型資源相容。

呼叫 ID3D12Device::CreateShaderResourceView來建立著色器資源檢視描述。

需求

   
標頭 d3d12.h

另請參閱

核心結構