Hi Michael, The sync of the start of the frame is under your control as its your app that calls viewer.frame() (or its indivual event/update/renderingTraversals). You'll just need to add you own frame begin and data sync code into your main loop.
The syncronization of swap buffers is harder. osgViewer currently supports syncronization of swap buffer calls between separate graphics threads running on separate cards - but only on one machine, there isn't a hook yet for providing an external swap ready sync signal. In the ViewerBase::startThreading() method you'll find an internal swapReadyBarrier operation created and assigned to the sync of the various graphics threads, but as its internal you can't override it. What osgViewer ideally should do is provide this swapReadyBarrier in the public interface with the ability to override it/configure it. It would require much in the way of code changes to osgViewer to support this, but as it'll break binary compatibility so will have to be a feature for 2.3.x dev release and 2.4 stable rather the up comming 2.2.1 stable release. You are welcome to have bash at coding the above, I can review/suggest improvements. Alternatively you can wait till I've got so slack at my end and for me to implement this feature, this will be a few weeks yet though. If you have patience then just go ahead and implement the frame begin+data sync in the main frame loop and ignore the swap ready sync till I update osgViewer to support and user definable swap ready sync. If your app is hitting a solid 60Hz then the swap ready sync won't actually be that critical anyway. Robert. On Nov 9, 2007 2:13 PM, Michael Raab <[EMAIL PROTECTED]> wrote: > Hello, > > i've got the following question! > I want to build a cluster application using osg! This means i've to > synchronize the rendering process. > My application consists of one master and several slaves, where the slaves > are simple render nodes and the master is responsible for the > synchronisation. My Problem is that i've to create a restricted rendering > loop for the slaves. > The new loop should look something like this: > - first each slave has to wait until it has the complete sceneupdate, e.g. > until there's a network message that tells him "Start Rendering" > - the slave should render the scene into the back buffer > - if the rendering is finished the slave has to wait until there's a network > message which tells him to swap back and front buffer! > > Is it possible to realize this without changing osg code? If not what do you > think with part do i have to touch? I think the rendering is done in some > kind of the View Class... > > Thank you for your support, > Michael > -- > Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten > Browser-Versionen downloaden: http://www.gmx.net/de/go/browser > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

