Changeset 2765 for GTP/trunk


Ignore:
Timestamp:
06/17/08 04:21:47 (16 years ago)
Author:
mattausch
Message:
 
Location:
GTP/trunk/App/Demos/Vis/CHC_revisited
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/App/Demos/Vis/CHC_revisited/CHCTraverser.cpp

    r2764 r2765  
    1919void CHCTraverser::Render() 
    2020{ 
    21         mStats.Reset(); 
    22         mRenderState->mTexturesEnabled = false; 
    23         EnqueueNode(mBvh->GetRoot()); 
    24  
    2521        QueryQueue queryQueue; 
    2622 
     
    6359                                { 
    6460                                        // update node's visited flag 
    65                                         node->SetLastVisitedFrame(mFrameID); 
     61                                        node->SetLastVisitedFrame(mFrameId); 
    6662                                        node->SetVisible(true); 
    6763                                        mBvh->MakeParentsVisible(node); 
     
    7268                                {                
    7369                                        // identify previously visible nodes 
    74                                         const bool wasVisible = node->IsVisible() && (node->GetLastVisitedFrame() == mFrameID - 1); 
     70                                        const bool wasVisible = node->IsVisible() && (node->GetLastVisitedFrame() == mFrameId - 1); 
    7571                                         
    7672                                        // identify nodes that we cannot skip queries for 
    7773                                        const bool leafOrWasInvisible =  
    78                                                 (node->GetLastVisitedFrame() != mFrameID) && (!wasVisible || node->IsVirtualLeaf()); 
     74                                                (node->GetLastVisitedFrame() != mFrameId) && (!wasVisible || node->IsVirtualLeaf()); 
    7975 
    8076                                        // reset node's visibility classification  
     
    8278 
    8379                                        // update node's visited flag 
    84                                         node->SetLastVisitedFrame(mFrameID); 
     80                                        node->SetLastVisitedFrame(mFrameId); 
    8581                                         
    8682                                        // skip testing previously visible interior nodes 
  • GTP/trunk/App/Demos/Vis/CHC_revisited/FrustumCullingTraverser.cpp

    r2764 r2765  
    1515void FrustumCullingTraverser::Render() 
    1616{ 
    17         mStats.Reset(); 
    18         mRenderState->mTexturesEnabled = false; 
    19         EnqueueNode(mBvh->GetRoot()); 
    20  
    2117        while (!mDistanceQueue.empty()) 
    2218        { 
  • GTP/trunk/App/Demos/Vis/CHC_revisited/OcclusionQuery.h

    r2763 r2765  
    6565 
    6666        QueryHandler(); 
     67        ~QueryHandler() { DestroyQueries(); } 
    6768 
    6869        OcclusionQuery *RequestQuery(); 
     
    7172        */ 
    7273        void ResetQueries(); 
     74        /** Destroys all the queries. 
     75        */ 
    7376        void DestroyQueries(); 
    7477 
  • GTP/trunk/App/Demos/Vis/CHC_revisited/RenderTraverser.cpp

    r2764 r2765  
    33#include "Timers.h" 
    44#include "Camera.h" 
     5#include "SceneEntity.h" 
    56 
    67 
     
    2930 
    3031 
    31 RenderTraverser::RenderTraverser():  
    32 mFrameID(1),  
     32RenderTraverser::RenderTraverser():   
    3333mVisibilityThreshold(0), 
    3434mBvh(NULL),  
    3535mIsQueryMode(false), 
    36 mUseOptimization(true) 
     36mUseOptimization(true), 
     37mFrameId(-1) 
    3738{ 
    3839} 
     
    4243{ 
    4344        mQueryHandler.DestroyQueries(); 
     45} 
     46 
     47 
     48void RenderTraverser::InitFrame(Camera *camera, int currentFrameId) 
     49{ 
     50        mFrameId = currentFrameId; 
     51        mBvh->InitFrame(camera, currentFrameId); 
     52 
     53        mStats.Reset(); 
     54        mQueryHandler.ResetQueries(); 
     55        mRenderState->mTexturesEnabled = false; 
     56        EnqueueNode(mBvh->GetRoot()); 
    4457} 
    4558 
  • GTP/trunk/App/Demos/Vis/CHC_revisited/RenderTraverser.h

    r2764 r2765  
    8484        const TraversalStatistics &GetStats() const { return mStats; } 
    8585 
     86        void InitFrame(Camera *camera, int currentFrameId); 
     87 
    8688protected: 
    8789 
     
    129131        TraversalQueue mDistanceQueue;  
    130132         
    131         int mFrameID; 
     133        int mFrameId; 
    132134        int mVisibilityThreshold; 
    133135 
  • GTP/trunk/App/Demos/Vis/CHC_revisited/StopAndWaitTraverser.cpp

    r2764 r2765  
    2323void StopAndWaitTraverser::Render() 
    2424{ 
    25         mStats.Reset(); 
    26         mRenderState->mTexturesEnabled = false; 
    27         EnqueueNode(mBvh->GetRoot()); 
    28  
    29         //cout<<"\n***** starting frame **********\n"; 
    30         int traversed = 0; 
    3125        while (!mDistanceQueue.empty()) 
    3226        { 
     
    3428                mDistanceQueue.pop(); 
    3529         
    36                 //float d = mBvh->GetDistance(node);cout << d << " "; 
    37  
    38                 // interesting for the visualization, so rest and set 
     30                // interesting for the visualization 
    3931                node->SetVisible(false); 
    4032 
     
    7264                { 
    7365                        ++ mStats.mNumFrustumCulledNodes; 
    74                 } 
    75                 //cout << "intersect: " << intersect << " bx " << node->GetBox() << endl; 
     66                }        
    7667        } 
    77  
    78         mQueryHandler.ResetQueries(); 
    79         //std::cout << "traversed: " << traversed << std::endl; 
    8068} 
    8169 
  • GTP/trunk/App/Demos/Vis/CHC_revisited/chcdemo.cpp

    r2764 r2765  
    308308        GLfloat ambient[] = {0.2, 0.2, 0.2, 1.0}; 
    309309        GLfloat diffuse[] = {1.0, 1.0, 1.0, 1.0}; 
    310         //GLfloat specular[] = {1.0, 1.0, 1.0, 1.0}; 
    311310        GLfloat specular[] = {1.0, 1.0, 1.0, 1.0}; 
    312311             
    313         //GLfloat lmodel_ambient[] = {0.5f, 0.5f, 0.5f, 1.0}; 
    314         GLfloat lmodel_ambient[] = {0.2f, 0.2f, 0.2f, 1.0f}; 
     312        GLfloat lmodel_ambient[] = {0.5f, 0.5f, 0.5f, 1.0f}; 
     313        //GLfloat lmodel_ambient[] = {0.2f, 0.2f, 0.2f, 1.0f}; 
    315314 
    316315        glLightfv(GL_LIGHT0, GL_AMBIENT, ambient); 
     
    373372        SetupEyeView(); 
    374373 
    375         bvh->InitFrame(camera, currentFrame); 
     374 
     375        traverser->InitFrame(camera, currentFrame); 
    376376 
    377377 
     
    380380 
    381381        t1 = GetTime(); 
    382  
    383         traverser->SetCamera(camera); 
    384  
    385         //traverser->RenderFrustum(); 
    386382 
    387383        glEnableClientState(GL_VERTEX_ARRAY); 
     
    860856        CalcDecimalPoint(str2, traverser->GetStats().mNumRenderedTriangles); 
    861857 
    862         sprintf_s(msg4, "rendered objects %d (of %d), rendered triangles: %s (of %s)",  
     858        sprintf_s(msg4, "rendered objects %5d (of %5d), rendered triangles: %s (of %s)",  
    863859                          traverser->GetStats().mNumRenderedGeometry, sceneEntities.size(), str.c_str(), str2.c_str());  
    864860 
Note: See TracChangeset for help on using the changeset viewer.