Ignore:
Timestamp:
03/26/07 18:49:17 (17 years ago)
Author:
mattausch
Message:
 
Location:
GTP/trunk/Lib/Vis/OnlineCullingCHC/src
Files:
4 edited

Legend:

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

    r2289 r2292  
    1111        SetAssumedVisibility(0); 
    1212        // initialise random generator in case we use assumed visibility 
    13         srand(time(NULL)); 
     13        //srand(time(NULL)); 
    1414} 
    1515//----------------------------------------------------------------------- 
     
    1919        SetAssumedVisibility(assumedVisibility); 
    2020        // initialise random generator in case we use assumed visibility 
    21         srand(time(NULL)); 
     21        //srand(time(NULL)); 
    2222} 
    2323//----------------------------------------------------------------------- 
    2424void CoherentHierarchicalCullingManager::RenderScene() 
    2525{ 
    26         CullingLogManager::GetSingleton()->LogMessage("chc"); 
     26        if (0) CullingLogManager::GetSingleton()->LogMessage("chc"); 
    2727        QueryQueue queryQueue; 
    2828        unsigned int visiblePixels = 0; 
     
    158158inline void CoherentHierarchicalCullingManager::SkipQuery(HierarchyNode *node) const 
    159159{ 
    160         // -- set node to be visible in this frame, then traverse it 
     160        //-- set node to be visible in this frame, then traverse it 
    161161        mHierarchyInterface->SetLastVisited(node, mHierarchyInterface->GetFrameId()); 
    162162         
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/src/FrustumCullingManager.cpp

    r2289 r2292  
    88void FrustumCullingManager::RenderScene() 
    99{        
    10         CullingLogManager::GetSingleton()->LogMessage("vfc"); 
     10        if (0) CullingLogManager::GetSingleton()->LogMessage("vfc"); 
    1111 
    1212        while (!mHierarchyInterface->GetQueue()->empty()) 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/src/RandomUpdateCullingManager.cpp

    r2289 r2292  
    22#include <time.h> 
    33#include "CullingLogManager.h" 
     4#include <vector> 
     5//#include <iostream> 
     6#include <sstream> 
     7 
     8 
     9using namespace std; 
    410 
    511 
     
    1218        SetAssumedVisibility(0); 
    1319        // initialise random generator in case we use assumed visibility 
    14         srand(time(NULL)); 
     20        //srand(time(NULL)); 
    1521 
    1622        mRandomCandidates = R_CANDIDATES; 
     
    2228        SetAssumedVisibility(assumedVisibility); 
    2329        // initialise random generator in case we use assumed visibility 
    24         srand(time(NULL)); 
     30        //srand(time(NULL)); 
    2531 
    2632        mRandomCandidates = R_CANDIDATES; 
     
    2935void RandomUpdateCullingManager::RenderScene() 
    3036{ 
    31         CullingLogManager::GetSingleton()->LogMessage("ruc"); 
     37        if (0) CullingLogManager::GetSingleton()->LogMessage("ruc"); 
    3238 
    3339        QueryQueue queryQueue; 
     
    3743        //-- PART 1: process finished occlusion queries 
    3844 
    39         // update the fully visible classifications 
    40         mHierarchyInterface->DetermineFullVisibility(mHierarchyInterface->GetHierarchyRoot()); 
    41  
    42         //mHierarchyInterface->TraverseNode2(mHierarchyInterface->GetHierarchyRoot()); 
    43          
    44 #if 1 
    4545        while (!mHierarchyInterface->GetQueue()->empty() || !queryQueue.empty()) 
    4646        { 
     
    121121                                if (mHierarchyInterface->IsNodeFullyVisible(node)) 
    122122                                { 
     123#if 1 
    123124                                        // node fully visible => test only random leaves 
    124125                                        for (int i = 0; i < mRandomCandidates; ++ i) 
     
    138139                                                        mHierarchyInterface->IssueNodeOcclusionQuery(node))); 
    139140                                        } 
    140  
    141                                         mHierarchyInterface->TraverseNode2(node); 
     141#else 
     142                                        // test all leaves for visibility changes 
     143                                        HierarchyNodeContainer mynodes; 
     144                                        mHierarchyInterface->CollectLeaves(node, mynodes); 
     145 
     146                                        HierarchyNodeContainer::const_iterator nit, nit_end = mynodes.end(); 
     147 
     148                                        for (nit = mynodes.begin(); nit != nit_end; ++ nit) 
     149                                        { 
     150                                                HierarchyNode *leaf = *nit; 
     151                                                mHierarchyInterface->SetNodeVisible(leaf, false); 
     152 
     153                                                // update node's visited flag 
     154                                                mHierarchyInterface->SetLastVisited(leaf, mHierarchyInterface->GetFrameId()); 
     155 
     156                                                queryQueue.push(QueryPair(leaf,  
     157                                                        mHierarchyInterface->IssueNodeOcclusionQuery(node))); 
     158                                        } 
     159#endif 
     160                                        mHierarchyInterface->RenderNodeRecursive(node); 
    142161 
    143162                                        continue; 
     
    173192                } 
    174193        } 
    175 #endif 
     194 
    176195        //while (!mHierarchyInterface->GetQueue()->empty()) 
    177196        //      mHierarchyInterface->GetQueue()->pop(); 
    178          
     197 
     198        // update the fully visible classifications 
     199        // TODO: this should be done during traversal! 
     200        mHierarchyInterface->DetermineFullVisibility(mHierarchyInterface->GetHierarchyRoot()); 
    179201} 
    180202//----------------------------------------------------------------------- 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/src/StopAndWaitCullingManager.cpp

    r2289 r2292  
    77void StopAndWaitCullingManager::RenderScene() 
    88{ 
    9         CullingLogManager::GetSingleton()->LogMessage("swc"); 
     9        if (0) CullingLogManager::GetSingleton()->LogMessage("swc"); 
    1010 
    1111        while (!mHierarchyInterface->GetQueue()->empty()) 
Note: See TracChangeset for help on using the changeset viewer.