Files
XCEngine/docs/api/rhi/d3d12/texture/initialize-from-data.md

43 lines
1.0 KiB
Markdown
Raw Normal View History

# D3D12Texture::InitializeFromData
## 函数签名
```cpp
bool InitializeFromData(ID3D12Device* device, ID3D12GraphicsCommandList* commandList,
const void* pixelData, uint32_t width, uint32_t height, DXGI_FORMAT format)
```
## 中文描述
从像素数据初始化纹理,内部会创建上传堆并复制数据。
## 参数
| 参数 | 类型 | 描述 |
|------|------|------|
| `device` | `ID3D12Device*` | D3D12 设备指针 |
| `commandList` | `ID3D12GraphicsCommandList*` | 命令列表指针 |
| `pixelData` | `const void*` | 像素数据指针 |
| `width` | `uint32_t` | 纹理宽度 |
| `height` | `uint32_t` | 纹理高度 |
| `format` | `DXGI_FORMAT` | 像素格式 |
## 返回值
`bool` - 初始化是否成功
## 复杂度
O(n) - 取决于纹理大小,内部创建临时上传堆
## 示例
```cpp
std::vector<uint8_t> pixels = LoadImage("texture.png");
texture->InitializeFromData(device, cmdList, pixels.data(), width, height, DXGI_FORMAT_R8G8B8A8_UNORM);
```
## 相关文档
- [D3D12Texture](texture.md) - 类总览