# 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 pixels = LoadImage("texture.png"); texture->InitializeFromData(device, cmdList, pixels.data(), width, height, DXGI_FORMAT_R8G8B8A8_UNORM); ``` ## 相关文档 - [D3D12Texture](texture.md) - 类总览