Show
Ignore:
Timestamp:
03/08/09 13:00:36 (5 years ago)
Author:
robert
Message:

Preliminary work on general purpose incremental compile support in osgViewer.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/include/osgViewer/ViewerBase

    r9554 r9868  
    1818 
    1919#include <osgUtil/UpdateVisitor> 
     20#include <osgUtil/GLObjectsVisitor> 
    2021 
    2122#include <osgGA/MatrixManipulator> 
     
    185186        /** Get the graphics operation to call on realization of the viewers graphics windows.*/ 
    186187        osg::Operation* getRealizeOperation() { return _realizeOperation.get(); } 
     188         
     189         
     190        /** Set the incremental compile operation. 
     191          * Used to manage the OpenGL object compilation and merging of subgraphs in a way that avoids overloading 
     192          * the rendering of frame with too many new objects in one frame. */ 
     193        void setIncrementalCompileOperation(osgUtil::IncrementalCompileOperation* ico); 
     194 
     195        /** Get the incremental compile operation. */ 
     196        osgUtil::IncrementalCompileOperation* getIncrementalCompileOperation() { return _incrementalCompileOperation.get(); } 
    187197 
    188198 
     
    261271        virtual void viewerInit() = 0; 
    262272 
    263         bool                                        _firstFrame; 
    264         bool                                        _done; 
    265         int                                         _keyEventSetsDone; 
    266         bool                                        _quitEventSetsDone; 
    267         bool                                        _releaseContextAtEndOfFrameHint; 
    268          
    269         ThreadingModel                              _threadingModel; 
    270         bool                                        _threadsRunning; 
    271  
    272         BarrierPosition                             _endBarrierPosition; 
    273  
    274         osg::ref_ptr<osg::BarrierOperation>         _startRenderingBarrier; 
    275         osg::ref_ptr<osg::BarrierOperation>         _endRenderingDispatchBarrier; 
    276         osg::ref_ptr<osg::EndOfDynamicDrawBlock>    _endDynamicDrawBlock; 
    277          
    278         osg::ref_ptr<osgGA::EventVisitor>           _eventVisitor; 
    279          
    280         osg::ref_ptr<osg::OperationQueue>           _updateOperations; 
    281         osg::ref_ptr<osgUtil::UpdateVisitor>        _updateVisitor; 
    282          
    283         osg::ref_ptr<osg::Operation>                _realizeOperation; 
    284  
    285         osg::observer_ptr<osg::GraphicsContext>     _currentContext; 
     273        bool                                                _firstFrame; 
     274        bool                                                _done; 
     275        int                                                 _keyEventSetsDone; 
     276        bool                                                _quitEventSetsDone; 
     277        bool                                                _releaseContextAtEndOfFrameHint; 
     278         
     279        ThreadingModel                                      _threadingModel; 
     280        bool                                                _threadsRunning; 
     281 
     282        BarrierPosition                                     _endBarrierPosition; 
     283 
     284        osg::ref_ptr<osg::BarrierOperation>                 _startRenderingBarrier; 
     285        osg::ref_ptr<osg::BarrierOperation>                 _endRenderingDispatchBarrier; 
     286        osg::ref_ptr<osg::EndOfDynamicDrawBlock>            _endDynamicDrawBlock; 
     287         
     288        osg::ref_ptr<osgGA::EventVisitor>                   _eventVisitor; 
     289         
     290        osg::ref_ptr<osg::OperationQueue>                   _updateOperations; 
     291        osg::ref_ptr<osgUtil::UpdateVisitor>                _updateVisitor; 
     292         
     293        osg::ref_ptr<osg::Operation>                        _realizeOperation; 
     294        osg::ref_ptr<osgUtil::IncrementalCompileOperation>  _incrementalCompileOperation; 
     295 
     296        osg::observer_ptr<osg::GraphicsContext>             _currentContext; 
    286297}; 
    287298