Added automatic assignment of _markerObject to CompileSet.
This commit is contained in:
parent
e9d6737ec4
commit
06cb31a3d2
@ -24,7 +24,7 @@ class OSGUTIL_EXPORT StateToCompile : public osg::NodeVisitor
|
||||
{
|
||||
public:
|
||||
|
||||
StateToCompile(GLObjectsVisitor::Mode mode, osg::Object* markerObject=0);
|
||||
StateToCompile(GLObjectsVisitor::Mode mode, osg::Object* markerObject);
|
||||
|
||||
typedef std::set<osg::Drawable*> DrawableSet;
|
||||
typedef std::set<osg::StateSet*> StateSetSet;
|
||||
@ -266,6 +266,8 @@ class OSGUTIL_EXPORT IncrementalCompileOperation : public osg::GraphicsOperation
|
||||
typedef std::map<osg::GraphicsContext*, CompileList > CompileMap;
|
||||
CompileMap _compileMap;
|
||||
|
||||
osg::ref_ptr<osg::Object> _markerObject;
|
||||
|
||||
protected:
|
||||
|
||||
virtual ~CompileSet() {}
|
||||
|
@ -420,7 +420,8 @@ void IncrementalCompileOperation::CompileSet::buildCompileMap(ContextSet& contex
|
||||
{
|
||||
if (contexts.empty() || !_subgraphToCompile) return;
|
||||
|
||||
StateToCompile stc(mode);
|
||||
StateToCompile stc(mode, _markerObject.get());
|
||||
|
||||
_subgraphToCompile->accept(stc);
|
||||
|
||||
buildCompileMap(contexts, stc);
|
||||
@ -579,6 +580,9 @@ void IncrementalCompileOperation::add(CompileSet* compileSet, bool callBuildComp
|
||||
{
|
||||
if (!compileSet) return;
|
||||
|
||||
// pass on the markerObject to the CompileSet
|
||||
compileSet->_markerObject = _markerObject;
|
||||
|
||||
if (compileSet->_subgraphToCompile.valid())
|
||||
{
|
||||
// force a compute of the bound of the subgraph to avoid the update traversal from having to do this work
|
||||
|
Loading…
Reference in New Issue
Block a user