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

関連項目

コア構造体