Files
XCEngine/docs/api/resources/resources-overview.md

2.7 KiB

Resources 模块概览

命名空间: XCEngine::Resources

类型: module

描述: XCEngine 的资源管理系统,提供资源的异步加载、缓存和依赖管理。

概述

Resources 模块提供了一套完整的资源管理解决方案,支持同步和异步加载、资源缓存、依赖图管理等功能。

模块内容

核心组件

组件 文件 描述
IResource IResource.h 资源基类
ResourceHandle ResourceHandle.h 资源句柄模板
IResourceLoader IResourceLoader.h 资源加载器接口
ResourceManager ResourceManager.h 资源管理器
ResourceCache ResourceCache.h 资源缓存
AsyncLoader AsyncLoader.h 异步加载器
ResourceDependencyGraph ResourceDependencyGraph.h 依赖图
ResourceTypes ResourceTypes.h 资源类型定义

具体资源类型

组件 文件 描述
Texture Texture.h 纹理资源
Mesh Mesh.h 网格资源
Material Material.h 材质资源
Shader Shader.h 着色器资源
AudioClip AudioClip.h 音频资源

资源类型

类型 描述
Texture 纹理资源
Mesh 网格/模型资源
Material 材质资源
Shader 着色器资源
AudioClip 音频资源
Binary 二进制数据
AnimationClip 动画片段
Skeleton 骨骼
Font 字体
ParticleSystem 粒子系统
Scene 场景
Prefab 预制体

使用示例

#include <XCEngine/Resources/ResourceManager.h>

// 初始化资源管理器
ResourceManager::Get().Initialize();
ResourceManager::Get().SetResourceRoot("resources/");

// 同步加载资源
ResourceHandle<Texture> tex = ResourceManager::Get().Load<Texture>("textures/player.png");
ResourceHandle<Mesh> mesh = ResourceManager::Get().Load<Mesh>("models/player.fbx");
ResourceHandle<Material> mat = ResourceManager::Get().Load<Material>("materials/player.mat");

// 异步加载
ResourceManager::Get().LoadAsync<Texture>("textures/terrain.png", 
    [](ResourceHandle<Texture> tex) {
        // 加载完成回调
    });

// 释放资源
tex.Reset();
mesh.Reset();

相关文档