Changeset 44 for trunk/VUT/OcclusionCullingSceneManager/src
- Timestamp:
- 04/12/05 18:32:32 (19 years ago)
- Location:
- trunk/VUT/OcclusionCullingSceneManager/src
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingDotSceneManager.cpp
r42 r44 5 5 #include "OgreCamera.h" 6 6 #include "OgreHardwareOcclusionQuery.h" 7 //#include "OgreWireBoundingBox.h"8 7 #include "OgreSolidHalfBoundingBox.h" 9 8 -
trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingSceneTraverser.cpp
r42 r44 4 4 #include "OgreCamera.h" 5 5 #include "OgreHardwareOcclusionQuery.h" 6 //#include "OgreWireBoundingBox.h"7 6 #include "OgreSolidHalfBoundingBox.h" 8 7 … … 55 54 break; 56 55 case RENDER_COHERENT: 57 renderCoherentWithQueue(cam); 56 //renderCoherentWithQueue(cam); 57 renderStopAndWait(cam); 58 58 break; 59 59 default: … … 228 228 // change state so the bounding box gets not actually rendered on the screen 229 229 // TODO: in rendervisibleobjects, the rendermode is changed by ogre itself => change this!! 230 setRenderingMode(MODE_QUERY); 231 //setRenderingMode(MODE_RENDER); 230 231 //setRenderingMode(MODE_QUERY); 232 setRenderingMode(MODE_RENDER); 232 233 233 234 // get next available test id … … 247 248 { 248 249 // avoid unnecessary state changes 249 if(mode != mQueryMode)250 {250 //if(mode != mQueryMode) 251 //{ 251 252 bool enabled = (mode == MODE_RENDER); 252 253 … … 257 258 258 259 mQueryMode = mode; 259 }260 //} 260 261 } 261 262 //----------------------------------------------------------------------- -
trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingTerrainSceneManager.cpp
r42 r44 5 5 #include "OgreCamera.h" 6 6 #include "OgreHardwareOcclusionQuery.h" 7 //#include "OgreWireBoundingBox.h"8 7 #include "OgreSolidHalfBoundingBox.h" 9 8 … … 19 18 //mDisplayNodes = true; 20 19 //mShowBoundingBoxes = true; 21 mShowBoxes = true;22 //mMaxDepth = 20;20 //mShowBoxes = true; 21 mMaxDepth = 20; 23 22 } 24 23 //----------------------------------------------------------------------- … … 66 65 { 67 66 //char *msg = "now updating scenegraph\n"; OutputDebugString(msg); 67 //mOcclusionCullingTerrainSceneTraverser->preprocess(); 68 68 69 mOcclusionCullingTerrainSceneTraverser->setNumSceneNodes((int)mSceneNodes.size()); 69 70 mOcclusionCullingTerrainSceneTraverser->setRenderSystem(mDestRenderSystem); 70 //mOcclusionCullingTerrainSceneTraverser->preprocess();71 71 72 mOcclusionCullingTerrainSceneTraverser->setNumOctreeNodes(mNumOctreeNodes); 72 73 … … 99 100 NodeList::iterator it = octant->mNodes.begin(); 100 101 101 while ( it != octant->mNodes.end())102 while(it != octant->mNodes.end()) 102 103 { 103 104 OctreeNode *sn = *it; … … 106 107 107 108 // check bounding box visibility of scene nodes 108 if ( cam->isVisible( sn->_getWorldAABB() ))109 if (cam->isVisible(sn->_getWorldAABB())) 109 110 { 110 sn->_addToRenderQueue(cam, getRenderQueue(), false 111 sn->_addToRenderQueue(cam, getRenderQueue(), false); 111 112 //node->_findVisibleObjects(cam, getRenderQueue(), false, mDisplayNodes, false); 112 mVisible.push_back( sn);113 mVisible.push_back(sn); 113 114 114 if ( mDisplayNodes)115 getRenderQueue()->addRenderable( sn);115 if (mDisplayNodes) 116 getRenderQueue()->addRenderable(sn); 116 117 117 118 // check if the scene manager or this node wants the bounding box shown. … … 119 120 sn->_addBoundingBoxToQueue(getRenderQueue()); 120 121 121 if ( mShowBoxes)122 if (mShowBoxes) 122 123 getRenderQueue()->addRenderable(octant->getWireBoundingBox()); 123 124 } -
trunk/VUT/OcclusionCullingSceneManager/src/OgreOcclusionCullingTerrainSceneTraverser.cpp
r42 r44 23 23 24 24 // if we come across some renderable geometry => render it 25 if(octant->numNodes() > 0) 26 { 27 renderOctant(cam, octant); 28 } 29 25 renderOctant(cam, octant); 26 30 27 for(int i=0; i<8; i++) 31 28 { … … 90 87 continue; 91 88 } 92 // 89 //if intersects near plane => skip occlusion query because wrong results possible 93 90 if(intersects) 94 91 { … … 212 209 { 213 210 // if we come across some renderable geometry => render it 214 if(octant->numNodes() > 0) 215 { 216 renderOctant(cam, octant); 217 } 218 211 renderOctant(cam, octant); 212 219 213 octant->setOctreeVisible(true); 220 214 octant = octant->getParent(); … … 224 218 void OcclusionCullingTerrainSceneTraverser::renderOctant( Camera *cam, Octree *octant ) 225 219 { 220 //if(octant->numNodes() > 0) 226 221 if(octant->lastVisited() != octant->lastRendered()) 227 222 { 228 setRenderingMode(MODE_RENDER);223 //setRenderingMode(MODE_RENDER); 229 224 230 225 octant->setLastRendered(octant->lastVisited());
Note: See TracChangeset
for help on using the changeset viewer.