35 lines
964 B
Markdown
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) - 直接初始化重载
|