Ignore:
Timestamp:
05/25/05 18:28:46 (20 years ago)
Author:
mattausch
Message:
 
Location:
trunk/VUT/GtpVisibility
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/GtpVisibility/include/CullingManager.h

    r87 r112  
    4343        /** basic initializations on beginning of each frame, e.g.,  
    4444                resets statistics. 
     45                @param visualizeCulledNodes  
    4546        */ 
    46         void InitFrame(); 
     47        void InitFrame(bool visualizeCulledNodes); 
     48 
     49        /** Some visualization of culled nodes are shown, depending  
     50        on the type of hierarchy. 
     51        @param showVisualization if true, culled nodes are visualized 
     52        */ 
     53        void SetVisualizeCulledNodes(bool visualizeCulledNodes); 
    4754 
    4855protected: 
     
    5461 
    5562        HierarchyInterface *mHierarchyInterface; 
     63        bool mVisualizeCulledNodes; 
    5664}; 
    5765} // namespace GtpVisibility 
  • trunk/VUT/GtpVisibility/include/HierarchyInterface.h

    r111 r112  
    55 
    66namespace GtpVisibility { 
     7 
     8enum  CullingType {QUERY_CULLED, FRUSTUM_CULLED}; 
    79 
    810/**     Class which implements a hierarchy interface for a scene hierarchy. 
     
    109111        */ 
    110112        void SetUseOptimization(bool useOptimization); 
     113        //bool mIsShadowPass; 
    111114 
    112         bool mDummy; 
     115        /** Visualization of a culled node, dependent on the culling type.  
     116                @param type can be one of FRUSTUM_CULLED, QUERY_CULLED 
     117        */ 
     118        virtual void VisualizeCulledNode(HierarchyNode *node,  
     119                CullingType type) = NULL; 
    113120 
    114121protected: 
  • trunk/VUT/GtpVisibility/src/CoherentHierarchicalCullingManager.cpp

    r111 r112  
    88{ 
    99        //InitFrame(); 
    10          
    1110        QueryQueue queryQueue; 
    1211        unsigned int visiblePixels = 0; 
     
    3029                        } 
    3130                        else 
    32                         { 
    33                                 if (mHierarchyInterface->mDummy) 
     31                        {       //if (mHierarchyInterface->mIsShadowPass) 
    3432                                mNumQueryCulledNodes ++; 
     33                                 
     34                                if(mVisualizeCulledNodes) 
     35                                { 
     36                                        mHierarchyInterface->VisualizeCulledNode(node, QUERY_CULLED); 
     37                                } 
    3538                        } 
    3639                } 
     
    4548 
    4649                        if (!mHierarchyInterface->CheckFrustumVisible(node, intersects)) 
    47                         {       if (mHierarchyInterface->mDummy) 
     50                        {//if (mHierarchyInterface->mIsShadowPass) 
    4851                                mNumFrustumCulledNodes ++; 
     52                                 
     53                                if(mVisualizeCulledNodes) 
     54                                { 
     55                                        mHierarchyInterface->VisualizeCulledNode(node, QUERY_CULLED); 
     56                                } 
    4957                        } 
    5058                        else 
  • trunk/VUT/GtpVisibility/src/CullingManager.cpp

    r87 r112  
    66CullingManager::CullingManager(): 
    77mHierarchyInterface(NULL), mVisibilityThreshold(0), mNumQueryCulledNodes(0),  
    8 mNumFrustumCulledNodes(0), mNumQueriesIssued(0) 
     8mNumFrustumCulledNodes(0), mNumQueriesIssued(0), 
     9mVisualizeCulledNodes(false) 
    910{ 
    1011} 
     
    3536} 
    3637//----------------------------------------------------------------------- 
    37 void CullingManager::InitFrame() 
     38void CullingManager::SetVisualizeCulledNodes(bool visualizeCulledNodes) 
     39{ 
     40        mVisualizeCulledNodes = visualizeCulledNodes; 
     41} 
     42//----------------------------------------------------------------------- 
     43void CullingManager::InitFrame(bool visualizeCulledNodes) 
    3844{ 
    3945        mNumFrustumCulledNodes = mNumQueryCulledNodes = mNumQueriesIssued = 0; 
     46        mVisualizeCulledNodes = visualizeCulledNodes; 
    4047} 
    4148} // namespace GtpVisibility 
  • trunk/VUT/GtpVisibility/src/FrustumCullingManager.cpp

    r111 r112  
    1111        while (!mHierarchyInterface->GetQueue()->empty()) 
    1212        { 
    13                 if (mHierarchyInterface->mDummy) 
    14                         Ogre::LogManager::getSingleton().logMessage("shadow pass"); 
    15         //      elseOgre::LogManager::getSingleton().logMessage("no shadow pass"); 
    1613                HierarchyNode *node = mHierarchyInterface->GetQueue()->top(); 
    1714                mHierarchyInterface->GetQueue()->pop(); 
     
    2219 
    2320                if (!mHierarchyInterface->CheckFrustumVisible(node)) 
    24                 {if (mHierarchyInterface->mDummy) 
     21                {//if (mHierarchyInterface->mIsShadowPass) 
    2522                        mNumFrustumCulledNodes ++; 
    2623                } 
  • trunk/VUT/GtpVisibility/src/HierarchyInterface.cpp

    r111 r112  
    88HierarchyInterface::HierarchyInterface():  
    99mFrameId(0), mNumTraversedNodes(0), mNumRenderedNodes(0),  
    10 mSceneRoot(0), mPreviousNode(0), mCurrentTestIdx(0), mUseOptimization(true), 
    11 mDummy(false) 
     10mSceneRoot(0), mPreviousNode(0), mCurrentTestIdx(0), mUseOptimization(true) 
     11//, mIsShadowPass(false) 
    1212{        
    1313        mDistanceQueue = new DistanceQueue(GreaterDistance<HierarchyNode *>(this)); 
  • trunk/VUT/GtpVisibility/src/StopAndWaitCullingManager.cpp

    r111 r112  
    2121 
    2222                if (!mHierarchyInterface->CheckFrustumVisible(node, intersects)) 
    23                 {if (mHierarchyInterface->mDummy) 
     23                {//if (mHierarchyInterface->mIsShadowPass) 
    2424                        mNumFrustumCulledNodes ++; 
    2525                } 
     
    4646                        } 
    4747                        else 
    48                         { 
    49                                 if (mHierarchyInterface->mDummy) 
     48                        {       //if (mHierarchyInterface->mIsShadowPass) 
    5049                                mNumQueryCulledNodes ++; 
    5150                        } 
Note: See TracChangeset for help on using the changeset viewer.