1.6 KiB
1.6 KiB
MeshLoader::Load
方法签名
LoadResult Load(const Containers::String& path, const ImportSettings* settings = nullptr) override;
详细描述
加载指定路径的网格资源文件。加载过程包括:
- 提取文件扩展名并转换为小写
- 验证文件格式是否支持
- 读取文件数据到内存
- 创建
Mesh对象并设置基本信息(路径、名称、GUID) - 设置内存占用大小
当前实现专注于文件读取和基础资源创建框架,具体网格顶点数据、索引数据的解析由 Mesh 类在后续流程中完成。settings 参数当前未使用。
参数
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| path | const Containers::String& |
- | 网格文件路径 |
| settings | const ImportSettings* |
nullptr |
导入设置(当前未使用) |
返回值
LoadResult - 加载结果对象,包含成功加载的 Mesh 指针或错误信息
示例
#include "Resources/MeshLoader.h"
using namespace XCEngine::Resources;
MeshLoader loader;
LoadResult result = loader.Load("assets/models/player.fbx");
if (result.IsSuccess()) {
Mesh* mesh = static_cast<Mesh*>(result.GetResource());
printf("Loaded mesh: %s, GUID: %s, Size: %zu bytes\n",
mesh->m_name.CStr(),
mesh->m_guid.ToString().CStr(),
mesh->m_memorySize);
} else {
printf("Failed to load mesh: %s\n", result.GetError().CStr());
}
错误情况
- 不支持的文件格式:返回
"Unsupported mesh format: <extension>" - 文件读取失败:返回
"Failed to read file: <path>"