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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/osg-users/81eebbe0-f14b-4aa4-9c09-8bed0152647b%40googlegroups.com.

Reply via email to