From: Michael Rouille (michael.rouille++at++irisa.fr)
Date: 03/24/2003 06:24:00
Sébastien Kuntz wrote:
> We are trying to achieve that with a layer above our scene graph.
> We have some basic operations like translate( node, x,y,z ), rotate(
> .. ) etc..
> each time we call such a method, the local scenegraph is updated
> accordingly,
> and a message (simple ascii command as for now) is sent to other
> connected simulations so that they can update their scene graph.
>
> if anybody has some experience or thoughts to share about that,
> it would be a perfect timing ;)
>
> Sébastien Kuntz
> SNCF VR Lab
>
> Gorm David Lai wrote:
>
>> We have currently bought 3 linux machines on which we run Performer 3.0
>> in combination with VRJuggler. The machines are to be synchronized
>> across the network.
>> VRJuggler only support synchronization through interaction. Has anyone
>> here experience with getting programmable scene graph manipulation
>> synchronized across the network. For example if a pfDCS is manipulated
>> on one machine, this change should be propagated to- and synchronized
>> with the other machines.
>> Currently we have no good solution for this problem. Any help/suggestion
>> would be much appreciated.
>>
>> Regards
>>
>> Gorm - Programmer
>> Center for Advanced Visualization and Interaction
>>
Here is a short explanation on how scene graphs synchronization is
achieved on different machines using OpenMASK <http://www.openmask.org>:
- The OpenMASK kernel is the layer responsible for distributing and
synchronizing the simulated objects of an application across the
network. If a simulated object public parameter is modified, the
parameter value will be updated for each mirror of this object. Note
that at this point the simulated objects are not visualisable.
- OpenMASK-3DVis, the simulated object built upon OpenGL Performer, is
reponsible for visualising and animating OpenMASK simulated objects. A
local instance of OpenMASK-3DVis will instantiate a local scene graph on
a given machine (it will also open the pipes, windows, channels and
initialise Performer). Each visualisable OpenMASK simulated object must
be a descendant of a "partner" interface, each partner associate a
geometry (a subgraph) to a simulated object. The partners are registered
to OpenMASK-3DVis, and the subgraphs added to the local scene graph. In
order to animate the partners, a user must associate a small component
named "inputHandler" to a scene graph node name and a simulated object
output. Usually the value of the scene graph node is modified in
function of the output value by the inputHandler code. Since the
consistency of the simulated objects output values is ensured by
OpenMASK kernel, and a local "inputHandlers" instantiated by each local
OpenMASK-3DVis it is possible to manipulate a simulated object parameter
on one machine and visualise this manipulation on any number of machines.
Let me know if you are interested in a more complete description of
OpenMASK-3DVis.
Sincerely,
Michael
-- Michaël Rouillé - OpenMASK <http://www.openmask.org> engineer - Siames project, Irisa
This archive was generated by hypermail 2b29 : Mon Mar 24 2003 - 06:26:57 PST