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/
