阿来(一)---让你的OGRE demo也有loadingBar- -

阿来(一)---让你的OGRE demo也有loadingBar- -

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后,里面的操作被包含了,如红色的所示。咱不会少做事,所以放心用吧!

2007-11-15

发现这篇我在大学里研究OGRE写的笔记被很多网站转载了,呵呵。

原来我也不是放在这个博客上的,忘了最早是放在哪儿的,我写的东西对别人有用,我非常高兴,我是一个对社会有用的人了!

 


你可能感兴趣的:(阿来(一)---让你的OGRE demo也有loadingBar- -)