Ignore:
Timestamp:
05/06/05 01:39:32 (19 years ago)
Author:
mattausch
Message:
 
Location:
trunk/VUT/work/TestCullingTerrain
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/work/TestCullingTerrain/TestCullingTerrainApplication.cpp

    r85 r86  
    9696 
    9797        mTerrainContentGenerator = new TerrainContentGenerator(mSceneMgr); 
     98         
     99        mTerrainContentGenerator->GenerateScene(500, "ninja.mesh"); 
    98100        mTerrainContentGenerator->GenerateScene(500, "robot.mesh"); 
     101 
    99102        // no limitations needed anymore: the user can set  
    100103        // objects also on peaks of terrain 
     
    137140                                                                           CEGUI::Renderer *renderer, 
    138141                                                                           TerrainContentGenerator *sceneGenerator):  
    139 ExampleFrameListener(win, cam, false, true), mGUIRenderer(renderer),  
    140 mShutdownRequested(false) 
    141 { 
    142         // Setup default variables 
    143         mCurrentObject = NULL; 
    144         mLMouseDown = false; 
    145         mRMouseDown = false; 
    146         mSceneMgr = sceneManager; 
    147         mTerrainContentGenerator = sceneGenerator; 
    148  
    149     // Reduce move speed 
     142ExampleFrameListener(win, cam, false, true),  
     143mGUIRenderer(renderer),  
     144mShutdownRequested(false),  
     145mUseOptimization(false), 
     146mLMouseDown(false), 
     147mRMouseDown(false), 
     148mSceneMgr(sceneManager), 
     149mCurrentObject(NULL), 
     150mTerrainContentGenerator(sceneGenerator), 
     151mVisibilityThreshold(0), 
     152mCurrentAlgorithm(GtpVisibility::VisibilityEnvironment::COHERENT_HIERARCHICAL_CULLING) 
     153{ 
     154        // Reduce move speed 
    150155        mMoveSpeed = 50; 
    151156        mRotateSpeed *= 2; 
    152  
    153         mCurrentAlgorithm = GtpVisibility::VisibilityEnvironment::COHERENT_HIERARCHICAL_CULLING; 
    154         mVisibilityThreshold = 0; 
    155157     
    156158        // Register this so that we get mouse events. 
     
    173175        mRenderedNodesInfo = OverlayManager::getSingleton().getOverlayElement("Example/Visibility/RenderedNodesInfo"); 
    174176        mNumObjectsInfo = OverlayManager::getSingleton().getOverlayElement("Example/Visibility/NumObjectsInfo"); 
     177        mUseOptimizationInfo = OverlayManager::getSingleton().getOverlayElement("Example/Visibility/UseOptimizationInfo"); 
    175178 
    176179        mAlgorithmInfo->setCaption(": " + mCurrentAlgorithmCaptions[mCurrentAlgorithm]); 
     
    182185        mRenderedNodesInfo->setCaption(": 0"); 
    183186        mNumObjectsInfo->setCaption(": 0"); 
     187        mUseOptimizationInfo->setCaption(": true"); 
    184188 
    185189        setAlgorithm(mCurrentAlgorithm); 
     190        toggleUseOptimization(); 
     191        toggleShowOctree(); 
    186192 
    187193    pOver->show(); 
     
    293299        KEY_PRESSED(KC_SUBTRACT, 0, changeThreshold(-10)); 
    294300        KEY_PRESSED(KC_ADD, 0, changeThreshold(10)); 
     301        KEY_PRESSED(KC_O, 0.3, toggleUseOptimization()); 
     302        KEY_PRESSED(KC_S, 0.3, toggleShowOctree()); 
    295303        //KEY_PRESSED(KC_T, 1, change); 
    296304       
     
    321329void MouseQueryListener::setAlgorithm(int algorithm) 
    322330{ 
     331        //OutputDebugString("changing algorithm\n"); 
    323332        mAlgorithmInfo->setCaption(": " + mCurrentAlgorithmCaptions[mCurrentAlgorithm]); 
    324333        mSceneMgr->setOption("Algorithm", &mCurrentAlgorithm); 
     
    347356        sprintf(str,": %d", mTerrainContentGenerator->GetObjectCount());  
    348357        mNumObjectsInfo->setCaption(str); 
     358} 
     359//----------------------------------------------------------------------- 
     360void MouseQueryListener::toggleUseOptimization() 
     361{ 
     362        mUseOptimization = !mUseOptimization; 
     363 
     364        mSceneMgr->setOption("UseOptimization", &mUseOptimization); 
     365 
     366        if(mUseOptimization) 
     367                mUseOptimizationInfo->setCaption(": true"); 
     368        else 
     369                mUseOptimizationInfo->setCaption(": false"); 
     370} 
     371//----------------------------------------------------------------------- 
     372void MouseQueryListener::toggleShowOctree() 
     373{ 
     374        mShowOctree = !mShowOctree; 
     375 
     376        mSceneMgr->setOption("ShowOctree", &mShowOctree); 
    349377} 
    350378//----------------------------------------------------------------------- 
  • trunk/VUT/work/TestCullingTerrain/TestCullingTerrainApplication.h

    r85 r86  
    6363        void changeThreshold(int incr); 
    6464        void changeStats(); 
     65        void toggleUseOptimization(); 
     66        void toggleShowOctree(); 
    6567 
    6668protected: 
     
    8082    OverlayElement *mTraversedNodesInfo; 
    8183        OverlayElement *mHierarchyNodesInfo; 
    82         //OverlayElement *mSceneNodesInfo; 
     84        OverlayElement *mUseOptimizationInfo; 
    8385        OverlayElement *mRenderedNodesInfo; 
    8486        OverlayElement *mNumObjectsInfo; 
     
    8991        RayQueryExecutor *mRayQueryExecutor; 
    9092        TerrainContentGenerator *mTerrainContentGenerator; 
     93 
     94        bool mUseOptimization; 
     95        bool mShowOctree; 
    9196}; 
    9297 
Note: See TracChangeset for help on using the changeset viewer.