Ignore:
Timestamp:
10/05/07 15:35:10 (17 years ago)
Author:
mattausch
Message:

added functions to accumulate render queue and issue it at one point

Location:
OGRE/trunk/ogre_changes/Ogre1.2/PlugIns/OctreeSceneManager
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • OGRE/trunk/ogre_changes/Ogre1.2/PlugIns/OctreeSceneManager/include/OgreOctreeSceneManager.h

    r2257 r2554  
    123123                @param passes if passes should be left in queue for later processing 
    124124        */ 
    125         void _renderOctant(Camera* cam,  
    126                                            Octree *octree,  
    127                                            bool onlyShadowCasters,  
    128                 const int leavePassesInQueue = 0); 
     125        void _addOctantToQueue(Camera *cam,  
     126                                                   Octree *octant,  
     127                                                   bool onlyShadowCasters,  
     128                                                   const int leavePassesInQueue); 
     129 
     130        void _renderOctant(const int leavePassesInQueue = 0); 
    129131 
    130132        void _renderOctantRecursive(Camera* cam,  
  • OGRE/trunk/ogre_changes/Ogre1.2/PlugIns/OctreeSceneManager/src/OgreOctreeSceneManager.cpp

    r2257 r2554  
    12091209} 
    12101210//----------------------------------------------------------------------- 
    1211 void OctreeSceneManager::_renderOctant(Camera *cam,  
    1212                                                                            Octree *octant,  
    1213                                                                            bool onlyShadowCasters,  
    1214                                                                            const int leavePassesInQueue) 
    1215 { 
    1216         RenderQueueGroup *currentGroup =  
    1217                 getRenderQueue()->getQueueGroup(getRenderQueue()->getDefaultQueueGroup()); 
    1218         // clear relevant passes rendered in last frame 
    1219         currentGroup->clear(leavePassesInQueue); 
    1220  
     1211void OctreeSceneManager::_addOctantToQueue(Camera *cam,  
     1212                                                                                   Octree *octant,  
     1213                                                                                   bool onlyShadowCasters,  
     1214                                                                                   const int leavePassesInQueue) 
     1215{ 
    12211216        // Add stuff to be rendered 
    12221217        NodeList::const_iterator it, it_end = octant->mNodes.end(); 
     
    12571252        } 
    12581253 
     1254} 
     1255 
     1256//----------------------------------------------------------------------- 
     1257void OctreeSceneManager::_renderOctant(const int leavePassesInQueue) 
     1258{ 
     1259        RenderQueueGroup *currentGroup =  
     1260                getRenderQueue()->getQueueGroup(getRenderQueue()->getDefaultQueueGroup()); 
     1261         
    12591262        //-- the actual rendering 
    12601263        _renderQueueGroupObjects(currentGroup, QueuedRenderableCollection::OM_PASS_GROUP); 
     1264 
     1265        // clear remder queue 
     1266        currentGroup->clear(leavePassesInQueue); 
    12611267} 
    12621268//----------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.