Ignore:
Timestamp:
10/05/07 15:36:52 (17 years ago)
Author:
mattausch
Message:

added partial implementation of chc++. problem: bounding box rendering in Ogre is VERY slow

File:
1 edited

Legend:

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

    r2455 r2555  
    55#include "DummyPreprocessingManager.h" 
    66#include "RandomUpdateCullingManager.h" 
     7#include "CoherentHierarchicalCullingPlusPlusManager.h" 
    78#include "CullingLogManager.h" 
    89 
     
    1920mAssumedVisibilityForChc(0) 
    2021{ 
    21 #if 1 
    2222        SetCullingManager(VisibilityEnvironment::COHERENT_HIERARCHICAL_CULLING); 
    23 #endif 
    24 #if 0    
    25         SetCullingManager(VisibilityEnvironment::STOP_AND_WAIT_CULLING); 
    26 #endif 
    27 #if 0 
    28         SetCullingManager(VisibilityEnvironment::FRUSTUM_CULLING); 
    29 #endif 
    3023} 
    3124//----------------------------------------------------------------------- 
     
    6154                        mCullingManager = new FrustumCullingManager(); 
    6255                        break; 
    63                 case VisibilityEnvironment::RANDOM_UPDATE_CULLING: 
     56                case VisibilityEnvironment::COHERENT_HIERARCHICAL_CULLING_PLUSPLUS: 
    6457                        { 
    65                                 RandomUpdateCullingManager *rum = new RandomUpdateCullingManager(mRandomCandidatesForRuc); 
    66                                 rum->SetTestGeometryForVisibleLeaves(mTestGeometryForVisibleLeaves); 
    67                                 mCullingManager = rum; 
     58                                CoherentHierarchicalCullingPlusPlusManager *chcm =  
     59                                        new CoherentHierarchicalCullingPlusPlusManager(mAssumedVisibilityForChc); 
     60                                mCullingManager = chcm; 
    6861                        } 
    6962                        break; 
     
    118111        mAssumedVisibilityForChc = assumedVisibility; 
    119112 
    120         if (mCullingManagerType == VisibilityEnvironment::COHERENT_HIERARCHICAL_CULLING) 
     113        switch (mCullingManagerType) 
    121114        { 
     115        case VisibilityEnvironment::COHERENT_HIERARCHICAL_CULLING: 
    122116                static_cast<CoherentHierarchicalCullingManager *>(mCullingManager)-> 
    123117                                SetAssumedVisibility(mAssumedVisibilityForChc); 
     118                break; 
     119        case VisibilityEnvironment::COHERENT_HIERARCHICAL_CULLING_PLUSPLUS: 
     120                static_cast<CoherentHierarchicalCullingPlusPlusManager *>(mCullingManager)-> 
     121                                SetAssumedVisibility(mAssumedVisibilityForChc); 
     122                break; 
    124123        } 
    125124} 
     
    129128        mRandomCandidatesForRuc = randomCandidates; 
    130129 
    131         if (mCullingManagerType == VisibilityEnvironment::RANDOM_UPDATE_CULLING) 
     130        if (mCullingManagerType == VisibilityEnvironment::COHERENT_HIERARCHICAL_CULLING_PLUSPLUS) 
    132131        { 
    133132                static_cast<RandomUpdateCullingManager *>(mCullingManager)-> 
     
    160159                                SetTestGeometryForVisibleLeaves(mTestGeometryForVisibleLeaves); 
    161160        } 
    162         else if (mCullingManagerType == VisibilityEnvironment::RANDOM_UPDATE_CULLING) 
     161        /*else if (mCullingManagerType == VisibilityEnvironment::COHERENT_HIERARCHICAL_CULLING_PLUSPLUS) 
    163162        { 
    164163                static_cast<RandomUpdateCullingManager *>(mCullingManager)-> 
    165164                                SetTestGeometryForVisibleLeaves(mTestGeometryForVisibleLeaves); 
    166         } 
     165        }*/ 
    167166} 
    168167//----------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.