Hi Mark,

On 2/1/07, [EMAIL PROTECTED]
<[EMAIL PROTECTED]> wrote:
Oh okay, I thought for a second that you were using the const keyword
somehow... which led to my question.

No, in principle its const, but in reality the different threads can
do what they want with OSG objects, one can't enforce const operations
across all threads, not in C++ at least.  Since its just const in
principle we have to be careful to make sure the various operations
respect the constraints that allow this type of threading model to
work.

The alternative to this delicate dance is to go mutex all access to
the scene graph or multi-buffer all data structures in the scene
graph.  Neither of which is great for cleaness of API or for
performance.

One of the challenges of this new threading model is how to keep it
safe, or at least to help end users diagnose problems related to this
type of threading and what to do about it.  Several of the OSG
examples crash when using the new threading model - the ones using RTT
cameras and ones that delete scene graph elements between frames.
Solutions are in the pipeline for these, but there still will be ways
of causing things to crash by not following the rules.  What the rules
are isn't something I've fulled explored yet... :-)

Robert.
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to