# D3D12DescriptorHeap::InitializeFromDesc ```cpp bool Initialize(const DescriptorPoolDesc& desc) override; ``` 从描述符池描述结构体初始化描述符堆。该方法是 `RHIDescriptorPool` 基类接口的实现,内部调用 `Initialize(ID3D12Device*, ...)` 重载。 **参数:** - `desc` - 描述符池描述,包含设备指针、堆类型、描述符数量和 shader visible 标志 **返回:** 是否初始化成功。失败时返回 `false`,可能由于 D3D12 API 调用失败导致。 **复杂度:** O(1) ## 示例 ```cpp DescriptorPoolDesc desc = {}; desc.device = device; desc.type = DescriptorHeapType::CBV_SRV_UAV; desc.descriptorCount = 256; desc.shaderVisible = true; D3D12DescriptorHeap heap; if (!heap.Initialize(desc)) { // 处理初始化失败 } ``` ## 相关文档 - [D3D12DescriptorHeap 总览](descriptor-heap.md) - 返回类总览 - [Initialize(ID3D12Device*,...)](initialize-device.md) - 直接初始化重载