Last edited 24jun01 by
Find this document at

Recap of "Project Eight-Stones" by Mark Flider, Doug Nachand, Matt Woodruff

Behind the Scenes

The reason for syzygy's existence is the problem of how to get video onto the CUBE. Each wall of the cube needs its own projector and frame buffer (video card). The CAVE uses four video cards in one giant SGI box to push teh video data out to the cards. This is, however, a very expensive solution. In order to lower the CUBE's cost, the idea is to use six PCs, each with its own video card. The price of such a configuration is orders of magnitude less than that of an SGI box equivalent to that of the CAVE.

The PCs will be networked via gigabit ethernet, but even this bandwidth would easily be saturated with pure OpenGL calls or bitmapped images being sent to each computer. Syzygy solves the bandwidth problem by having each client machine render a scene with its own power. The server sends scene information as a database, and only sends updates to the database to the clients.

The scene database is set up with a tree structure, each client having an identical copy. Transformation matrices, texture nodes, and color data are attached to the main node, and object nodes (describing points and polygons) inherit the properties of their parent nodes. Since each type of data has its own node representation, the changes to the database are usually very minimal and can be sent to the client computers with trivial bandwidth usage.

Downloading and Installation of Syzygy

To grab the latest copy of syzygy, go to, then click Projects, then syzygy, then finally CVS Snapshot.

To build syzygy, untar the tarball with tar xcvf szg.tar.gz. There should now be a directory called szg in your directory. Go into szg/build/ and type ./Build. This should build all the necessary components for your system. The applications are actually in szg/bin/linux for linux, szg/bin/win32 for windows, and so forth.

To run syzygy, ask Matt or Doug to finish this part. :)