Files
XCEngine/docs/api/d3d12/d3d12-device-initialize.md

46 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# D3D12Device::Initialize
初始化 DirectX 12 设备。
```cpp
bool Initialize(const RHIDeviceDesc& desc) override;
```
根据提供的设备描述配置创建设备对象、DXGI 工厂和 Direct3D 12 设备。此方法会枚举指定的适配器,获取其信息,并初始化调试层(如果启用)。
**参数:**
- `desc` - 设备描述结构体包含启用调试层、GPU 验证、适配器索引、窗口句柄、分辨率等配置
**返回:** `bool` - 初始化成功返回 true否则返回 false
**线程安全:** ❌ 非线程安全,应在单线程中调用
**注意:**
- 如果 `desc.enableDebugLayer` 为 true将启用 DirectX 12 调试层
- 如果 `desc.enableGPUValidation` 为 true将启用 GPU 验证
- 适配器索引无效时会自动回退到默认适配器
**示例:**
```cpp
RHIDeviceDesc desc;
desc.enableDebugLayer = true;
desc.enableGPUValidation = true;
desc.adapterIndex = 0;
desc.windowHandle = hwnd;
desc.width = 1920;
desc.height = 1080;
desc.appName = L"MyApp";
D3D12Device device;
if (!device.Initialize(desc)) {
MessageBox(L"Failed to initialize D3D12 device");
return false;
}
```
## 相关文档
- [D3D12Device 总览](d3d12-device.md)
- [D3D12Device::Shutdown](d3d12-device-shutdown.md)