On 11/10/2009 06:07 PM, Paul Martz wrote: > Jean-Sébastien Guay wrote: >> I know I risk making the thread diverge into unrelated concerns, but I >> wanted to ask: > > No actually, I think this is the right direction for this thread to > take. :-) > >> Are there advantages to modifying CullVisitor rather than overriding >> traverse(), other than one dynamic_cast per frame per node? I think if >> that's the only advantage, I'd personally prefer keeping all the code >> related to the node type local to the type itself, even if that node >> type were to be included into OSG. > > Not sure. When I looked into this for OcclusionQueryNode, I was just > following the existing coding pattern for core OSG nodes. Most of them > had the bulk of their cull traversal functionality in the > CullVisitor::apply() for that particular node type, and did not override > the traverse() member function. > -Paul If you want to customize culling for a node that is a subclass of osg::Geode, you pretty much need to write your own cull visitor and override CullVisitor::apply(Geode&); the low-level code that puts geometry into the render graph is contained in that function and is called after the traverse() function of the node class.
Tim _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org