Files
XCEngine/docs/api/resources/textureimportsettings/textureimportsettings.md

102 lines
3.8 KiB
Markdown
Raw Normal View History

2026-03-20 02:35:35 +08:00
# TextureImportSettings
**命名空间**: `XCEngine::Resources`
**类型**: `class`
**继承**: `ImportSettings`
**描述**: 纹理资源导入设置类,配置纹理导入时的各种参数选项。
## 概述
`TextureImportSettings` 继承自 `ImportSettings`提供了纹理资源导入时的完整配置选项。包括纹理类型、目标格式、Mipmap 生成、压缩质量、各向异性、sRGB 转换、翻转操作、法线图生成等功能。
## 公共方法
| 方法 | 描述 |
|------|------|
| [`Clone`](clone.md) | 克隆一份导入设置 |
| [`LoadFromJSON`](loadfromjson.md) | 从 JSON 加载设置 |
| [`SaveToJSON`](savetojson.md) | 保存设置到 JSON |
| [`SetTextureType`](settexturetype.md) | 设置纹理类型 |
| [`GetTextureType`](gettexturetype.md) | 获取纹理类型 |
| [`SetTargetFormat`](settargetformat.md) | 设置目标格式 |
| [`GetTargetFormat`](gettargetformat.md) | 获取目标格式 |
| [`SetGenerateMipmaps`](setgeneratemipmaps.md) | 设置是否生成 Mipmap |
| [`GetGenerateMipmaps`](getgeneratemipmaps.md) | 获取是否生成 Mipmap |
| [`SetMipmapFilter`](setmipmapfilter.md) | 设置 Mipmap 滤波器 |
| [`GetMipmapFilter`](getmipmapfilter.md) | 获取 Mipmap 滤波器 |
| [`SetMaxAnisotropy`](setmaxanisotropy.md) | 设置最大各向异性级别 |
| [`GetMaxAnisotropy`](getmaxanisotropy.md) | 获取最大各向异性级别 |
| [`SetSRGB`](setsrgb.md) | 设置是否 sRGB |
| [`GetSRGB`](getsrgb.md) | 获取 sRGB 设置 |
| [`SetFlipVertical`](setflipvertical.md) | 设置是否垂直翻转 |
| [`GetFlipVertical`](getflipvertical.md) | 获取垂直翻转设置 |
| [`SetFlipHorizontal`](setfliphhorizontal.md) | 设置是否水平翻转 |
| [`GetFlipHorizontal`](getfliphhorizontal.md) | 获取水平翻转设置 |
| [`SetBorderColor`](setbordercolor.md) | 设置边框颜色 |
| [`GetBorderColor`](getbordercolor.md) | 获取边框颜色 |
| [`SetCompressionQuality`](setcompressionquality.md) | 设置压缩质量 |
| [`GetCompressionQuality`](getcompressionquality.md) | 获取压缩质量 |
| [`SetUseHardwareCompression`](setusehardwarecompression.md) | 设置是否使用硬件压缩 |
| [`GetUseHardwareCompression`](getusehardwarecompression.md) | 获取硬件压缩设置 |
| [`SetMaxSize`](setmaxsize.md) | 设置最大纹理尺寸 |
| [`GetMaxSize`](getmaxsize.md) | 获取最大纹理尺寸 |
| [`SetGenerateNormalMap`](setgeneratenormalmap.md) | 设置是否生成法线贴图 |
| [`GetGenerateNormalMap`](getgeneratenormalmap.md) | 获取法线贴图生成设置 |
| [`SetNormalMapStrength`](setnormalmapstrength.md) | 设置法线贴图强度 |
| [`GetNormalMapStrength`](getnormalmapstrength.md) | 获取法线贴图强度 |
## 枚举类型
### MipmapFilter
Mipmap 滤波算法。
| 值 | 描述 |
|----|------|
| `Box` | Box 滤波器 |
| `Kaiser` | Kaiser 滤波器 |
### CompressionQuality
纹理压缩质量级别。
| 值 | 描述 |
|----|------|
| `Low` | 低质量压缩 |
| `Medium` | 中等质量压缩 |
| `High` | 高质量压缩 |
| `Ultra` | 超高质量压缩 |
## 使用示例
```cpp
#include <XCEngine/Resources/TextureImportSettings.h>
TextureImportSettings settings;
settings.SetTextureType(TextureType::Texture2D);
settings.SetGenerateMipmaps(true);
settings.SetMipmapFilter(MipmapFilter::Kaiser);
settings.SetSRGB(true);
settings.SetCompressionQuality(CompressionQuality::High);
settings.SetMaxAnisotropy(16);
settings.SetMaxSize(2048);
settings.SetGenerateNormalMap(true);
settings.SetNormalMapStrength(1.0f);
// 保存设置
Containers::String json = settings.SaveToJSON();
// 克隆设置
auto cloned = settings.Clone();
```
## 相关文档
- [ImportSettings](../importsettings/importsettings.md) - 导入设置基类
- [Texture](../texture/texture.md) - 纹理资源
- [ResourceManager](../resourcemanager/resourcemanager.md) - 资源管理器
- [Resources 总览](../resources.md) - 返回模块总览