--
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+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/osg-users/19df5325-01d5-4fa7-94d2-9c9560c92956%40googlegroups.com.
Armin Samii Visualization Software Engineer, Argo AI |
Iterating over the 5000 children would be pretty slow - what if you could discard some of these children without even looking at them? A hierarchy of sorts, where you can ignore large swaths of those children, would help...Consider, for example, using a k-d tree: http://www.openscenegraph.org/index.php/documentation/user-guides/107-kdtreesOr you can do this on your own, if you like, by grouping nearby nodes into their own osg::Group. Depends what your underlying data looks like.I would not recommend combining the geometry into a single drawable unless you expect all of them to be visible at once, and that each piece of geometry is fairly small.
On Sun, Mar 1, 2020 at 9:07 AM AndrewC <ad...@a-cunningham.com> 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-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/osg-users/19df5325-01d5-4fa7-94d2-9c9560c92956%40googlegroups.com.
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:
--
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+...@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-...@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org