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 |