Ogre资源卸载

     if  ( MaterialManager::getSingleton().resourceExists( " xugenMat " ) )
    
{
        
        MaterialManager::getSingleton().unload(
"xugenMat");
        MaterialManager::getSingleton().remove(
"xugenMat");
    }


    
if  ( NULL  !=  m_xugenMesh )
    
{
        m_xugenMesh
->detatchFromParent();
        m_SceneMgr
->destroyManualObject("xugenMesh");
    }


//      ResourceGroupManager::getSingleton().undeclareResource("xugenMat", ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
//      ResourceGroupManager::getSingleton().undeclareResource("xugenMesh", ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);


     for  (size_t i = 0 ; i  <  m_stemMatNameList.size(); i ++ )
    
{
        
if ( MaterialManager::getSingleton().resourceExists(m_stemMatNameList[i]) )
        
{
            MaterialManager::getSingleton().unload( m_stemMatNameList[i] ) ;
            MaterialManager::getSingleton().remove( m_stemMatNameList[i] ) ;
        }


        m_SceneMgr
->getManualObject( m_stemMeshNameList[i] )->detatchFromParent() ;
        m_SceneMgr
->destroyManualObject( m_stemMeshNameList[i] ) ;

        m_SceneMgr
->getSceneNode( m_stemNodeNameList[i] )->detachAllObjects();
        m_SceneMgr
->destroySceneNode( m_stemNodeNameList[i] ) ;
    }

    m_stemMatNameList.clear() ;
    m_stemMeshNameList.clear() ;
    m_stemNodeNameList.clear() ;

     for  (size_t i  =   0 ; i  <  m_leafEntNameList.size(); i ++ )
    
{
        m_SceneMgr
->getSceneNode( m_leafNodeNameList[i] )->detachAllObjects();
        m_SceneMgr
->destroySceneNode( m_leafNodeNameList[i] ) ;
        m_SceneMgr
->destroyEntity(m_leafEntNameList[i]) ;
    }

    m_leafEntNameList.clear() ;
    m_leafNodeNameList.clear() ;


还是有点乱,没搞明白,比如 ResourceGroupManager::getSingleton().undeclareResource("xugenMat", ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME);
什么时候用

你可能感兴趣的:(Ogre资源卸载)