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.*/
|
/** Simply traverse using standard NodeVisitor traverse method.*/
|
||||||
virtual void apply(osg::Node& node);
|
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::Drawable& drawable);
|
||||||
void apply(osg::StateSet& stateset);
|
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)
|
void GLObjectsVisitor::apply(osg::Drawable& drawable)
|
||||||
{
|
{
|
||||||
if (_drawablesAppliedSet.count(&drawable)!=0) return;
|
if (_drawablesAppliedSet.count(&drawable)!=0) return;
|
||||||
|
Loading…
Reference in New Issue
Block a user