signed

QiShunwang

“诚信为本、客户至上”

ogre资源管理

2021/5/14 21:10:08   来源:

OGRE资源管理

OGRE资源种类

资源类型

可以看出,资源类型有纹理,骨骼,网格,材质,Shader,字体等

资源管理主要类及类关系

Resource:抽象基类,代表可加载的资源

ResourceManager:管理某类资源的基类,定义加载资源、卸载资源等操作,由派生类实现

3类方式

如图,3种方式映射到资源指针:

  1. 资源句柄
  2. 资源名
  3. 资源组

ResourceGroupManager:单例类,管理所有的ResourceManager

类关系图如下:

类关系

资源状态转移

Resource状态有未定义,已定义,未加载,已加载

转换流程如下

状态转移

资源管理生命周期

资源管理生命周期

一开始,资源未定义,ResourceGroupManager创建ResourceGroup并添加Resource路径,资源由未定义转为已定义,调用initialResourceGroup资源由已定义转为未加载,调用load由未加载转为已加载,clearResourceGroup资源由已加载转为未定义。

Entity, SubEntity, Mesh, SubMesh之间关系

Entity:可移动实体对象

SubEntity:可渲染对象

Mesh:模型资源对象

SubMesh:拥有唯一材质的最小网格对象

移动实体对象

SubEntity:可渲染对象

Mesh:模型资源对象

SubMesh:拥有唯一材质的最小网格对象

一个Entity对应一个Mesh,一个SubEntity对应一个SubMesh,subMesh可对应多个SubEntity