D3D12_DESCRIPTOR_HEAP_DESC 是 Direct3D 12 中用于描述描述符堆(Descriptor Heap)的结构体。以下是该结构体的定义:
typedef struct D3D12_DESCRIPTOR_HEAP_DESC {
  D3D12_DESCRIPTOR_HEAP_TYPE           Type;
  UINT                                NumDescriptors;
  D3D12_DESCRIPTOR_HEAP_FLAGS          Flags;
  UINT                                NodeMask;
} D3D12_DESCRIPTOR_HEAP_DESC;

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

  •  Type: 描述符堆的类型,使用 D3D12_DESCRIPTOR_HEAP_TYPE 枚举值,表示是着色器资源视图描述符堆(Shader Resource View, SRV)、常量缓冲区视图描述符堆(Constant Buffer View, CBV)、无序访问视图描述符堆(Unordered Access View, UAV)还是采样器描述符堆(Sampler)等。

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

  •  Flags: 描述符堆的标志,使用 D3D12_DESCRIPTOR_HEAP_FLAGS 枚举值。这可以包括描述符堆是可被 CPU 访问还是只能被 GPU 访问等信息。

  •  NodeMask: 用于多 GPU 设置的节点遮罩。


这个结构体通常在创建描述符堆时使用,通过填充这个结构体的各个成员来指定描述符堆的类型、大小和属性。创建描述符堆时,你需要使用这个结构体的信息调用 ID3D12Device::CreateDescriptorHeap 函数。


转载请注明出处:http://www.pingtaimeng.com/article/detail/25918/Win32 API/D3d12.h/D3D12_DESCRIPTOR_HEAP_DESC