Hi Doug, There are number of hoops one has to jump through to do safe multi-threading with the OSG, osgViewer does these all for you, while SceneView knows nothing of it and requires higher level classes to handle it. osgViewer itself does use SceneView so does illustrate that it is possible using SceneView so you could possible use this as guide.
Personally I'd recommend that VRJuggler just use osgViewer for creating the windows and cameras as per the configuration required by VRJuggler, this way you can take advantage of all the threading models that osgViewer provides in a way that is known to be thread safe. Another key advantage of adopting osgViewer is that problems you see will be much more reproducible by others who don't use VRJuggler. For instance you could create a scene that uses a ClearNode and run in standard OSG examples, and if the problems exists then I and others can look into it. With the current state of play, trying to help diagnose what might be up would require a massive time investment in getting VR Juggler installed, learning about it, setting up the case that reproduces the problem, then stepping through to see where the problem lies. The alterntaive of trying to debug this stuff remotely with even knowing all the VRJuggler code is no mean feat either - there are many things that VR Juggler could be doing wrong w.r.t multi-threaded set up of the OSG, or it could a problem on the OSG side. Trying to sort it out this way would again require a huge investment of time all round. I'm afraid I'm certainly too over stretched to undertake such a process. One of osgViewer core goals is making multi-thread, multi-channel usage of the OSG straight forward, hiding all the subtle details and thread synchronization that is required. I'm not familiar with VR Juggler, but I would have though it should possible to replace the existing SceneView framework with a osgViewer::Viewer object and have the Viewer's windows and cameras all set up according to VR Juggler configuration. Robert. On 8/2/07, Doug McCorkle <[EMAIL PROTECTED]> wrote: > Hello, > We are using SceneView from OSG 1.2 and VR Juggler in a > multiple render thread environment. We are using the > osgUtil::UpdateVisitor to update the graph in a serial portion of our > code. SceneView::cull and SceneView::draw are called from each > rendering thread. In this configuration we often see the displays > flash the clear color on a random basis. We are setting the clear > color through the use of a ClearNode and we clear the depth buffer at > the beginning of the draw function. The "flashing" of the clear color > is not seen when only one render thread is utilized. Is there a > reason we are be seeing this behavior? Are we mismanaging something > in our draw loop? Thanks for the help. > > Doug > > PS. Initial testing has shown this to occur under the OSG 1.9.x > series as well. > > _______________________________________________ > osg-users mailing list > osg-users@lists.openscenegraph.org > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org