让你的OGRE demo也有loadingBar
2011-06-18 22:13
288 查看
OGRE demo loadingBar
做法:
(1)先在你的demo主类头文件里加入
#include "ExampleLoadingBar.h"
(2)再在主类的protected域内加入data member:
ExampleLoadingBar mLoadingBar;
(3)再在主类的protected域内加入member function:
void loadResources(void)
{
mLoadingBar.start(mWindow, 1, 1, 0.75);
// Turn off rendering of everything except overlays
mSceneMgr->clearSpecialCaseRenderQueues();
mSceneMgr->addSpecialCaseRenderQueue(RENDER_QUEUE_OVERLAY);
mSceneMgr->setSpecialCaseRenderQueueMode(SceneManager::SCRQM_INCLUDE);
// Initialise the rest of the resource groups, parse scripts etc
ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
ResourceGroupManager::getSingleton().loadResourceGroup(
ResourceGroupManager::getSingleton().getWorldResourceGroupName(),
false, true);
// Back to full rendering
mSceneMgr->clearSpecialCaseRenderQueues();
mSceneMgr->setSpecialCaseRenderQueueMode(SceneManager::SCRQM_EXCLUDE);
mLoadingBar.finish();
}
释疑:
在Demo的父类ExampleApplication中 loadResources如下实现:
virtual void loadResources(void)
{
// Initialise, parse scripts etc
ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
}
这个被override后,里面的操作被包含了,如红色的所示。咱不会少做事,所以放心用吧
做法:
(1)先在你的demo主类头文件里加入
#include "ExampleLoadingBar.h"
(2)再在主类的protected域内加入data member:
ExampleLoadingBar mLoadingBar;
(3)再在主类的protected域内加入member function:
void loadResources(void)
{
mLoadingBar.start(mWindow, 1, 1, 0.75);
// Turn off rendering of everything except overlays
mSceneMgr->clearSpecialCaseRenderQueues();
mSceneMgr->addSpecialCaseRenderQueue(RENDER_QUEUE_OVERLAY);
mSceneMgr->setSpecialCaseRenderQueueMode(SceneManager::SCRQM_INCLUDE);
// Initialise the rest of the resource groups, parse scripts etc
ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
ResourceGroupManager::getSingleton().loadResourceGroup(
ResourceGroupManager::getSingleton().getWorldResourceGroupName(),
false, true);
// Back to full rendering
mSceneMgr->clearSpecialCaseRenderQueues();
mSceneMgr->setSpecialCaseRenderQueueMode(SceneManager::SCRQM_EXCLUDE);
mLoadingBar.finish();
}
释疑:
在Demo的父类ExampleApplication中 loadResources如下实现:
virtual void loadResources(void)
{
// Initialise, parse scripts etc
ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
}
这个被override后,里面的操作被包含了,如红色的所示。咱不会少做事,所以放心用吧
相关文章推荐
- 【转载】让你的OGRE demo也有loadingBar
- 阿来(一)---让你的OGRE demo也有loadingBar
- OGRE关于 Demo_DeferedShading 例子的分析
- OGRE Demo_TextureFX(超强4个ViewPort测试)
- Ogre 简易角色Demo
- OGRE DEMO 效果截图
- Ogre -- Demo框架
- Eleventh Demo of OGRE
- OGRE关于 Demo_Ocean 例子的分析
- OGRE关于 Demo_FacialAnimation 例子的分析
- 学习OGRE制作简单人物行走demo(三)
- Fifth Demo of OGRE---Listener
- Twelfth Demo of OGRE
- Reiiden制作笔记F(OGRE中的CEGUI DEMO7 CEGUI::RenderEffect)
- OGRE关于 Demo_Instancing 例子的分析
- OGRE例子:Demo_Ocean 源码解析
- Ogre水波演示Demo(注释)
- OGRE Demo_Ocean 例子的分析
- OGRE Demo_RenderToTexture 渲染到纹理
- OGRE关于Demo_CubeMapping 的学习