Hi Anton,

I have reviewed the CullVisitor.cpp and CullStack/CullingSet headers
and have decided the best thing to do is make
osg::Drawable::isCullingActive() handling consistent with how other
Node's in the scene graph are handled, this does mean that code that
assumes CullingActive on a Geode will disable CullingActive on a
Drawable child will be broken so you'll need to modify your code to
handle this.  The change I made was:

$ git diff
diff --git a/src/osgUtil/CullVisitor.cpp b/src/osgUtil/CullVisitor.cpp
index 4370b83..e9e5b47 100644
--- a/src/osgUtil/CullVisitor.cpp
+++ b/src/osgUtil/CullVisitor.cpp
@@ -992,7 +992,7 @@ void CullVisitor::apply(osg::Drawable& drawable)
         }
     }

-    if (!getNodePath().empty() &&
getNodePath().back()->isCullingActive() && isCulled(bb)) return;
+    if (drawable.isCullingActive() && isCulled(bb)) return;


     if (_computeNearFar && bb.valid())

This is checked into master and OpenSceneGraph-3.4 branch.

Robert.
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to