I'm using a CompositeViewer ("viewer") to have multiple cameras with their own graphics contexts imaging a single scene. I've wrapped all this up in function calls that I expose to a separate UI, and so far I have the capability to change scene configuration on the fly and take simultaneous snapshots with viewer->frame().
That's really all I need, but I can only verify the scene contents by reviewing the stills from the snapshots. To get "live" imagery and use manipulators effectively, I figure I need to use viewer->run() or something equivalent. My first thought was to create a graphics context, apply to a view, and run() this in a separate thread. So, my questions: I'd have to call viewer->run() or equivalent, right? While the viewer is running in its thread, can a user still call my functions to take snapshots? Are these going to trigger traversals that could interfere with the running thread? What if the viewer is running and the user calls a function that adds a new node to the scene graph? What if the viewer is running and the user calls a function to add a second "live" view? How much trouble am I asking for here? What should the threading model be for the viewer, or does that even matter in this sense? Is there anything inherently problematic about this approach? Any part of the approach. Many thanks! ------------------ Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=62937#62937 _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org