Files
XCEngine/docs/api/rhi/d3d12/descriptor-heap/initialize-from-desc.md
2026-03-20 02:35:45 +08:00

35 lines
964 B
Markdown

# 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) - 直接初始化重载