D3D11_SHADER_RESOURCE_VIEW_DESC 結構 (d3d11.h)
描述著色器資源檢視。
語法
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
指定檢視格式 的DXGI_FORMAT 。 請參閱<備註>。
ViewDimension
檢視的資源類型。 請參閱 D3D11_SRV_DIMENSION。 您必須將 ViewDimension 設定為與基礎資源相同的資源類型。 此參數也會決定在下列等位中使用的_SRV。
Buffer
類型: D3D11_BUFFER_SRV
使用著色器資源檢視中的資訊來檢視資源, (請參閱 D3D11_BUFFER_SRV) 。
Texture1D
類型: D3D11_TEX1D_SRV
使用著色器資源檢視中的資訊,將資源檢視為 1D 紋理, (請參閱 D3D11_TEX1D_SRV) 。
Texture1DArray
使用著色器資源檢視中的資訊,將資源檢視為 1D 紋理陣列, (請參閱 D3D11_TEX1D_ARRAY_SRV) 。
Texture2D
類型: D3D11_TEX2D_SRV
使用著色器資源檢視中的資訊,將資源檢視為 2D 紋理, (請參閱 D3D11_TEX2D_SRV) 。
Texture2DArray
使用著色器資源檢視中的資訊,將資源檢視為 2D 紋理陣列, (請參閱 D3D11_TEX2D_ARRAY_SRV) 。
Texture2DMS
使用著色器資源檢視中的資訊,將資源檢視為 2D 多重取樣紋理, (請參閱 D3D11_TEX2DMS_SRV) 。
Texture2DMSArray
使用著色器資源檢視中的資訊,將資源檢視為 2D 多重取樣紋理數位, (請參閱 D3D11_TEX2DMS_ARRAY_SRV) 。
Texture3D
類型: D3D11_TEX3D_SRV
使用著色器資源檢視中的資訊,將資源檢視視為 3D 紋理, (請參閱 D3D11_TEX3D_SRV) 。
TextureCube
使用著色器資源檢視中的資訊,將資源檢視為 3D Cube 紋理, (請參閱 D3D11_TEXCUBE_SRV) 。
TextureCubeArray
使用著色器資源檢視中的資訊,將資源檢視為 3D-cube-texture 陣列, (請參閱 D3D11_TEXCUBE_ARRAY_SRV) 。
BufferEx
使用著色器資源檢視中的資訊,將資源檢視視為原始緩衝區, (請參閱 D3D11_BUFFEREX_SRV) 。 如需緩衝區原始檢視的詳細資訊,請參閱 緩衝區的原始檢視。
備註
檢視是查看資源中數據的格式特定方式。 檢視會決定要查看的數據,以及讀取時轉換的方式。
檢視資源時,資源檢視描述必須指定與資源格式相容的具型別格式。 因此,這表示您無法使用名稱中具有_TYPELESS的任何格式來建立資源檢視描述。 不過,您可以藉由指定檢視的具型別格式來檢視無類型資源。 例如,可以使用下列其中一種類型格式來檢視DXGI_FORMAT_R32G32B32_TYPELESS資源:DXGI_FORMAT_R32G32B32_FLOAT、DXGI_FORMAT_R32G32B32_UINT和DXGI_FORMAT_R32G32B32_SINT,因為這些具型別格式與無類型資源相容。
呼叫 ID3D11Device::CreateShaderResourceView 來建立著色器資源檢視描述。 若要檢視著色器資源檢視描述,請呼叫 ID3D11ShaderResourceView::GetDesc。
規格需求
需求 | 值 |
---|---|
標頭 | d3d11.h (包含 D3D11Shader.h) |