47 lines
1.1 KiB
Markdown
47 lines
1.1 KiB
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)
|
||
```
|
||
|
||
创建纹理资源。设置纹理的尺寸、格式和像素数据。
|
||
|
||
**参数:**
|
||
|
||
| 参数 | 类型 | 描述 |
|
||
|------|------|------|
|
||
| `width` | `Core::uint32` | 纹理宽度(像素) |
|
||
| `height` | `Core::uint32` | 纹理高度(像素) |
|
||
| `depth` | `Core::uint32` | 纹理深度(3D 纹理设为 1) |
|
||
| `mipLevels` | `Core::uint32` | Mipmap 级别数 |
|
||
| `type` | `TextureType` | 纹理类型 |
|
||
| `format` | `TextureFormat` | 纹理格式 |
|
||
| `data` | `const void*` | 像素数据指针(可为 nullptr) |
|
||
| `dataSize` | `size_t` | 像素数据大小 |
|
||
|
||
**返回:** 创建成功返回 true
|
||
|
||
**复杂度:** O(n),n 为像素数据大小
|
||
|
||
**示例:**
|
||
|
||
```cpp
|
||
Texture tex;
|
||
bool ok = tex.Create(
|
||
1024, 1024, 1, 1,
|
||
TextureType::Texture2D,
|
||
TextureFormat::RGBA8_UNORM,
|
||
pixelData, pixelDataSize
|
||
);
|
||
|
||
if (ok) {
|
||
// 纹理创建成功
|
||
}
|
||
```
|
||
|
||
## 相关文档
|
||
|
||
- [Texture 总览](texture.md) - 返回类总览
|