Ogre引擎源码——资源管理 摘抄

Ogre引擎源码——资源管理
https://blog.csdn.net/pizi0475/article/details/8001886

Ogre引擎源码——资源管理 摘抄_第1张图片

Undefined:这是程序开始时,所有资源的缺省状态。除非它们被声明,ogre对程序用到的资源一无所知,手工调用代码 ResourceGroupManager::declareResource()或在脚本中被解析之后,资源的状态变为Declared
Declared:声明就是告诉ogre想要加载某些资源。ResourceGroupManager::declareResource()总是有效的,包括在渲染系统初始之前,这与ResourceManager::create()不同,因为后者依赖于渲染系统。
Unloaded:通过调用
ResourceGroupManager::initialiseAllResourceGroup(),
ResourceGroupManager::initialiseResourceGroup(),
或Root::initialise()(它会初始化在此调用之前所有声明的资源),
资源状态进入到Unloaded,资源会占用一点内存来保存它的定义的实例,但是资源本身还没有加载到内存。从另一角度看(从Loaded到Unloaded),引起状态变化的调用有:
ResourceManager::unload(),
ResourceManager::unloadAll(), ResourceManager::unloadAllUnreferencedResources(),
ResourceGroupManager::unloadResourceGroup(),
Resource::unload().
所有这些调用仍会保存资源实例,但真正的资源数据会从内存中卸载。
Loaded: 这种状态下,所有数据都变得有效。与此状态有关的调用有
Resource::load(),
Resource::reload(),
ResourceManager::load(),
ResourceManager::reload(),
ResourceManager::reloadAll(),
ResourceManager::reloadAllUnreferencedResources(),
ResourceGroupManager::loadResourceGroup().

摘抄自:https://blog.csdn.net/pizi0475/article/details/6264467

其他略。世界几何的功能和用途是什么?可能定义如下:

ResourceGroupManager类里,
       /// Linked world geometry, as passed to setWorldGeometry
        String worldGeometry;
        /// Scene manager to use with linked world geometry
        SceneManager* worldGeometrySceneManager;

你可能感兴趣的:(OGRE)