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 内容