Hi Mathias,

On Thu, Feb 3, 2011 at 8:50 PM, Mathias Buhr <mathias...@gmx.de> wrote:
> A maybe related question: Does osg::Object::DataVariance "inherit" to child
> nodes (in multithreaded mode), e.g. is it safe to remove a subgraph after a
> node with DataVariance set to DYNAMIC? The rendering thread(s) may still be
> traversing this subgraph in this case.

The rendering backend takes a ref_ptr<> to all StateSet and Drawable
that are culled so removing these from the scene graph won't deleted
them till the draw traversal has finished with them.

The DataVariance set to DYNAMIC for Drawable and StateSet (and their
contents) that are changed in the update phase is important as the
draw traversal uses it as queue to hold the next frame back till draw
traversal has dispatched all the dynamic objects.

If Drawables and state not changing once created just leave their
DataVariance as STATIC.

Robert.
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to