Ignore:
Timestamp:
04/01/05 17:28:57 (19 years ago)
Author:
mattausch
Message:
 
Location:
trunk/VUT/OcclusionCullingSceneManager/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingDotSceneManager.cpp

    r33 r37  
    1515        { 
    1616                mOcclusionCullingSceneTraverser = new OcclusionCullingSceneTraverser(this, mDestRenderSystem); 
     17                //mDisplayNodes = true; 
     18                mShowBoundingBoxes = true; 
     19                //mShowBoxes = true; 
    1720        } 
    1821        //----------------------------------------------------------------------- 
     
    2427        void OcclusionCullingDotSceneManager::_renderVisibleObjects(void) 
    2528        { 
     29                DotSceneManager::_renderVisibleObjects( ); 
     30                getRenderQueue()->clear(); 
     31 
    2632                mOcclusionCullingSceneTraverser->renderScene(mCameraInProgress, mSceneRoot); 
    2733        } 
     
    3541        void OcclusionCullingDotSceneManager::_updateSceneGraph(Camera* cam) 
    3642        { 
     43                mOcclusionCullingSceneTraverser->setNumSceneNodes(mSceneNodes.size()); 
     44                mOcclusionCullingSceneTraverser->setRenderSystem(mDestRenderSystem); 
     45 
    3746        mOcclusionCullingSceneTraverser->preprocess(); 
    38  
     47                 
    3948                DotSceneManager::_updateSceneGraph(cam); 
    4049        } 
  • trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingSceneManager.cpp

    r33 r37  
    3131        { 
    3232                mOcclusionCullingSceneTraverser->renderScene(mCameraInProgress, mSceneRoot); 
     33                SceneManager::_renderVisibleObjects( ); 
    3334        } 
    3435        //----------------------------------------------------------------------- 
     
    4142        { 
    4243                mOcclusionCullingSceneTraverser->setNumSceneNodes(mSceneNodes.size()); 
    43                 mOcclusionCullingSceneTraverser->preprocess(); 
     44                mOcclusionCullingSceneTraverser->setRenderSystem(mDestRenderSystem); 
     45 
     46        mOcclusionCullingSceneTraverser->preprocess(); 
    4447                 
    4548                SceneManager::_updateSceneGraph(cam); 
  • trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingSceneManagerDll.cpp

    r34 r37  
    3434namespace Ogre { 
    3535 
    36     OcclusionCullingSceneManager *occlusionPlugin; 
     36    OcclusionCullingDotSceneManager *occlusionPlugin; 
    3737        OcclusionCullingTerrainSceneManager *occlusionTerrainPlugin; 
    3838        HeightmapTerrainPageSource* heightmapTerrainPageSource; 
     
    4242    { 
    4343                // Create new scene manager 
    44                 occlusionPlugin = new OcclusionCullingSceneManager(); 
     44                occlusionPlugin = new OcclusionCullingDotSceneManager(); 
    4545                occlusionTerrainPlugin = new OcclusionCullingTerrainSceneManager(); 
    4646                heightmapTerrainPageSource = new HeightmapTerrainPageSource(); 
  • trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingSceneTraverser.cpp

    r34 r37  
    4242                mCurrentTestIdx = 0; 
    4343 
    44                 mCurrentAlgorithm = RENDER_CULL_FRUSTUM; 
     44                //mCurrentAlgorithm = RENDER_CULL_FRUSTUM; 
    4545                switch(mCurrentAlgorithm) 
    4646                { 
     
    145145                        node->setNodeVisible(false); 
    146146                                 
    147                         if(!cam->isVisible(node->_getWorldAABB())) 
     147                        if(cam->isVisible(node->_getWorldAABB())) 
    148148                        { 
    149149                                // update node's visited flag  
     
    152152                                traverseNode(cam, node); 
    153153                        } 
    154                         //else 
    155                                 if(cam->isVisible(node->_getWorldAABB())) 
    156                                 { 
    157                                         mNumQueryCulledNodes ++; 
    158                                 }else 
     154                        else 
    159155                        {                        
    160156                                mNumFrustumCulledNodes ++; 
     
    203199                // change state so the bounding box gets not actually rendered on the screen 
    204200                setRenderingMode(MODE_QUERY); 
     201                //setRenderingMode(MODE_RENDER); 
    205202 
    206203                // get next available test id 
     
    257254                //HACK (too slow) 
    258255                mSceneManager->_renderSceneNode(cam, node); 
    259                 //MessageBox( NULL, "myplugin registered", "this is my plugin", MB_OK | MB_ICONERROR | MB_TASKMODAL); 
    260256        } 
    261257        //----------------------------------------------------------------------- 
     
    265261                deleteQueries(); 
    266262                 
     263                //char str[100];sprintf(str, "num nodes: %d", mNumSceneNodes); 
     264                //MessageBox( NULL, str, "this is my plugin", MB_OK | MB_ICONERROR | MB_TASKMODAL); 
     265 
    267266                for(unsigned int i=0; i < mNumSceneNodes; i++) 
    268267                { 
     
    312311        void OcclusionCullingSceneTraverser::deleteQueries( void ) 
    313312        { 
    314                 for(unsigned int i=0; i < mNumSceneNodes; i++) 
     313                for(unsigned int i=0; i < mOcclusionQueries.size(); i++) 
    315314                        delete mOcclusionQueries[i]; 
    316315 
  • trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingTerrainSceneTraverser.cpp

    r36 r37  
    2222                } 
    2323        } 
    24         //----------------------------------------------------------------------- 
     24/*      //----------------------------------------------------------------------- 
    2525        void OcclusionCullingTerrainSceneTraverser::renderSceneNode( Camera *cam, SceneNode *node ) 
    2626        { 
     
    3131                //MessageBox( NULL, "myplugin registered", "this is my plugin", MB_OK | MB_ICONERROR | MB_TASKMODAL); 
    3232        } 
    33         //----------------------------------------------------------------------- 
    34         /*unsigned int OcclusionCullingSceneManager::countSceneNodes(SceneNode *node) 
    35         { 
    36                 unsigned int result = 1; 
    37                  
    38                 Node::ChildNodeIterator it = node->getChildIterator(); 
    39                  
    40                 while (it.hasMoreElements()) 
    41                 {  
    42                         SceneNode* sceneChild = static_cast<SceneNode*>(it.getNext()); 
    43                         result += countSceneNodes(sceneChild); 
    44         } 
    45  
    46                 return result; 
    47         }*/ 
    4833        //----------------------------------------------------------------------- 
    4934        bool OcclusionCullingTerrainSceneTraverser::isLeaf( SceneNode *node ) 
     
    7964                        //      getSolidHalfBoundingBox(half)->getTechnique()->getPass(0), false); 
    8065                } 
    81         } 
     66        }*/ 
    8267}        
Note: See TracChangeset for help on using the changeset viewer.