- 重组文档目录结构: 每个模块的概述页移动到模块子目录 - 重命名 index.md 为 main.md - 修正所有模块文档中的错误: - math: FromEuler→FromEulerAngles, TransformDirection 包含缩放, Box 是 OBB, Color::ToRGBA 格式 - containers: 新增 operator==/!= 文档, 补充 std::hash DJB 算法细节 - core: 修复 types 链接错误 - debug: LogLevelToString 返回大写, timestamp 是秒, Profiler 空实现标注, Windows API vs ANSI - memory: 修复头文件路径, malloc vs operator new, 新增方法文档 - resources: 修复 Shader/Texture 链接错误 - threading: TaskSystem::Wait 空实现标注, ReadWriteLock 重入描述, LambdaTask 链接 - 验证: fix_links.py 确认 0 个断裂引用
1.0 KiB
1.0 KiB
D3D12Texture::InitializeFromData
函数签名
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) - 取决于纹理大小,内部创建临时上传堆
示例
std::vector<uint8_t> pixels = LoadImage("texture.png");
texture->InitializeFromData(device, cmdList, pixels.data(), width, height, DXGI_FORMAT_R8G8B8A8_UNORM);
相关文档
- D3D12Texture - 类总览