Ignore:
Timestamp:
05/18/05 02:06:32 (19 years ago)
Author:
mattausch
Message:

fixed bug with shadow maps

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/Ogre/src/OgreVisibilityOctreeSceneManager.cpp

    r100 r103  
    3636        mHierarchyInterface->InitFrame(mOctree, mCameraInProgress,  
    3737                                                        mCullCamera ? getCamera("CullCamera") : NULL); 
    38         //mVisibilityManager->GetCullingManager()->InitFrame(); 
    3938 
    40         // standard scenemanager rendering without hierarchical culling 
    41         if(!mUseVisibilityCulling) 
     39        // call initframe to reset culling manager stats 
     40        mVisibilityManager->GetCullingManager()->InitFrame(); 
     41 
     42        // standard terrain scenemanager rendering without hierarchical culling 
     43        if (!mUseVisibilityCulling || mShowVisualization) 
    4244        {        
    4345                OctreeSceneManager::_renderVisibleObjects(); 
    4446                return; 
    4547        }  
    46      
     48         
    4749        //-- hierarchical culling 
    4850        // the objects of different layers (e.g., background, scene,  
     
    7779#endif 
    7880 
    79         //-- render remaining objects, e.g., overlay 
     81        //-- render overlay 
    8082        clearSpecialCaseRenderQueues(); 
    8183        SceneManager::_renderVisibleObjects(); 
     
    8688void VisibilityOctreeSceneManager::_findVisibleObjects(Camera* cam, bool onlyShadowCasters) 
    8789{ 
     90        // if shadow pass => render only shadow casters 
     91        mHierarchyInterface->SetOnlyShadowCasters(onlyShadowCasters); 
     92 
    8893        // does nothing if hierarchical culling is used => 
    8994        // we interleave identification and rendering of objects  
     
    104109        } 
    105110 
    106         getRenderQueue()->clear(); 
    107     mBoxes.clear(); 
     111        mBoxes.clear(); 
    108112    mVisible.clear(); 
    109113} 
     
    156160{ 
    157161        return  VisibilityOptionsManager(mVisibilityManager, mHierarchyInterface). 
    158                 getOptionKeys ( refKeys ) || OctreeSceneManager::getOptionKeys(refKeys); 
     162                getOptionKeys (refKeys) || OctreeSceneManager::getOptionKeys(refKeys); 
    159163} 
    160164//----------------------------------------------------------------------- 
     
    174178 
    175179        d << "Algorithm: " << mVisibilityManager->GetCullingManagerType() << ", " 
    176           << "Hierarchy nodes: " << mNumOctreeNodes << ", " << "Traversed nodes: " << mHierarchyInterface->GetNumTraversedNodes() << ", " 
     180          << "Hierarchy nodes: " << mNumOctreeNodes << ", " << "Traversed nodes: " 
     181          << mHierarchyInterface->GetNumTraversedNodes() << ", " 
    177182          << "Rendered nodes: " << mHierarchyInterface->GetNumRenderedNodes() << ", " 
    178183          << "Query culled nodes: " << mVisibilityManager->GetCullingManager()->GetNumQueryCulledNodes() << ", " 
Note: See TracChangeset for help on using the changeset viewer.