Ignore:
Timestamp:
12/10/07 12:18:49 (17 years ago)
Author:
mattausch
Message:
 
Location:
GTP/trunk/Lib/Vis/OnlineCullingCHC
Files:
3 edited

Legend:

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

    r2558 r2561  
    308308        // get next available test id 
    309309        GtpVisibility::OcclusionQuery *query = GetNextOcclusionQuery(); 
     310        GtpVisibility::HierarchyNodeContainer::const_iterator nit, nit_end = nodes.end(); 
    310311 
    311312        //-- the actual query test 
    312313        query->BeginQuery();     
    313  
    314         GtpVisibility::HierarchyNodeContainer::const_iterator nit, nit_end = nodes.end(); 
    315  
    316314        mIsBoundingBoxQuery = true; 
    317315 
     
    324322         
    325323        mIsBoundingBoxQuery = false; 
    326  
    327324        query->EndQuery(); 
    328325 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/src/CoherentHierarchicalCullingManager.cpp

    r2556 r2561  
    5353                        mQueryQueue.pop(); 
    5454 
    55                         // "invalid nodes" happen for hierarchies that have geometry 
    56                         // not neccessarily in the leaves: 
    5755                        // parent was tested invisible => remove children from queue 
    58  
    59                         if (1 && NodeInvalid(node)) 
    60                                 continue; 
     56                        // "invalid nodes" happen for hierarchies where interiors store geometry 
     57                        if (NodeInvalid(node)) continue; 
    6158 
    6259                        // tested visible 
     
    6663                                AssignAssumedVisibility(node); 
    6764 
    68                                 // for previously visible interior node which contains geometry:  
    69                                 // ensure that we did not already traverse this node  
    70                                 // (which means that the visibility flag is set) 
     65                                // traverse node if not already traversed in this frame  
     66                                // (i.e., the visible flag is not set) 
     67                                // note: it is necessary to do this test because we query 
     68                                // previously visible interior node containing geometry  
     69                                // without waiting for the result 
    7170                                if (!mHierarchyInterface->IsNodeVisible(node)) 
    7271                                        mHierarchyInterface->TraverseNode(node); 
     
    9796                                 
    9897                        // parent was tested invisible => remove children from queue 
    99                         if (1 && NodeInvalid(node)) 
    100                                 continue; 
     98                        if (NodeInvalid(node)) continue; 
    10199 
    102100                        bool intersects = false; 
     
    196194                    !mHierarchyInterface->IsNodeVisible(mHierarchyInterface->GetParent(node)) 
    197195           ); 
    198  
    199          
    200         if (nodeInvalid) 
    201         { 
    202                 CullingLogManager::GetSingleton()->LogMessage("node invalid"); 
    203         } 
    204  
    205196        return nodeInvalid; 
    206197} 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/src/CoherentHierarchicalCullingPlusPlusManager.cpp

    r2557 r2561  
    6363                        HierarchyNode *node = mQueryQueue.front().first; 
    6464 
    65                         // "invalid nodes" happen for hierarchies that store geometry in the interiors 
    6665                        // parent was tested invisible => remove children from queue 
     66                        // "invalid nodes" happen for hierarchies where interiors store geometry 
    6767                        if (NodeInvalid(node)) {mQueryQueue.pop(); continue;} 
    6868 
    6969                        // during the wait time we issue nodes from visible queue 
    70                         while (1 && !mVisibleNodes.empty() && !resultAvailable) 
     70                        while (!mVisibleNodes.empty() && !resultAvailable) 
    7171                        { 
    7272                                HierarchyNode *vn = mVisibleNodes.front(); 
     
    9090                                AssignAssumedVisibility(node); 
    9191 
    92                                 // for previously visible interior node which contains geometry:  
    93                                 // ensure that we did not already traverse this node  
    94                                 // (which means that the visibility flag is set) 
     92                                // traverse node if not already traversed in this frame  
     93                                // (i.e., the visible flag is not set) 
     94                                // note: it is necessary to do this test because we query 
     95                                // previously visible interior node containing geometry without 
     96                                // waiting for the result 
    9597                                if (!mHierarchyInterface->IsNodeVisible(node)) 
    9698                                        mHierarchyInterface->TraverseNode2(node); 
     
    299301         ); 
    300302 
    301         /*if (nodeInvalid) 
    302                 CullingLogManager::GetSingleton()->LogMessage("node invalid"); 
    303         */ 
    304  
    305303        return nodeInvalid; 
    306304} 
Note: See TracChangeset for help on using the changeset viewer.