docs: update resources API docs

This commit is contained in:
2026-03-20 02:35:35 +08:00
parent fd792b7df1
commit ea756c0177
314 changed files with 9439 additions and 1360 deletions

View File

@@ -0,0 +1,120 @@
# TextureImportSettings
**命名空间**: `XCEngine::Resources`
**类型**: `class`
**继承**: `ImportSettings`
**头文件**: `XCEngine/Resources/TextureImportSettings.h`
**描述**: 纹理资源导入设置类,定义从外部图像文件导入纹理时的配置选项。
---
## 概述
`TextureImportSettings` 继承自 `ImportSettings`提供纹理导入时的完整配置能力。支持纹理类型、目标格式、Mipmap 生成、各项异性过滤、sRGB 转换、图像翻转、边框颜色、压缩质量、硬件压缩、纹理最大尺寸、法线贴图生成等选项。`LoadFromJSON()``SaveToJSON()` 当前为 stub 实现。
---
## 公共方法
| 方法 | 描述 |
|------|------|
| `TextureImportSettings()` | 构造函数 |
| `virtual ~TextureImportSettings() override` | 析构函数 |
| `Core::UniqueRef<ImportSettings> Clone() const override` | 克隆设置对象 |
| `bool LoadFromJSON(const Containers::String& json) override` | 从 JSON 加载设置stub |
| `Containers::String SaveToJSON() const override` | 保存为 JSONstub |
| `void SetTextureType(TextureType type)` | 设置纹理类型 |
| `TextureType GetTextureType() const` | 获取纹理类型 |
| `void SetTargetFormat(TextureFormat format)` | 设置目标格式 |
| `TextureFormat GetTargetFormat() const` | 获取目标格式 |
| `void SetGenerateMipmaps(bool generate)` | 设置是否生成 Mipmap |
| `bool GetGenerateMipmaps() const` | 获取是否生成 Mipmap |
| `void SetMipmapFilter(MipmapFilter filter)` | 设置 Mipmap 滤波器 |
| `MipmapFilter GetMipmapFilter() const` | 获取 Mipmap 滤波器 |
| `void SetMaxAnisotropy(Core::uint32 anisotropy)` | 设置最大各向异性级别 |
| `Core::uint32 GetMaxAnisotropy() const` | 获取最大各向异性级别 |
| `void SetSRGB(bool srgb)` | 设置是否 sRGB |
| `bool GetSRGB() const` | 获取 sRGB 设置 |
| `void SetFlipVertical(bool flip)` | 设置是否垂直翻转 |
| `bool GetFlipVertical() const` | 获取垂直翻转设置 |
| `void SetFlipHorizontal(bool flip)` | 设置是否水平翻转 |
| `bool GetFlipHorizontal() const` | 获取水平翻转设置 |
| `void SetBorderColor(const Math::Vector3& color)` | 设置边框颜色 |
| `const Math::Vector3& GetBorderColor() const` | 获取边框颜色 |
| `void SetCompressionQuality(CompressionQuality quality)` | 设置压缩质量 |
| `CompressionQuality GetCompressionQuality() const` | 获取压缩质量 |
| `void SetUseHardwareCompression(bool use)` | 设置是否使用硬件压缩 |
| `bool GetUseHardwareCompression() const` | 获取硬件压缩设置 |
| `void SetMaxSize(Core::uint32 size)` | 设置最大纹理尺寸 |
| `Core::uint32 GetMaxSize() const` | 获取最大纹理尺寸 |
| `void SetGenerateNormalMap(bool generate)` | 设置是否生成法线贴图 |
| `bool GetGenerateNormalMap() const` | 获取法线贴图生成设置 |
| `void SetNormalMapStrength(float strength)` | 设置法线贴图强度 |
| `float GetNormalMapStrength() const` | 获取法线贴图强度 |
---
## MipmapFilter 枚举
| 值 | 描述 |
|------|------|
| `Box` | Box 滤波器 |
| `Kaiser` | Kaiser 滤波器 |
---
## CompressionQuality 枚举
| 值 | 描述 |
|------|------|
| `Low` | 低质量 |
| `Medium` | 中等质量 |
| `High` | 高质量 |
| `Ultra` | 超高质量 |
---
## 使用示例
```cpp
#include <XCEngine/Resources/TextureImportSettings.h>
#include <XCEngine/Resources/ResourceManager.h>
// 创建导入设置
TextureImportSettings settings;
settings.SetTextureType(TextureType::Texture2D);
settings.SetTargetFormat(TextureFormat::RGBA8);
settings.SetGenerateMipmaps(true);
settings.SetMipmapFilter(MipmapFilter::Kaiser);
settings.SetMaxAnisotropy(16);
settings.SetSRGB(true);
settings.SetFlipVertical(false);
settings.SetFlipHorizontal(false);
settings.SetBorderColor(Math::Vector3::Zero());
settings.SetCompressionQuality(CompressionQuality::High);
settings.SetUseHardwareCompression(true);
settings.SetMaxSize(2048);
settings.SetGenerateNormalMap(false);
settings.SetNormalMapStrength(1.0f);
// 克隆设置
auto cloned = settings.Clone();
// 加载纹理资源
ResourceHandle<Texture> tex = ResourceManager::Get().Load<Texture>("textures/diffuse.png", &settings);
```
---
## 相关文档
- [方法详情](methods.md) - 所有方法的详细文档
- [ImportSettings](../importsettings/importsettings.md) - 导入设置基类
- [IResourceLoader](../iloader/iloader.md) - 资源加载器接口
- [ResourceManager](../resourcemanager/resourcemanager.md) - 资源管理器
- [Texture](../texture/texture.md) - 纹理资源类
- [Resources 总览](../resources.md) - 资源模块总览