I found a reasonably good generic solution to flatten any part of my scene 
graph.
- Use a visitor pattern to collect all my osg::Geometry into a set of 
geometries starting at the osg::Group in question
- do a clone of the geometries into a new set with 
(osg::CopyOp::DEEP_COPY_PRIMITIVES | osg::CopyOp::DEEP_COPY_ARRAYS) , then 
add them into a new osg::Group for the optimizer to work with.
- Use a osgUtil::MergeGeometryVisitor to collect all the primitive sets
- Then an osgUtil::IndexMeshVisitor to merge the primitive sets


On Sunday, March 1, 2020 at 9:07:42 AM UTC-8, AndrewC wrote:
>
> Hi,
> I was wondering what the best practices are for dealing with a complex 
> scene graph where a single osg::Group might have , say, 5000 children where 
> each child is fairly simple osg::Geom geometry. Clearly, this is 
> inefficient and draws slowly.
> So obviously, compiling/collecting the geometry into one drawable would be 
> much more efficient. osgUtil::Optimizer does not seem to do this for me, or 
> am I missing something?
>
> Andrew
>

-- 
You received this message because you are subscribed to the Google Groups 
"OpenSceneGraph Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to osg-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/osg-users/81eebbe0-f14b-4aa4-9c09-8bed0152647b%40googlegroups.com.
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to