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

将资源视为一维纹理 的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

一个D3D12_TEX2DMS_ARRAY_SRV结构,将资源视为 2D-multisampled-texture 数组。

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 创建着色器-resource-view 说明。

要求

   
标头 d3d12.h

另请参阅

核心结构