Changeset 37 for trunk/VUT/OcclusionCullingSceneManager/src
- Timestamp:
- 04/01/05 17:28:57 (20 years ago)
- Location:
- trunk/VUT/OcclusionCullingSceneManager/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingDotSceneManager.cpp
r33 r37 15 15 { 16 16 mOcclusionCullingSceneTraverser = new OcclusionCullingSceneTraverser(this, mDestRenderSystem); 17 //mDisplayNodes = true; 18 mShowBoundingBoxes = true; 19 //mShowBoxes = true; 17 20 } 18 21 //----------------------------------------------------------------------- … … 24 27 void OcclusionCullingDotSceneManager::_renderVisibleObjects(void) 25 28 { 29 DotSceneManager::_renderVisibleObjects( ); 30 getRenderQueue()->clear(); 31 26 32 mOcclusionCullingSceneTraverser->renderScene(mCameraInProgress, mSceneRoot); 27 33 } … … 35 41 void OcclusionCullingDotSceneManager::_updateSceneGraph(Camera* cam) 36 42 { 43 mOcclusionCullingSceneTraverser->setNumSceneNodes(mSceneNodes.size()); 44 mOcclusionCullingSceneTraverser->setRenderSystem(mDestRenderSystem); 45 37 46 mOcclusionCullingSceneTraverser->preprocess(); 38 47 39 48 DotSceneManager::_updateSceneGraph(cam); 40 49 } -
trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingSceneManager.cpp
r33 r37 31 31 { 32 32 mOcclusionCullingSceneTraverser->renderScene(mCameraInProgress, mSceneRoot); 33 SceneManager::_renderVisibleObjects( ); 33 34 } 34 35 //----------------------------------------------------------------------- … … 41 42 { 42 43 mOcclusionCullingSceneTraverser->setNumSceneNodes(mSceneNodes.size()); 43 mOcclusionCullingSceneTraverser->preprocess(); 44 mOcclusionCullingSceneTraverser->setRenderSystem(mDestRenderSystem); 45 46 mOcclusionCullingSceneTraverser->preprocess(); 44 47 45 48 SceneManager::_updateSceneGraph(cam); -
trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingSceneManagerDll.cpp
r34 r37 34 34 namespace Ogre { 35 35 36 OcclusionCulling SceneManager *occlusionPlugin;36 OcclusionCullingDotSceneManager *occlusionPlugin; 37 37 OcclusionCullingTerrainSceneManager *occlusionTerrainPlugin; 38 38 HeightmapTerrainPageSource* heightmapTerrainPageSource; … … 42 42 { 43 43 // Create new scene manager 44 occlusionPlugin = new OcclusionCulling SceneManager();44 occlusionPlugin = new OcclusionCullingDotSceneManager(); 45 45 occlusionTerrainPlugin = new OcclusionCullingTerrainSceneManager(); 46 46 heightmapTerrainPageSource = new HeightmapTerrainPageSource(); -
trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingSceneTraverser.cpp
r34 r37 42 42 mCurrentTestIdx = 0; 43 43 44 mCurrentAlgorithm = RENDER_CULL_FRUSTUM;44 //mCurrentAlgorithm = RENDER_CULL_FRUSTUM; 45 45 switch(mCurrentAlgorithm) 46 46 { … … 145 145 node->setNodeVisible(false); 146 146 147 if( !cam->isVisible(node->_getWorldAABB()))147 if(cam->isVisible(node->_getWorldAABB())) 148 148 { 149 149 // update node's visited flag … … 152 152 traverseNode(cam, node); 153 153 } 154 //else 155 if(cam->isVisible(node->_getWorldAABB())) 156 { 157 mNumQueryCulledNodes ++; 158 }else 154 else 159 155 { 160 156 mNumFrustumCulledNodes ++; … … 203 199 // change state so the bounding box gets not actually rendered on the screen 204 200 setRenderingMode(MODE_QUERY); 201 //setRenderingMode(MODE_RENDER); 205 202 206 203 // get next available test id … … 257 254 //HACK (too slow) 258 255 mSceneManager->_renderSceneNode(cam, node); 259 //MessageBox( NULL, "myplugin registered", "this is my plugin", MB_OK | MB_ICONERROR | MB_TASKMODAL);260 256 } 261 257 //----------------------------------------------------------------------- … … 265 261 deleteQueries(); 266 262 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 267 266 for(unsigned int i=0; i < mNumSceneNodes; i++) 268 267 { … … 312 311 void OcclusionCullingSceneTraverser::deleteQueries( void ) 313 312 { 314 for(unsigned int i=0; i < m NumSceneNodes; i++)313 for(unsigned int i=0; i < mOcclusionQueries.size(); i++) 315 314 delete mOcclusionQueries[i]; 316 315 -
trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingTerrainSceneTraverser.cpp
r36 r37 22 22 } 23 23 } 24 //-----------------------------------------------------------------------24 /* //----------------------------------------------------------------------- 25 25 void OcclusionCullingTerrainSceneTraverser::renderSceneNode( Camera *cam, SceneNode *node ) 26 26 { … … 31 31 //MessageBox( NULL, "myplugin registered", "this is my plugin", MB_OK | MB_ICONERROR | MB_TASKMODAL); 32 32 } 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 }*/48 33 //----------------------------------------------------------------------- 49 34 bool OcclusionCullingTerrainSceneTraverser::isLeaf( SceneNode *node ) … … 79 64 // getSolidHalfBoundingBox(half)->getTechnique()->getPass(0), false); 80 65 } 81 } 66 }*/ 82 67 }
Note: See TracChangeset
for help on using the changeset viewer.