Ignore:
Timestamp:
04/04/06 23:55:38 (19 years ago)
Author:
mattausch
Message:

improved performance of TerrainSceneManager?
revisit octreescenemanager

Location:
GTP/trunk/Lib/Vis/OnlineCullingCHC/src
Files:
4 edited

Legend:

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

    r350 r726  
    3030        while (!mHierarchyInterface->GetQueue()->empty() || !queryQueue.empty()) 
    3131        { 
     32                // only wait for result if queue is empty 
    3233                while (!queryQueue.empty() &&  
    3334                           queryQueue.front().second->GetQueryResult(visiblePixels,  
     
    4041                        if (visiblePixels > mVisibilityThreshold) 
    4142                        { 
    42                                 // ensure that we only traverse once if geometry in node 
     43                                // in case geometry is in omterior node: ensure that we only traverse once 
    4344                                if (!mHierarchyInterface->IsNodeVisible(node)) 
     45                                { 
    4446                                        mHierarchyInterface->TraverseNode(node); 
     47                                } 
     48 
    4549                                mHierarchyInterface->PullUpVisibility(node); 
    4650                        } 
     
    96100                                { 
    97101                                        SkipQuery(node); 
    98  
    99102                                        continue; 
    100103                                } 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/src/FrustumCullingManager.cpp

    r720 r726  
    88{ 
    99        if (0) Ogre::LogManager::getSingleton().logMessage("Frustum Culling"); 
     10 
    1011        while (!mHierarchyInterface->GetQueue()->empty()) 
    1112        { 
    1213                HierarchyNode *node = mHierarchyInterface->GetQueue()->top(); 
    1314                mHierarchyInterface->GetQueue()->pop(); 
    14                  
     15 
    1516                // interesting for visualization purpose 
    1617                mHierarchyInterface->SetNodeVisible(node, false); 
     
    3334        } 
    3435} 
    35  
    3636} // namespace GtpVisibility 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/src/HierarchyInterface.cpp

    r316 r726  
    77//----------------------------------------------------------------------- 
    88HierarchyInterface::HierarchyInterface():  
    9 mFrameId(0), mNumTraversedNodes(0), mHierarchyRoot(NULL),  
    10 mSavedNode(NULL), mCurrentTestIdx(0), mTestGeometryForVisibleLeaves(false) 
     9mFrameId(0),  
     10mNumTraversedNodes(0),  
     11mHierarchyRoot(NULL),  
     12mSavedNode(NULL),  
     13mCurrentTestIdx(0),  
     14mTestGeometryForVisibleLeaves(false) 
    1115{        
    1216        mDistanceQueue = new DistanceQueue(GtDistance<HierarchyNode *>(this)); 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/src/VisibilityManager.cpp

    r722 r726  
    1818mAssumedVisibilityForChc(0) 
    1919{ 
    20  
    2120#if 1 
    2221        SetCullingManager(VisibilityEnvironment::COHERENT_HIERARCHICAL_CULLING); 
Note: See TracChangeset for help on using the changeset viewer.