Ignore:
Timestamp:
08/21/06 17:05:45 (18 years ago)
Author:
szydlowski
Message:

implemented enhanced vis with early abort
also own frame & time counter in demo mode
fixed dependencies in solution file

Location:
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreKdTree.cpp

    r1211 r1250  
    11881188                bool showBoxes, KdTree::NodeList& visibleNodes) 
    11891189        { 
     1190                // debug 
     1191                //cam->mNumVisQueries = 0; 
     1192 
    11901193                if (mKdRoot) 
    11911194                        recQueueVisibleObjects(mKdRoot, Root::getSingleton().getCurrentFrameNumber(), 
    11921195                                cam, queue, onlyShadowCasters, showBoxes, visibleNodes); 
     1196 
     1197                //mBuildLog->logMessage("Frame # " + StringConverter::toString(Root::getSingleton().getCurrentFrameNumber()) + 
     1198                //      " ," + StringConverter::toString(cam->mNumVisQueries) + " vis queries"); 
    11931199        } 
    11941200 
     
    12071213                        visibleNodes.push_back(node); 
    12081214 
    1209                         node->queueVisibleObjects(currentFrame, cam, queue, onlyShadowCasters, showBoxes); 
    1210  
    1211                         if (node->getLeftChild()) 
    1212                                 recQueueVisibleObjects(node->getLeftChild(), currentFrame,  
    1213                                 cam, queue, onlyShadowCasters, showBoxes, visibleNodes,  
    1214                                 (fullVis || vis == KdTreeCamera::KDNV_FULL) ? true : false); 
    1215                         if (node->getRightChild()) 
    1216                                 recQueueVisibleObjects(node->getRightChild(), currentFrame,  
    1217                                 cam, queue, onlyShadowCasters, showBoxes, visibleNodes,  
    1218                                 (fullVis || vis == KdTreeCamera::KDNV_FULL) ? true : false); 
     1215                        bool v = (fullVis || vis == KdTreeCamera::KDNV_FULL); 
     1216                        node->queueVisibleObjects(currentFrame, cam, queue, onlyShadowCasters, showBoxes, v); 
     1217 
     1218                        if (!v) 
     1219                        { 
     1220 
     1221                                if (node->getLeftChild()) 
     1222                                        recQueueVisibleObjects(node->getLeftChild(), currentFrame,  
     1223                                        cam, queue, onlyShadowCasters, showBoxes, visibleNodes, v); 
     1224                                if (node->getRightChild()) 
     1225                                        recQueueVisibleObjects(node->getRightChild(), currentFrame,  
     1226                                        cam, queue, onlyShadowCasters, showBoxes, visibleNodes, v); 
     1227                        } 
    12191228                } 
    12201229        } 
     
    13661375        //------------------------------------------------------------------------- 
    13671376        void KdTree::Leaf::queueVisibleObjects(unsigned long currentFrame,  
    1368                 Camera* cam, RenderQueue* queue, bool onlyShadowCasters, bool showBoxes) 
     1377                Camera* cam, RenderQueue* queue, bool onlyShadowCasters, bool showBoxes, bool fullVis) 
    13691378        { 
    13701379                KdRenderableList::iterator it  = mKdRenderables.begin(); 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreKdTreeCamera.cpp

    r1212 r1250  
    2828{ 
    2929        mEnhancedVisMode = enhanced; 
    30         //if (mEnhancedVisMode) 
    31         //      getVisibility = getVisibilityEnhanced; 
    32         //else 
    33         //      getVisibility = getVisibilitySimple; 
    3430} 
    3531 
     
    4339KdTreeCamera::NodeVisibility KdTreeCamera::getVisibilityEnhanced(const AxisAlignedBox& box) const 
    4440{ 
     41        //++ mNumVisQueries; 
    4542        // Null boxes always invisible 
    4643        if ( box.isNull() ) 
     
    10198KdTreeCamera::NodeVisibility KdTreeCamera::getVisibilitySimple(const AxisAlignedBox& box) const 
    10299{ 
     100        //++ mNumVisQueries; 
     101 
    103102        // dummy 
    104103        FrustumPlane* culledBy = 0; 
Note: See TracChangeset for help on using the changeset viewer.