Changeset 2145


Ignore:
Timestamp:
02/20/07 15:37:34 (18 years ago)
Author:
mattausch
Message:
 
Location:
GTP/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/App/Demos/Vis/HillyTerrain/OGRE/TerrainFrameListener.cpp

    r2121 r2145  
    162162mViewCellsLoaded(false), 
    163163mUseVisibilityFilter(false), 
    164 mFloorDist(2) 
     164mFloorDist(2), 
     165mFlushQueue(false) 
    165166{ 
    166167        //mInputDevice = PlatformManager::getSingleton().createInputReader(); 
     
    261262        setTestGeometryForVisibleLeaves(mTestGeometryForVisibleLeaves); 
    262263 
    263         mSceneMgr->setOption("UseDepthPass", &mUseDepthPass); 
    264          
     264        //mSceneMgr->setOption("UseDepthPass", &mUseDepthPass); 
     265        mSceneMgr->getOption("UseDepthPass", &mUseDepthPass); 
     266 
     267        if (mUseDepthPass) 
     268                mUseDepthPassInfo->setCaption(": true"); 
     269        else 
     270                mUseDepthPassInfo->setCaption(": false"); 
     271         
     272        mSceneMgr->getOption("FlushQueue", &mFlushQueue); 
     273         
     274        if (mFlushQueue) 
     275                LogManager::getSingleton().logMessage("initial setting: flushing queue"); 
     276        else 
     277                LogManager::getSingleton().logMessage("initial setting: not flushing queue"); 
     278 
    265279        mSceneMgr->setOption("ShowOctree", &mShowOctree); 
    266280        mSceneMgr->setOption("ShowViewCells", &mShowViewCells); 
     
    12891303} 
    12901304//----------------------------------------------------------------------- 
     1305void TerrainFrameListener::toggleFlushQueue() 
     1306{ 
     1307        mFlushQueue = !mFlushQueue; 
     1308 
     1309        mSceneMgr->setOption("FlushQueue", &mFlushQueue); 
     1310         
     1311        if (mFlushQueue) 
     1312        { 
     1313                LogManager::getSingleton().logMessage("flushing queue"); 
     1314                //mFlushQueueInfo->setCaption(": true"); 
     1315        } 
     1316        else 
     1317        { 
     1318                LogManager::getSingleton().logMessage("not flushing queue"); 
     1319                //mFlushQueueInfo->setCaption(": false"); 
     1320        } 
     1321} 
     1322 
     1323//----------------------------------------------------------------------- 
    12911324void TerrainFrameListener::toggleShowViz() 
    12921325{ 
     
    13631396        switch(e->getKey()) 
    13641397        { 
     1398         
     1399        case KC_SUBTRACT: 
     1400                changeThreshold(-10); 
     1401                break; 
     1402        case KC_ADD: 
     1403                changeThreshold(10); 
     1404                break; 
     1405 
    13651406        case KC_ESCAPE: 
    13661407                mShutdownRequested = true; 
     
    13711412                nextAlgorithm(); 
    13721413                break; 
    1373          
    1374     case KC_F: 
    1375                 nextFilter(); 
    1376                 break; 
    1377         case KC_R: 
    1378                 nextSceneDetailLevel(); 
    1379                 break; 
    1380         case KC_P: 
    1381                 toggleDisplayCameraDetails(); 
    1382                 break; 
    1383         case KC_G: 
    1384                 mTestGeometryForVisibleLeaves = !mTestGeometryForVisibleLeaves; 
    1385                 setTestGeometryForVisibleLeaves(mTestGeometryForVisibleLeaves); 
    1386                 break; 
    1387         case KC_T: 
    1388                 toggleShowOctree(); 
    1389                 break; 
    1390         case KC_X: 
    1391                 toggleUseDepthPass(); 
    1392                 break; 
    1393         case KC_H: 
    1394                 toggleShowShadows(); 
    1395                 break; 
    1396  
    1397         case KC_I: 
    1398                 mUseItemBuffer = !mUseItemBuffer; 
    1399                 break; 
    1400         case KC_Z: 
    1401                 mCamNode->resetOrientation(); 
    1402                 break; 
    1403         case KC_U: 
    1404                 mCamNode->resetOrientation(); 
    1405                 mCamNode->setPosition(mApplication->mInitialPosition); 
    1406                 break; 
     1414 
     1415        case KC_LSHIFT: 
     1416                mShiftPressed = true; 
     1417                break; 
     1418        case KC_DELETE: 
     1419                mDeleteObjects = true; 
     1420                break; 
     1421 
    14071422        case KC_C: 
    14081423                if (mItemBufferMode != GtpVisibility::QueryManager::GEOMETRY_VISIBILITY) 
     
    14151430                } 
    14161431                break; 
    1417  
    1418         case KC_SUBTRACT: 
    1419                 changeThreshold(-10); 
    1420                 break; 
    1421         case KC_ADD: 
    1422                 changeThreshold(10); 
    1423                 break; 
     1432         case KC_E: // hack for recording demo using precomputed fps 
     1433                mSavePrecomputedFps = !mSavePrecomputedFps; 
     1434                break; 
     1435 
     1436    case KC_F: 
     1437                nextFilter(); 
     1438                break; 
     1439        case KC_G: 
     1440                mTestGeometryForVisibleLeaves = !mTestGeometryForVisibleLeaves; 
     1441                setTestGeometryForVisibleLeaves(mTestGeometryForVisibleLeaves); 
     1442                break; 
     1443        case KC_H: 
     1444                toggleShowShadows(); 
     1445                break; 
     1446        case KC_L: 
     1447                toggleShowViewCells(); 
     1448                break; 
     1449        case KC_M: // hack for recording demo using precomputed fps 
     1450                mRecordDemo = !mRecordDemo; 
     1451                break; 
     1452        case KC_O: 
     1453                switchMouseMode(); 
     1454                break; 
     1455        case KC_P: 
     1456                toggleDisplayCameraDetails(); 
     1457                break; 
     1458        case KC_V: 
     1459                toggleUseViewCells(); 
     1460                break; 
     1461        case KC_Q: 
     1462                toggleUseVisibilityFilter(); 
     1463                break; 
     1464        case KC_R: 
     1465                nextSceneDetailLevel(); 
     1466                break; 
     1467        case KC_T: 
     1468                toggleShowOctree(); 
     1469                break; 
     1470        case KC_U: 
     1471                mCamNode->resetOrientation(); 
     1472                mCamNode->setPosition(mApplication->mInitialPosition); 
     1473                break; 
     1474        case KC_X: 
     1475                toggleUseDepthPass(); 
     1476                break; 
     1477        case KC_I: 
     1478                toggleFlushQueue(); 
     1479                break; 
     1480        case KC_Z: 
     1481                mCamNode->resetOrientation(); 
     1482                break; 
     1483 
    14241484 
    14251485        /////////////// 
    14261486        //-- visualization 
     1487 
    14271488        case KC_1: 
    14281489                toggleShowViz(); 
     
    14311492                nextNodeVizMode(); 
    14321493                break; 
    1433  
     1494        case KC_7: 
     1495                mTerrainContentGenerator->WriteObjects(objects_out_filename); 
     1496                break; 
     1497        case KC_8: 
     1498                changeAssumedVisibility(-5); 
     1499                // changeAssumedVisibility(-500); 
     1500                break; 
     1501        case KC_9: 
     1502                changeAssumedVisibility(5); 
     1503                // changeAssumedVisibility(500); 
     1504                break; 
     1505 
     1506//#if USE_PERFHUD 
     1507        case KC_F1: 
     1508                toggleShowHelp(); 
     1509                break; 
    14341510        case KC_F2: 
    14351511                mStatsOn = !mStatsOn; 
     
    14411517        case KC_F4: 
    14421518                toggleRecord(); 
    1443                 break; 
    1444 //#if USE_PERFHUD 
    1445         case KC_F1: 
    1446                 toggleShowHelp(); 
    14471519                break; 
    14481520 
     
    14771549                takeScreenshot(); 
    14781550                break; 
    1479         case KC_7: 
    1480                 mTerrainContentGenerator->WriteObjects(objects_out_filename); 
    1481                 break; 
    1482         case KC_8: 
    1483                 changeAssumedVisibility(-5); 
    1484                 // changeAssumedVisibility(-500); 
    1485                 break; 
    1486         case KC_9: 
    1487                 changeAssumedVisibility(5); 
    1488                 // changeAssumedVisibility(500); 
    1489                 break; 
    1490         case KC_LSHIFT: 
    1491                 mShiftPressed = true; 
    1492                 break; 
    1493         case KC_DELETE: 
    1494                 mDeleteObjects = true; 
    1495                 break; 
    1496         case KC_M: // hack for recording demo using precomputed fps 
    1497                 mRecordDemo = !mRecordDemo; 
    1498                 break; 
    1499     case KC_E: // hack for recording demo using precomputed fps 
    1500                 mSavePrecomputedFps = !mSavePrecomputedFps; 
    1501                 break; 
    1502         case KC_O: 
    1503                 switchMouseMode(); 
    1504                 break; 
    1505         case KC_V: 
    1506                 toggleUseViewCells(); 
    1507                 break; 
    1508         case KC_L: 
    1509                 toggleShowViewCells(); 
    1510                 break; 
    1511         case KC_Q: 
    1512                 toggleUseVisibilityFilter(); 
    1513                 break; 
     1551         
     1552         
    15141553        //KEY_PRESSED(KC_F3, 0.3, writeFrames()); 
    15151554        //KEY_PRESSED(KC_F4, 0.3, loadFrames()); 
  • GTP/trunk/App/Demos/Vis/HillyTerrain/OGRE/TerrainFrameListener.h

    r2108 r2145  
    225225        */ 
    226226        void toggleUseDepthPass(); 
     227 
     228        void toggleFlushQueue(); 
     229 
    227230        /** Toggles whether the visualization is shown. 
    228231        */ 
    229232        void toggleShowViz(); 
     233 
    230234        /** Toggles whether the frames are recorded. 
    231235        */ 
     
    360364        bool mShowViewCells; 
    361365        bool mUseDepthPass; 
     366        bool mFlushQueue; 
    362367        bool mShowVisualization; 
    363368        bool mCullCamera; 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreOcclusionCullingSceneManager.h

    r2123 r2145  
    273273 
    274274        bool mShowTerrain; 
     275 
     276        int mFlushRate; 
     277        int mCurrentFrame; 
    275278 
    276279        ObjReader *mObjReader; 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreOcclusionCullingSceneManager.cpp

    r2130 r2145  
    6262mShowTerrain(false), 
    6363mViewCellsFilename(""), 
    64 mFilename("terrain") 
     64mFilename("terrain"), 
     65mFlushRate(10), 
     66mCurrentFrame(0) 
    6567{ 
    6668        Ogre::LogManager::getSingleton(). 
     
    192194        String val; 
    193195 
     196        LogManager::getSingleton().logMessage("****** OcclusionCullingSceneManager Options ********"); 
    194197        config.load(stream); 
    195198 
     
    203206        } 
    204207 
     208        if (mUseDepthPass) 
     209                LogManager::getSingleton().logMessage("using depth"); 
     210        else 
     211                LogManager::getSingleton().logMessage("not using depth"); 
     212         
    205213        val = config.getSetting("FlushQueue"); 
    206214         
     
    210218        } 
    211219 
     220        if (mDeleteQueueAfterRendering) 
     221                LogManager::getSingleton().logMessage("flushing queue"); 
     222        else 
     223                LogManager::getSingleton().logMessage("not flushing queue"); 
     224         
    212225        val = config.getSetting("Scene"); 
    213226 
     
    382395        // set the page source 
    383396        selectPageSource(pageSourceName, optlist); 
     397 
     398        LogManager::getSingleton().logMessage("****** Finished OcclusionCullingSceneManager Options ********"); 
    384399} 
    385400 
     
    675690 
    676691                // for the shadow pass we use only standard rendering 
    677                 // because shadows have low occlusion snyway 
     692                // because shadows have low occlusion anyway 
    678693                if (mShadowTechnique == SHADOWTYPE_TEXTURE_MODULATIVE &&  
    679694                        mIlluminationStage == IRS_RENDER_TO_TEXTURE) 
     
    704719void OcclusionCullingSceneManager::_renderVisibleObjects() 
    705720{ 
    706         // $$matt temp: Remove this!! 
    707         if (0)  
    708         { 
    709                 getDestinationRenderSystem()->_setCullingMode(CULL_NONE); 
    710                 //LogManager::getSingleton().logMessage("warning: culling mode"); 
    711         } 
     721        const bool flushQueue = mDeleteQueueAfterRendering && ((mCurrentFrame % mFlushRate) == 0); 
     722        ++ mCurrentFrame; 
    712723 
    713724        if (mNormalExecution) 
     
    715726                // the standard octree rendering mode 
    716727                TerrainSceneManager::_renderVisibleObjects(); 
    717                 getRenderQueue()->clear(mDeleteQueueAfterRendering); 
     728                getRenderQueue()->clear(flushQueue); 
    718729                return; 
    719730        } 
     
    847858 
    848859        // almost same effect as below 
    849         getRenderQueue()->clear(mDeleteQueueAfterRendering); 
     860        getRenderQueue()->clear(flushQueue); 
    850861 
    851862        if (0) WriteLog(); // write out stats 
     
    935946                return true; 
    936947        } 
    937         else if (key == "DeleteRenderQueue") 
     948        else if (key == "FlushQueue") 
    938949        { 
    939950                mDeleteQueueAfterRendering = (*static_cast<const bool *>(val)); 
     
    10521063                return true; 
    10531064        } 
     1065        if (key == "FlushQueue") 
     1066        { 
     1067                * static_cast<bool *>(val) = (bool *)mDeleteQueueAfterRendering; 
     1068                return true; 
     1069        } 
    10541070        if (key == "NormalExecution") 
    10551071        { 
     
    10621078                        mVisibilityManager->GetCullingManagerType(); 
    10631079 
    1064                 * static_cast<unsigned int *>(val) =  
    1065                         (unsigned int)algorithm; 
     1080                * static_cast<unsigned int *>(val) = (unsigned int)algorithm; 
     1081 
     1082                getRenderQueue()->clear(true); 
     1083 
    10661084                return true; 
    10671085        } 
Note: See TracChangeset for help on using the changeset viewer.