1.1 KiB
1.1 KiB
ShaderLoader::Load
方法签名
LoadResult Load(const Containers::String& path, const ImportSettings* settings = nullptr) override;
详细描述
加载指定路径的着色器资源文件。加载流程如下:
- 读取文件数据到内存
- 根据扩展名识别着色器语言(HLSL 或 GLSL)
- 检测着色器类型(Vertex/Fragment/Geometry/Compute)
- 创建
Shader对象并设置属性
如果加载失败,返回的 LoadResult 将包含错误信息。
参数
path- 着色器文件的路径settings- 可选的导入设置指针(当前实现中未使用)
返回值
LoadResult - 加载结果,成功时包含 Shader 指针,失败时包含错误信息
示例
#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();
}