Ignore:
Timestamp:
02/20/07 15:37:34 (17 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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.