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

102 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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) - 返回模块总览