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

Reply via email to