Files
XCEngine/docs/api/rhi/d3d12/texture/initialize.md

50 lines
1.1 KiB
Markdown
Raw Normal View History

2026-03-20 02:35:45 +08:00
# D3D12Texture::Initialize
## 函数签名
```cpp
bool Initialize(ID3D12Device* device, const D3D12_RESOURCE_DESC& desc, D3D12_RESOURCE_STATES initialState = D3D12_RESOURCE_STATE_COMMON)
```
## 中文描述
分配并初始化一个 D3D12 纹理资源。
## 参数
| 参数 | 类型 | 描述 |
|------|------|------|
| `device` | `ID3D12Device*` | D3D12 设备指针 |
| `desc` | `const D3D12_RESOURCE_DESC&` | 纹理资源描述符 |
| `initialState` | `D3D12_RESOURCE_STATES` | 初始资源状态(默认 D3D12_RESOURCE_STATE_COMMON |
## 返回值
`bool` - 初始化是否成功
## 复杂度
O(n) - 取决于纹理大小
## 示例
```cpp
D3D12_RESOURCE_DESC desc = {};
desc.Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE2D;
desc.Width = 1920;
desc.Height = 1080;
desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
desc.Flags = D3D12_RESOURCE_FLAG_NONE;
D3D12Texture texture;
if (texture.Initialize(device, desc)) {
// 纹理初始化成功
}
```
## 相关文档
- [D3D12Texture](texture.md) - 类总览
- [InitializeFromData](initialize-from-data.md) - 从数据初始化
- [InitializeDepthStencil](initialize-depth-stencil.md) - 初始化深度模板纹理