RE: panoramic on Performer linux?

New Message Reply Date view Thread view Subject view Author view

From: Bard, Richard (BARDR++at++pgocm5.ksc.nasa.gov)
Date: 01/25/2000 07:21:19


There are a few problems with using TCP/UDP, & pfdStoreFile():
1) both TCP and UDP are nondeterministic, even if you have an isolated
network between the machines.
You'll see a very jerky motion on the slave machines, even if you run at a
very low frame rate.

2) storing the scene graph via pfdStoreFile is disk I/O. If you want to
retain any kind of frame rate at all,
you want to stay away from this: it's the slowest thing in the system
(except for us, the users! <grin>). disk I/O
is also nondeterministic.

The approach that we're taking is this:
All of the computers are running copies of the scenegraph. Changes to the
scenegraph are stimuli that are fairly small in comparison to the overall
scenegraph. For example, you may want to move a vehicle forward at rate R,
or change the position/orientation of an object. We communicate the
stimulus that caused the scenegraph changes between all of the systems via
UDP. All of the systems are allowed to generate stimuli; at this time,
we've left the question of device ownership up to the users. Each system
receives the stimuli from the other systems and calculates the changes to
the DCS nodes in its copy of the scenegraph.
In this approach, there is a problem with roundoff variations in floating
point values, and with performing a motion on ALL systems for precisely the
same number of cycles. We're dealing with this by having a master machine
cyclically (.1 hz) send out a master refresh of the
position/orientation/attributes of the objects that have changed since the
last refresh.

Obviously, we do have an infrastructure underneath all of this: we don't
want to slow the scenegraph down by being forced to check the socket for new
stimuli. We use shared memory to communicate object attribute information
between the network interface and the APP process.

Hope this helps -
Rick Bard

> -----Original Message-----
> From: rusguss++at++viso2.rus.uni-stuttgart.de
> [SMTP:rusguss++at++viso2.rus.uni-stuttgart.de]
> Sent: None
> To: info-performer++at++sgi.com
> Subject: RE: panoramic on Performer linux?
>
> Hi,
>
> I am looking for a way to distribute a performer scene graph to get
> something
> like a panoramic view. My idea is to have one master computer that control
> the
> scene graph, the sync and so on, and several slave computers that display
> their
> view of the scene graph.
> One possibility would be to store the scene graph using: pfdStoreFile to
> save it to
> a file, loading the file as a binary and sending it to all the slaves (TCP
> or UDP).
> That would work for the scene startup but what do I do when the scene
> graph changes ?
>
>
> Thanks
> Pablo Gussmann
>
>
> -----------------------------------------------------------------------
> List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Tue Jan 25 2000 - 07:21:41 PST

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.