Ignore:
Timestamp:
03/31/06 10:37:45 (18 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreOcclusionCullingSceneManager.cpp

    r675 r720  
    1 #include "OgreVisibilityTerrainSceneManager.h" 
     1#include "OgreOcclusionCullingSceneManager.h" 
    22#include "OgreVisibilityOptionsManager.h" 
    33#include <OgreMath.h> 
     
    1414 
    1515//----------------------------------------------------------------------- 
    16 VisibilityTerrainSceneManager::VisibilityTerrainSceneManager( 
     16OcclusionCullingSceneManager::OcclusionCullingSceneManager( 
    1717                                                        GtpVisibility::VisibilityManager *visManager):  
    1818mVisibilityManager(visManager),  
     
    4040        //mShowBoundingBoxes = true; 
    4141        //mShowBoxes = true; 
     42//std::stringstream d; d << "here555"; 
     43//mDummyLog.open(""); 
    4244 
    4345        // TODO: set maxdepth to reasonable value 
     
    4547} 
    4648//----------------------------------------------------------------------- 
    47 void VisibilityTerrainSceneManager::InitDepthPass() 
     49void OcclusionCullingSceneManager::InitDepthPass() 
    4850{ 
    4951        MaterialPtr depthMat = MaterialManager::getSingleton().getByName("Visibility/DepthPass"); 
     
    6668} 
    6769//----------------------------------------------------------------------- 
    68 VisibilityTerrainSceneManager::~VisibilityTerrainSceneManager() 
     70OcclusionCullingSceneManager::~OcclusionCullingSceneManager() 
    6971{ 
    7072        OGRE_DELETE(mHierarchyInterface); 
    7173} 
    7274//----------------------------------------------------------------------- 
    73 void VisibilityTerrainSceneManager::InitItemBufferPass() 
     75void OcclusionCullingSceneManager::InitItemBufferPass() 
    7476{ 
    7577        MaterialPtr itemBufferMat = MaterialManager::getSingleton(). 
     
    9597} 
    9698//------------------------------------------------------------------------- 
    97 void VisibilityTerrainSceneManager::setWorldGeometry( const String& filename ) 
     99void OcclusionCullingSceneManager::setWorldGeometry( const String& filename ) 
    98100{ 
    99101    // Clear out any existing world resources (if not default) 
     
    124126 
    125127//----------------------------------------------------------------------- 
    126 void VisibilityTerrainSceneManager::PrepareVisualization(Camera *cam) 
     128void OcclusionCullingSceneManager::PrepareVisualization(Camera *cam) 
    127129{ 
    128130        // add player camera for visualization purpose 
     
    173175} 
    174176//----------------------------------------------------------------------- 
    175 Pass *VisibilityTerrainSceneManager::setPass(Pass* pass) 
     177Pass *OcclusionCullingSceneManager::setPass(Pass* pass) 
    176178{ 
    177179        // TODO: setting vertex program is not efficient 
     
    236238} 
    237239//----------------------------------------------------------------------- 
    238 void VisibilityTerrainSceneManager::_findVisibleObjects(Camera* cam, 
     240void OcclusionCullingSceneManager::_findVisibleObjects(Camera* cam, 
    239241                                                                                                                bool onlyShadowCasters) 
    240242{ 
     
    266268} 
    267269//----------------------------------------------------------------------- 
    268 void VisibilityTerrainSceneManager::_renderVisibleObjects() 
     270void OcclusionCullingSceneManager::_renderVisibleObjects() 
    269271{ 
    270272 
     
    329331                // hierarchical visibility culling and rendering 
    330332                InitVisibilityCulling(mCameraInProgress); 
     333 
     334                std::stringstream d; d << "here34\n"; 
     335                LogManager::getSingleton().logMessage(d.str()); 
    331336 
    332337                /**  
     
    376381        getRenderQueue()->clear(); // finally clear render queue 
    377382        OGRE_DELETE(mRenderQueue); // HACK: should be cleared before... 
    378         //WriteLog(); // write out stats 
    379  
    380 } 
    381  
    382 //----------------------------------------------------------------------- 
    383 void VisibilityTerrainSceneManager::_updateSceneGraph(Camera* cam) 
     383        WriteLog(); // write out stats 
     384 
     385} 
     386 
     387//----------------------------------------------------------------------- 
     388void OcclusionCullingSceneManager::_updateSceneGraph(Camera* cam) 
    384389{ 
    385390        mVisibilityManager->GetCullingManager()->SetHierarchyInterface(mHierarchyInterface); 
     
    389394} 
    390395//----------------------------------------------------------------------- 
    391 bool VisibilityTerrainSceneManager::setOption(const String & key, const void * val) 
     396bool OcclusionCullingSceneManager::setOption(const String & key, const void * val) 
    392397{ 
    393398        if (key == "UseDepthPass") 
     
    482487} 
    483488//----------------------------------------------------------------------- 
    484 bool VisibilityTerrainSceneManager::getOption(const String & key, void *val) 
     489bool OcclusionCullingSceneManager::getOption(const String & key, void *val) 
    485490{ 
    486491        if (key == "NumHierarchyNodes") 
     
    494499} 
    495500//----------------------------------------------------------------------- 
    496 bool VisibilityTerrainSceneManager::getOptionValues(const String & key,  
     501bool OcclusionCullingSceneManager::getOptionValues(const String & key,  
    497502                                                                                                        StringVector &refValueList) 
    498503{ 
     
    500505} 
    501506//----------------------------------------------------------------------- 
    502 bool VisibilityTerrainSceneManager::getOptionKeys(StringVector & refKeys) 
     507bool OcclusionCullingSceneManager::getOptionKeys(StringVector & refKeys) 
    503508{ 
    504509        return VisibilityOptionsManager(mVisibilityManager, mHierarchyInterface). 
     
    506511} 
    507512//----------------------------------------------------------------------- 
    508 void VisibilityTerrainSceneManager::setVisibilityManager(GtpVisibility:: 
     513void OcclusionCullingSceneManager::setVisibilityManager(GtpVisibility:: 
    509514                                                                                                                 VisibilityManager *visManager) 
    510515{ 
     
    512517} 
    513518//----------------------------------------------------------------------- 
    514 GtpVisibility::VisibilityManager *VisibilityTerrainSceneManager::getVisibilityManager( void ) 
     519GtpVisibility::VisibilityManager *OcclusionCullingSceneManager::getVisibilityManager( void ) 
    515520{ 
    516521        return mVisibilityManager; 
    517522} 
    518523//----------------------------------------------------------------------- 
    519 void VisibilityTerrainSceneManager::WriteLog() 
     524void OcclusionCullingSceneManager::WriteLog() 
    520525{ 
    521526        std::stringstream d; 
     
    535540} 
    536541//----------------------------------------------------------------------- 
    537 void VisibilityTerrainSceneManager::renderObjects( 
     542void OcclusionCullingSceneManager::renderObjects( 
    538543        const RenderPriorityGroup::TransparentRenderablePassList& objs,  
    539544    bool doLightIteration, const LightList* manualLightList) 
     
    546551} 
    547552//----------------------------------------------------------------------- 
    548 bool VisibilityTerrainSceneManager::validatePassForRendering(Pass* pass) 
     553bool OcclusionCullingSceneManager::validatePassForRendering(Pass* pass) 
    549554{ 
    550555        // skip all but first pass if we are doing the depth pass 
     
    557562} 
    558563//----------------------------------------------------------------------- 
    559 void VisibilityTerrainSceneManager::renderQueueGroupObjects(RenderQueueGroup* pGroup) 
     564void OcclusionCullingSceneManager::renderQueueGroupObjects(RenderQueueGroup* pGroup) 
    560565{ 
    561566        if (!mIsItemBufferPhase) 
     
    576581} 
    577582//----------------------------------------------------------------------- 
    578 void VisibilityTerrainSceneManager::RenderItemBuffer(RenderPriorityGroup* pGroup) 
     583void OcclusionCullingSceneManager::RenderItemBuffer(RenderPriorityGroup* pGroup) 
    579584{ 
    580585        // Do solids 
     
    602607                for (irend = rendList->begin(); irend != irendend; ++irend) 
    603608                { 
    604                         std::stringstream d; d << "itembuffer, pass name: " <<  
    605                                 ipass->first->getParent()->getParent()->getName(); 
    606                                  
    607                         LogManager::getSingleton().logMessage(d.str()); 
     609                        //std::stringstream d; d << "itembuffer, pass name: " <<  
     610                        //      ipass->first->getParent()->getParent()->getName(); 
     611                        //      LogManager::getSingleton().logMessage(d.str()); 
    608612                         
    609613                        RenderSingleObjectForItemBuffer(*irend, ipass->first); 
     
    633637} 
    634638//----------------------------------------------------------------------- 
    635 void VisibilityTerrainSceneManager::RenderSingleObjectForItemBuffer(Renderable *rend, Pass *pass) 
     639void OcclusionCullingSceneManager::RenderSingleObjectForItemBuffer(Renderable *rend, Pass *pass) 
    636640{ 
    637641        static LightList nullLightList; 
     
    678682} 
    679683//----------------------------------------------------------------------- 
    680 GtpVisibility::VisibilityManager *VisibilityTerrainSceneManager::GetVisibilityManager() 
     684GtpVisibility::VisibilityManager *OcclusionCullingSceneManager::GetVisibilityManager() 
    681685{ 
    682686        return mVisibilityManager; 
    683687} 
    684688//----------------------------------------------------------------------- 
    685 void VisibilityTerrainSceneManager::InitVisibilityCulling(Camera *cam) 
     689void OcclusionCullingSceneManager::InitVisibilityCulling(Camera *cam) 
    686690{ 
    687691        // reset culling manager stats 
     
    704708        mLeavePassesInQueue = 0; 
    705709 
    706         if (!mUseDepthPass && !mUseItemBuffer) 
     710        // if we have the depth pass or use an item buffer, no passes are left in the queue 
     711        if (0 && !mUseDepthPass && !mUseItemBuffer) 
    707712        { 
    708713                if (mShadowTechnique == SHADOWTYPE_STENCIL_ADDITIVE) 
     
    746751                                                                           mLeavePassesInQueue); 
    747752                 
    748         //std::stringstream d; d << "leave passes in queue: " << mLeavePassesInQueue;LogManager::getSingleton().logMessage(d.str()); 
    749 } 
    750 //----------------------------------------------------------------------- 
    751 OctreeHierarchyInterface *VisibilityTerrainSceneManager::GetHierarchyInterface() 
     753        std::stringstream d; d << "leave passes in queue: " << mLeavePassesInQueue; 
     754        LogManager::getSingleton().logMessage(d.str()); 
     755} 
     756//----------------------------------------------------------------------- 
     757OctreeHierarchyInterface *OcclusionCullingSceneManager::GetHierarchyInterface() 
    752758{ 
    753759        return mHierarchyInterface; 
    754760} 
    755761//----------------------------------------------------------------------- 
    756 void VisibilityTerrainSceneManager::endFrame() 
     762void OcclusionCullingSceneManager::endFrame() 
    757763{ 
    758764        TerrainRenderable::ResetRenderLevelIndex(); 
    759765} 
    760766//----------------------------------------------------------------------- 
    761 Entity* VisibilityTerrainSceneManager::createEntity(const String& entityName,  
     767Entity* OcclusionCullingSceneManager::createEntity(const String& entityName,  
    762768                                                                                                        const String& meshName) 
    763769{ 
     
    775781} 
    776782//----------------------------------------------------------------------- 
    777 void VisibilityTerrainSceneManager::renderAdditiveStencilShadowedQueueGroupObjects(RenderQueueGroup* pGroup) 
     783void OcclusionCullingSceneManager::renderAdditiveStencilShadowedQueueGroupObjects(RenderQueueGroup* pGroup) 
    778784{ 
    779785        // only render solid passes during hierarchical culling 
     
    807813} 
    808814//----------------------------------------------------------------------- 
    809 void VisibilityTerrainSceneManager::renderModulativeStencilShadowedQueueGroupObjects(RenderQueueGroup* pGroup) 
     815void OcclusionCullingSceneManager::renderModulativeStencilShadowedQueueGroupObjects(RenderQueueGroup* pGroup) 
    810816{ 
    811817   if (mIsHierarchicalCulling) 
Note: See TracChangeset for help on using the changeset viewer.