D3D11_SHADER_RESOURCE_VIEW_DESC

シェーダー リソース ビューを記述します。

typedef struct D3D11_SHADER_RESOURCE_VIEW_DESC {
    DXGI_FORMAT Format;
    D3D11_SRV_DIMENSION ViewDimension;
    union {
        D3D11_BUFFER_SRV Buffer;
        D3D11_TEX1D_SRV Texture1D;
        D3D11_TEX1D_ARRAY_SRV Texture1DArray;
        D3D11_TEX2D_SRV Texture2D;
        D3D11_TEX2D_ARRAY_SRV Texture2DArray;
        D3D11_TEX2DMS_SRV Texture2DMS;
        D3D11_TEX2DMS_ARRAY_SRV Texture2DMSArray;
        D3D11_TEX3D_SRV Texture3D;
        D3D11_TEXCUBE_SRV TextureCube;
        D3D11_TEXCUBE_ARRAY_SRV TextureCubeArray;
        D3D11_BUFFEREX_SRV BufferEx;
    };
} D3D11_SHADER_RESOURCE_VIEW_DESC;

メンバ

  • Format
    表示フォーマットを指定する DXGI_FORMAT です。「解説」を参照してください。
  • ViewDimension
    ビューのリソース タイプです。「D3D11_SRV_DIMENSION」を参照してください。これは、基となるリソースと同じリソース タイプである必要があります。また、このパラメーターによって、以下の共用体で使用される _SRV が決定されます。
  • Buffer
    シェーダー リソース ビューの情報を使用して、リソースをバッファーとしてビュー適用を行います (「D3D11_BUFFER_SRV」を参照してください)。
  • Texture1D
    シェーダー リソース ビューの情報を使用して、リソースを 1D テクスチャーとしてビュー適用を行います (「D3D11_TEX1D_SRV」を参照してください)。
  • Texture1DArray
    シェーダー リソース ビューの情報を使用して、リソースを 1D テクスチャー配列としてビュー適用を行います (「D3D11_TEX1D_ARRAY_SRV」を参照してください)。
  • Texture2D
    シェーダー リソース ビューの情報を使用して、リソースを 2D テクスチャーとしてビュー適用を行います (「D3D11_TEX2D_SRV」を参照してください)。
  • Texture2DArray
    シェーダー リソース ビューの情報を使用して、リソースを 2D テクスチャー配列としてビュー適用を行います (「D3D11_TEX2D_ARRAY_SRV」を参照してください)。
  • Texture2DMS
    シェーダー リソース ビューの情報を使用して、リソースをマルチサンプリングされた 2D テクスチャーとしてビュー適用を行います (「D3D11_TEX2DMS_SRV」を参照してください)。
  • Texture2DMSArray
    シェーダー リソース ビューの情報を使用して、リソースをマルチサンプリングされた 2D テクスチャー配列としてビュー適用を行います (「D3D11_TEX2DMS_ARRAY_SRV」を参照してください)。
  • Texture3D
    シェーダー リソース ビューの情報を使用して、リソースを 3D テクスチャーとしてビュー適用を行います (「D3D11_TEX3D_SRV」を参照してください)。
  • TextureCube
    シェーダー リソース ビューの情報を使用して、リソースを 3D キューブ テクスチャーとしてビュー適用を行います (「D3D11_TEXCUBE_SRV」を参照してください)。
  • TextureCubeArray
    シェーダー リソース ビューの情報を使用して、リソースを 3D キューブ テクスチャー配列としてビュー適用を行います (「D3D11_TEXCUBE_ARRAY_SRV」を参照してください)。
  • BufferEx
    シェーダー リソース ビューの情報を使用して、リソースを拡張されたバッファーとしてビュー適用を行います (「D3D11_BUFFEREX_SRV」を参照してください)。

解説 

ビューは、リソース内のデータを参照するためのフォーマット固有の方法です。ビューにより、参照できるデータと、そのデータが読み込まれるときのキャスト方法が決まります。

リソースにビューを適用する場合、リソース ビューの記述で、リソース フォーマットと互換性のある型のフォーマットを指定する必要があります。したがって、名前に _TYPELESS を含むフォーマットを使用してリソース ビューの記述を作成することはできません。ただし、ビューに対して型定義されたフォーマットを指定することで、型定義のないリソースをビューで使用することができます。たとえば、DXGI_FORMAT_R32G32B32_TYPELESS リソースは、次の型定義されたフォーマットのいずれか 1 つを使用してビュー適用できます。DXGI_FORMAT_R32G32B32_FLOAT、DXGI_FORMAT_R32G32B32_UINT、および DXGI_FORMAT_R32G32B32_SINT。これらの型定義されたフォーマットは、型定義のないリソースとの互換性があるためです。

シェーダー リソース ビューの記述を作成するには、ID3D11Device::CreateShaderResourceView を呼び出します。シェーダー リソース ビューの記述を表示するには、ID3D11ShaderResourceView::GetDesc を呼び出します。

要件

ヘッダー: D3D11Shader.h 宣言

ライブラリ: D3D11.lib 内容

関連項目

リソース構造体