Remove seemingly redundant handling of Geode in GLObjectsVisitor
This commit is contained in:
parent
fdf6d55b9d
commit
6deefe0646
@ -94,11 +94,6 @@ class OSGUTIL_EXPORT GLObjectsVisitor : public osg::NodeVisitor
|
||||
/** Simply traverse using standard NodeVisitor traverse method.*/
|
||||
virtual void apply(osg::Node& node);
|
||||
|
||||
/** For each Geode visited set the display list usage according to the
|
||||
* _displayListMode.
|
||||
*/
|
||||
virtual void apply(osg::Geode& node);
|
||||
|
||||
void apply(osg::Drawable& drawable);
|
||||
void apply(osg::StateSet& stateset);
|
||||
|
||||
|
@ -53,28 +53,6 @@ void GLObjectsVisitor::apply(osg::Node& node)
|
||||
}
|
||||
}
|
||||
|
||||
void GLObjectsVisitor::apply(osg::Geode& node)
|
||||
{
|
||||
bool programSetBefore = _lastCompiledProgram.valid();
|
||||
|
||||
if (node.getStateSet())
|
||||
{
|
||||
apply(*(node.getStateSet()));
|
||||
}
|
||||
|
||||
traverse(node);
|
||||
|
||||
bool programSetAfter = _lastCompiledProgram.valid();
|
||||
if (!programSetBefore && programSetAfter)
|
||||
{
|
||||
osg::State* state = _renderInfo.getState();
|
||||
osg::GLExtensions* extensions = state->get<osg::GLExtensions>();
|
||||
extensions->glUseProgram(0);
|
||||
state->setLastAppliedProgramObject(0);
|
||||
_lastCompiledProgram = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void GLObjectsVisitor::apply(osg::Drawable& drawable)
|
||||
{
|
||||
if (_drawablesAppliedSet.count(&drawable)!=0) return;
|
||||
|
Loading…
Reference in New Issue
Block a user