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,27 @@
# ShaderLoader::CanLoad
## 方法签名
```cpp
bool CanLoad(const Containers::String& path) const override;
```
## 详细描述
检查给定路径的文件是否可以被该加载器加载。通过提取文件扩展名并与支持列表进行比较来判断。
## 参数
- `path` - 资源文件的完整或相对路径
## 返回值
`bool` - 如果文件扩展名在支持列表中返回 `true`,否则返回 `false`
## 示例
```cpp
ShaderLoader loader;
bool canLoad = loader.CanLoad("shaders/pbr.vert"); // true
bool canLoad2 = loader.CanLoad("textures/wood.png"); // false
```

View File

@@ -0,0 +1,29 @@
# ShaderLoader::ShaderLoader
## 方法签名
```cpp
ShaderLoader();
```
## 详细描述
默认构造函数,创建一个 `ShaderLoader` 实例。该加载器负责管理着色器资源的加载流程。
## 参数
## 返回值
## 示例
```cpp
#include "Resources/ShaderLoader.h"
using namespace XCEngine::Resources;
ShaderLoader loader;
```

View File

@@ -0,0 +1,27 @@
# ShaderLoader::GetDefaultSettings
## 方法签名
```cpp
ImportSettings* GetDefaultSettings() const override;
```
## 详细描述
返回着色器资源的默认导入设置。当前实现返回 `nullptr`,表示着色器加载不使用导入设置。
## 参数
## 返回值
`ImportSettings*` - 始终返回 `nullptr`
## 示例
```cpp
ShaderLoader loader;
ImportSettings* settings = loader.GetDefaultSettings();
// settings == nullptr
```

View File

@@ -0,0 +1,27 @@
# ShaderLoader::GetResourceType
## 方法签名
```cpp
ResourceType GetResourceType() const override;
```
## 详细描述
返回该加载器管理的资源类型,固定为 `ResourceType::Shader`。此方法继承自 `IResourceLoader` 接口,用于资源管理器识别加载器类型。
## 参数
## 返回值
`ResourceType` - 资源类型枚举值,始终返回 `ResourceType::Shader`
## 示例
```cpp
ShaderLoader loader;
ResourceType type = loader.GetResourceType();
// type == ResourceType::Shader
```

View File

@@ -0,0 +1,37 @@
# ShaderLoader::GetSupportedExtensions
## 方法签名
```cpp
Containers::Array<Containers::String> GetSupportedExtensions() const override;
```
## 详细描述
返回该加载器支持的文件扩展名列表。支持以下扩展名:
- `vert` - 顶点着色器
- `frag` - 片段着色器
- `geom` - 几何着色器
- `comp` - 计算着色器
- `glsl` - 通用 GLSL 着色器
- `hlsl` - HLSL 着色器
- `shader` - 通用着色器
## 参数
## 返回值
`Containers::Array<Containers::String>` - 支持的文件扩展名数组
## 示例
```cpp
ShaderLoader loader;
auto extensions = loader.GetSupportedExtensions();
for (const auto& ext : extensions) {
// 处理每个扩展名
}
```

View File

@@ -0,0 +1,45 @@
# ShaderLoader::Load
## 方法签名
```cpp
LoadResult Load(const Containers::String& path, const ImportSettings* settings = nullptr) override;
```
## 详细描述
加载指定路径的着色器资源文件。加载流程如下:
1. 读取文件数据到内存
2. 根据扩展名识别着色器语言HLSL 或 GLSL
3. 检测着色器类型Vertex/Fragment/Geometry/Compute
4. 创建 `Shader` 对象并设置属性
如果加载失败,返回的 `LoadResult` 将包含错误信息。
## 参数
- `path` - 着色器文件的路径
- `settings` - 可选的导入设置指针(当前实现中未使用)
## 返回值
`LoadResult` - 加载结果,成功时包含 `Shader` 指针,失败时包含错误信息
## 示例
```cpp
#include "Resources/ShaderLoader.h"
using namespace XCEngine::Resources;
ShaderLoader loader;
LoadResult result = loader.Load("shaders/forward.vert");
if (result.IsSuccess()) {
Shader* shader = static_cast<Shader*>(result.GetResource());
// 使用着色器...
} else {
// 处理错误
const String& error = result.GetErrorMessage();
}
```