Concepts

Cluster nodes

A cluster is a collection of computers that are used together to drive one VR system. Typically, one computer drives one or more projector/screen. Each computer is called a "Cluster Node". There is a primary computer that is called the "Cluster Server" and acts as the master for the other computers, which are called "Cluster Clients".

The server will gather all the information needed to synchronize all the cluster nodes and send it to them.

Synchronization

In a cluster, the main issue is to correctly synchronize all the nodes, otherwise there will be discrepencies at the junction of projectors.

There are several layers of synchronization.

Framelock

Framelock makes sure that the simulated world is the same on all cluster nodes. It makes sure that everyhing is at the same place and the same state on all computers, so the distributed simulation is coherent. Perfect framelock is hard to achieve unless you are writing the 3D engine yourself, and even then, it's not always possible to synchronize everything perfectly.

MiddleVR does its best to automatically synchronize scenes by using heuristics to synchronize only the necessary states and thus saving network bandwith and CPU resources.

Note: Framelock is also sometimes another name for Genlock.

Swaplock

Swaplock makes sure that all computers swap their double buffers at the same time, meaning that each new picture is displayed at the same time on every computer.

Otherwise you can have one computer displaying a previous frame while another computer displays the current frame.

This swaplock can be done by software (SoftSwapLock), but is more precise when doubled by a hardware swaplocked. This hardware swaplock is generally handled by the graphics cards through an external synchronization card, such as a GSync card with NVidia Quadros. The same option is also possible with ATI cards. This option is called NVSwapLock.

Genlock

Genlock is a hardware option that also requires a GSync card with NVidia Quadros and ATI cards. When using stereoscopy, genlock makes sure that all the computers display the same eye (left or right) at the same time. If you're not using it, a computer might be displaying the right eye while another one displays the left eye. Headache guaranteed !