typedef struct D3D12_DESCRIPTOR_RANGE1 {
D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
UINT NumDescriptors;
UINT BaseShaderRegister;
UINT RegisterSpace;
D3D12_DESCRIPTOR_RANGE_FLAGS Flags;
UINT OffsetInDescriptorsFromTableStart;
} D3D12_DESCRIPTOR_RANGE1;
相比于 D3D12_DESCRIPTOR_RANGE,D3D12_DESCRIPTOR_RANGE1 多了一个 Flags 成员,用于设置描述符范围的标志。这个结构体的成员包括:
- RangeType: 描述符范围的类型,使用 D3D12_DESCRIPTOR_RANGE_TYPE 枚举值,表示是着色器资源视图描述符、常量缓冲区视图描述符、无序访问视图描述符还是采样器描述符。
- NumDescriptors: 描述符范围中包含的描述符数量。
- BaseShaderRegister: 描述符范围中的第一个着色器寄存器索引。
- RegisterSpace: 着色器寄存器空间。
- Flags: 描述符范围的标志,使用 D3D12_DESCRIPTOR_RANGE_FLAGS 枚举值。这可以包括描述符是否可见于所有着色器阶段等信息。
- OffsetInDescriptorsFromTableStart: 描述符相对于描述符表起始处的偏移量。
这个结构体同样通常在根签名(Root Signature)中的描述符表中使用。在创建根签名时,你需要使用这个结构体的信息来定义描述符范围。
转载请注明出处:http://www.zyzy.cn/article/detail/25920/Win32 API/D3d12.h/D3D12_DESCRIPTOR_RANGE1