40 lines
930 B
Markdown
40 lines
930 B
Markdown
|
|
# Texture::Create
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
bool Create(Core::uint32 width, Core::uint32 height, Core::uint32 depth,
|
|||
|
|
Core::uint32 mipLevels, TextureType type, TextureFormat format,
|
|||
|
|
const void* data, size_t dataSize)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
创建纹理资源。设置纹理的尺寸、格式和像素数据,并分配 GPU 资源。
|
|||
|
|
|
|||
|
|
**参数:**
|
|||
|
|
- `width` - 纹理宽度(像素)
|
|||
|
|
- `height` - 纹理高度(像素)
|
|||
|
|
- `depth` - 纹理深度(3D 纹理设为 1)
|
|||
|
|
- `mipLevels` - Mipmap 级别数
|
|||
|
|
- `type` - 纹理类型
|
|||
|
|
- `format` - 纹理格式
|
|||
|
|
- `data` - 像素数据指针
|
|||
|
|
- `dataSize` - 像素数据大小
|
|||
|
|
|
|||
|
|
**返回:** 创建成功返回 true
|
|||
|
|
|
|||
|
|
**复杂度:** O(n),n 为像素数量
|
|||
|
|
|
|||
|
|
**示例:**
|
|||
|
|
|
|||
|
|
```cpp
|
|||
|
|
Texture tex;
|
|||
|
|
bool ok = tex.Create(
|
|||
|
|
1024, 1024, 1, 0,
|
|||
|
|
TextureType::Texture2D,
|
|||
|
|
TextureFormat::RGBA8_UNORM,
|
|||
|
|
pixelData, pixelDataSize
|
|||
|
|
);
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 相关文档
|
|||
|
|
|
|||
|
|
- [Texture 总览](texture.md) - 返回类总览
|