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
リソース を 1D テクスチャとして表示するD3D12_TEX1D_SRV構造。
Texture1DArray
リソースを 1D テクスチャ配列として表示するD3D12_TEX1D_ARRAY_SRV構造体。
Texture2D
リソースを 2D テクスチャとして表示するD3D12_TEX2D_SRV構造。
Texture2DArray
リソースを 2D テクスチャ配列として表示するD3D12_TEX2D_ARRAY_SRV構造体。
Texture2DMS
リソースを 2D マルチサンプリング テクスチャとして表示するD3D12_TEX2DMS_SRV構造。
Texture2DMSArray
リソースを 2D マルチサンプリング テクスチャ配列として表示するD3D12_TEX2DMS_ARRAY_SRV構造体。
Texture3D
リソース を 3D テクスチャとして表示するD3D12_TEX3D_SRV構造。
TextureCube
リソースを 3D キューブ テクスチャとして表示するD3D12_TEXCUBE_SRV構造。
TextureCubeArray
リソースを 3D キューブ テクスチャ配列として表示するD3D12_TEXCUBE_ARRAY_SRV構造体。
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 を呼び出して、シェーダー リソース ビューの説明を作成します。
要件
Header | d3d12.h |