50 lines
1.1 KiB
Markdown
50 lines
1.1 KiB
Markdown
|
|
# 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) - 初始化深度模板纹理
|