Changeset 2257 for OGRE


Ignore:
Timestamp:
03/18/07 00:25:35 (17 years ago)
Author:
mattausch
Message:
 
Location:
OGRE/trunk/ogre_changes/Ogre1.2/PlugIns/OctreeSceneManager
Files:
4 edited

Legend:

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

    r921 r2257  
    177177        */ 
    178178        bool isOctreeVisible(void); 
     179        void setOctreeFullyVisible(bool visible); 
     180        /** Returns true if this node is marked visible, false otherwise.  
     181        */ 
     182        bool isOctreeFullyVisible(void); 
    179183        /** Gets this node's parent (NULL if this is the root). 
    180184        */ 
     
    205209        int mLastVisited; 
    206210        bool mVisible; 
    207          
     211        bool mFullyVisible; 
    208212#endif // GTP_VISIBILITY_MODIFIED_OGRE 
    209213}; 
  • OGRE/trunk/ogre_changes/Ogre1.2/PlugIns/OctreeSceneManager/include/OgreOctreeSceneManager.h

    r921 r2257  
    123123                @param passes if passes should be left in queue for later processing 
    124124        */ 
    125         void _renderOctant(Camera* cam, Octree *octree, bool onlyShadowCasters,  
     125        void _renderOctant(Camera* cam,  
     126                                           Octree *octree,  
     127                                           bool onlyShadowCasters,  
    126128                const int leavePassesInQueue = 0); 
    127129 
    128         /** Returns stored list of boxes */ 
     130        void _renderOctantRecursive(Camera* cam,  
     131                                                                Octree *octree,  
     132                                                                bool onlyShadowCasters,  
     133                                                                const int leavePassesInQueue = 0); 
     134 
     135 
     136        /** Returns stored list of boxes  
     137        */ 
    129138        BoxList *getBoxes(); 
     139 
    130140#endif // GTP_VISIBILITY_MODIFIED_OGRE 
    131141 
  • OGRE/trunk/ogre_changes/Ogre1.2/PlugIns/OctreeSceneManager/src/OgreOctree.cpp

    r2128 r2257  
    8787      mHalfSize( 0, 0, 0 ) 
    8888#ifdef GTP_VISIBILITY_MODIFIED_OGRE 
    89         , mLastVisited(0), mVisible(false), mLastRendered(-1) 
     89        , mLastVisited(0), mVisible(false), mLastRendered(-1), mFullyVisible(false) 
    9090#endif //GTP_VISIBILITY_MODIFIED_OGRE 
    9191{ 
     
    205205{ 
    206206        return mVisible; 
     207} 
     208//-----------------------------------------------------------------------        
     209void Octree::setOctreeFullyVisible(bool visible) 
     210{ 
     211        mFullyVisible = visible; 
     212} 
     213//-----------------------------------------------------------------------        
     214bool Octree::isOctreeFullyVisible() 
     215{ 
     216        return mFullyVisible; 
    207217} 
    208218//-----------------------------------------------------------------------        
  • OGRE/trunk/ogre_changes/Ogre1.2/PlugIns/OctreeSceneManager/src/OgreOctreeSceneManager.cpp

    r2128 r2257  
    12141214                                                                           const int leavePassesInQueue) 
    12151215{ 
    1216         // delete previously rendered objects from the render queue 
    1217         //_deleteRenderedQueueGroups(leavePassesInQueue); 
    1218  
    12191216        RenderQueueGroup *currentGroup =  
    12201217                getRenderQueue()->getQueueGroup(getRenderQueue()->getDefaultQueueGroup()); 
     1218        // clear relevant passes rendered in last frame 
    12211219        currentGroup->clear(leavePassesInQueue); 
    12221220 
     
    12601258 
    12611259        //-- the actual rendering 
    1262         //SceneManager::_renderVisibleObjects(); 
    1263         /*** msz: modified for v1-2-0 compatibility. what value for 2nd param? 
    1264          *** any preparation necessary?? ***/ 
     1260        _renderQueueGroupObjects(currentGroup, QueuedRenderableCollection::OM_PASS_GROUP); 
     1261} 
     1262//----------------------------------------------------------------------- 
     1263void OctreeSceneManager::_renderOctantRecursive(Camera *cam,  
     1264                                                                                                Octree *octant,  
     1265                                                                                                bool onlyShadowCasters,  
     1266                                                                                                const int leavePassesInQueue) 
     1267{ 
     1268        RenderQueueGroup *currentGroup =  
     1269                getRenderQueue()->getQueueGroup(getRenderQueue()->getDefaultQueueGroup()); 
     1270        currentGroup->clear(leavePassesInQueue); 
     1271 
     1272        // Add stuff to be rendered 
     1273        walkOctree(static_cast < OctreeCamera * > ( cam ),  
     1274                           getRenderQueue(),  
     1275                           octant,  
     1276                           false,  
     1277                           onlyShadowCasters); 
     1278 
     1279        //-- the actual rendering 
    12651280        _renderQueueGroupObjects(currentGroup, QueuedRenderableCollection::OM_PASS_GROUP); 
    12661281} 
Note: See TracChangeset for help on using the changeset viewer.