void Global::destroy() { // destroySceneManager(); // destroyTextureManager(); // destroyFxManager(); // destroyStateManager(); }
LRESULT ViewWindow::onDestroy( UINT, WPARAM, LPARAM, BOOL& ) { // destroySceneManager(); // destroyFxManager(); // if (getRenderContex()) { destroyRenderContex(); } return 1; }
void BaseManager::shutdown() { mPreLuaScript.clear(); mPreLuaLocation.clear(); mPreLoad.clear(); destroyScene(); destroyPointerManager(); destroyInput(); destroyGui(); mSceneManager->destroyQuery( mSceneQuery ); mSceneQuery = nullptr; destroySceneManager(); //清除内部帧监听器 //必须在destroyScene等后面被施放 delete mInputFilter; mInputFilter = nullptr; if (mRoot) { Ogre::RenderWindow* window = mRoot->getAutoCreatedWindow(); if (window) window->removeAllViewports(); OGRE_DELETE mRoot; mRoot = nullptr; } if( mCoutSource ){ //删除mCoutSource,不要过早删除它。 delete mCoutSource; mCoutSource = nullptr; } }
KVOID AppFrame::Destroy() { SAFE_DEL(m_pRenderableMgr); if (EffectManager::Initialized()) KDEL EffectManager::GetSingletonPtr(); SAFE_DEL(m_pScriptVM); SAFE_DEL(m_pGuiMgr); SAFE_DEL(m_pCameraCtrl); if (OgreRoot::Initialized()) KDEL OgreRoot::GetSingletonPtr(); if (DataManager::Initialized()) KDEL DataManager::GetSingletonPtr(); //SAFE_DEL(m_pRenderableMgr); //SAFE_CALL(m_pSceneMgr,clearScene()); Ogre::ResourceGroupManager::ResourceManagerIterator resMgrs = Ogre::ResourceGroupManager::getSingleton().getResourceManagerIterator(); while (resMgrs.hasMoreElements()) { resMgrs.getNext()->unloadUnreferencedResources(); } SAFE_CALL(m_pRoot,destroySceneManager(m_pSceneMgr)); //Remove ourself as a Window listener Ogre::WindowEventUtilities::removeWindowEventListener(m_pWindow, this); //windowClosed(m_pWindow); SAFE_DEL(m_pInputMgr); if (m_pRoot) OGRE_DELETE m_pRoot;