(d3d11.h) 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
指定查看格式 的DXGI_FORMAT 。 请参阅备注。
ViewDimension
视图的资源类型。 请参阅 D3D11_SRV_DIMENSION。 必须将 ViewDimension 设置为与基础资源相同的资源类型。 此参数还确定在以下联合中使用的_SRV。
Buffer
类型: D3D11_BUFFER_SRV
使用着色器资源视图中的信息以缓冲区的形式查看资源 (请参阅 D3D11_BUFFER_SRV) 。
Texture1D
类型: D3D11_TEX1D_SRV
使用着色器资源视图中的信息以一维纹理的形式查看资源 (查看 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 立方体纹理的形式查看资源 (查看 D3D11_TEXCUBE_SRV) 。
TextureCubeArray
使用着色器资源视图中的信息以 3D 多维数据集纹理数组的形式查看资源 (查看 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 创建 shader-resource-view 说明。 若要查看 shader-resource-view 说明,请调用 ID3D11ShaderResourceView::GetDesc。
要求
要求 | 值 |
---|---|
Header | d3d11.h (包括 D3D11Shader.h) |