D3D12_DESCRIPTOR_RANGE 是 Direct3D 12 中用于描述描述符范围的结构体。以下是该结构体的定义:
typedef struct D3D12_DESCRIPTOR_RANGE {
  D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
  UINT                        NumDescriptors;
  UINT                        BaseShaderRegister;
  UINT                        RegisterSpace;
  UINT                        OffsetInDescriptorsFromTableStart;
} D3D12_DESCRIPTOR_RANGE;

这个结构体包含以下成员:

  •  RangeType: 描述符范围的类型,使用 D3D12_DESCRIPTOR_RANGE_TYPE 枚举值,表示是着色器资源视图描述符、常量缓冲区视图描述符、无序访问视图描述符还是采样器描述符。

  •  NumDescriptors: 描述符范围中包含的描述符数量。

  •  BaseShaderRegister: 描述符范围中的第一个着色器寄存器索引。

  •  RegisterSpace: 着色器寄存器空间。

  •  OffsetInDescriptorsFromTableStart: 描述符相对于描述符表起始处的偏移量。


这个结构体通常在根签名(Root Signature)中的描述符表中使用。描述符表定义了一组描述符范围,每个描述符范围表示一类描述符,如着色器资源视图、常量缓冲区视图等。在创建根签名时,你需要使用这个结构体的信息来定义描述符范围。


转载请注明出处:http://www.zyzy.cn/article/detail/25919/Win32 API/D3d12.h/D3D12_DESCRIPTOR_RANGE