Ignore:
Timestamp:
05/08/06 06:55:17 (18 years ago)
Author:
mattausch
Message:

update for ogre 1.2
OcclusionCullingSceneManager? is the only scenemanager in the solution now

File:
1 edited

Legend:

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

    r903 r925  
    341341                setSpecialCaseRenderQueueMode(SceneManager::SCRQM_EXCLUDE); 
    342342 
     343 
    343344                // set all necessary parameters for  
    344345                // hierarchical visibility culling and rendering 
    345346                InitVisibilityCulling(mCameraInProgress); 
     347 
    346348 
    347349                /**  
     
    389391        // HACK: set the new render level index, important to avoid cracks 
    390392        // in terrain caused by LOD 
    391         TerrainRenderable::NextRenderLevelIndex(); 
     393        //TerrainRenderable::NextRenderLevelIndex(); 
    392394         
    393395        // reset ambient light 
     
    395397 
    396398        getRenderQueue()->clear(); // finally clear render queue 
    397         if (0) OGRE_DELETE(mRenderQueue); // HACK: should rather only be cleared ... 
     399        if (1) OGRE_DELETE(mRenderQueue); // HACK: should rather only be cleared ... 
    398400 
    399401        if (0) WriteLog(); // write out stats 
     
    547549} 
    548550//----------------------------------------------------------------------- 
    549 void VisibilityTerrainSceneManager::renderObjects( 
    550         const QueuedRenderableCollection& objs, 
    551         QueuedRenderableCollection::OrganisationMode om, 
    552         bool doLightIteration, const LightList* manualLightList) 
    553 { 
    554         // for correct rendering, transparents must be rendered after hierarchical culling 
    555         // => do nothing 
    556         if (NORMAL_RENDER_HACK || !mSkipTransparents) 
    557         { 
    558                 SceneManager::renderObjects(objs, om, doLightIteration, manualLightList); 
    559         } 
     551//----------------------------------------------------------------------- 
     552void VisibilityTerrainSceneManager::renderBasicQueueGroupObjects(RenderQueueGroup* pGroup,  
     553                                                                                                                                 QueuedRenderableCollection::OrganisationMode om) 
     554{ 
     555    // Basic render loop 
     556    // Iterate through priorities 
     557    RenderQueueGroup::PriorityMapIterator groupIt = pGroup->getIterator(); 
     558 
     559    while (groupIt.hasMoreElements()) 
     560    { 
     561        RenderPriorityGroup* pPriorityGrp = groupIt.getNext(); 
     562 
     563        // Sort the queue first 
     564        pPriorityGrp->sort(mCameraInProgress); 
     565 
     566        // Do solids 
     567        renderObjects(pPriorityGrp->getSolidsBasic(), om, true); 
     568 
     569                // for correct rendering, transparents must be rendered after hierarchical culling 
     570                // => do nothing 
     571 
     572        // Do transparents (always descending) 
     573                if (NORMAL_RENDER_HACK || !mSkipTransparents) 
     574                { 
     575                        renderObjects(pPriorityGrp->getTransparents(),  
     576                        QueuedRenderableCollection::OM_SORT_DESCENDING, true); 
     577                } 
     578 
     579 
     580    }// for each priority 
    560581} 
    561582//----------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.