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

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

将资源视为 2D 多重采样纹理数组的 D3D12_TEX2DMS_ARRAY_SRV 结构。

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 创建着色器资源视图说明。

要求

   
标头 d3d12.h

另请参阅

核心结构