Aller au contenu

Setup

The creation of a Cave protocol is more complex than a conventional protocol. If the experiments proposed in Cave natively take care of the specificities of a complex projection system, it is however necessary to proceed to a specific configuration.

Upstream of the protocol itself, it is, in fact, mandatory to inform the characteristics of the rendering system as well as the network parameters.

Rendering system

A rendering system is directly linked to the projection system. As long as the projection system is not modified, it is not necessary to modify the rendering system of the protocols. We therefore recommend creating an empty protocol with the projection system configured. This makes it easy to produce new protocols on this common basis.

Initial protocol by Antycip

The rendering system configuration is complex, but an original, projection system compliant version will be provided by InMind-VR and Antycip.

Render System Configuration

Image title 2

Example rendering system configuration.

The configuration of the rendering system goes through a configuration of the rendering nodes (RenderNodes) for which it is necessary to proceed to a configuration of the viewing windows (Viewports).

This configuration is necessary and allows you to indicate to each computer, projecting one or more images, the cameras to use and the screen surfaces on which to project.

Rendering node

Image title 2

Properties of a render node.

The render node itself is fairly simple. However, it is very important, because when the pass is launched, VRmaze Sim will check all the render nodes in the protocol and send, on the IpV4 addresses, a command to launch the protocol (This command will be intercepted by the VRmaze Listener client). This node has the following properties:

  • An IPV4 address
  • A rendering resolution
  • A rendering node type (slave or master computer)

Render Resolution

It is quite possible to render at a resolution several times higher than the usual Full HD resolution (1920x1080). This is especially the case in single-computer systems as well as projection systems with dual graphics outputs.

Convention

By convention, the list of render nodes starts with the master computer (Is Server). There should be only one master computer in the list of render nodes.

Avoid using the master PC

We strongly advise against using the master PC as a rendering computer projecting an image. Indeed, the master PC is always a few milliseconds ahead of all the slave computers, so we recommend using only slave computers for rendering the immersive room. These slave computers are synchronized with each other.

Case of a single master PC

An ip address is needed, if no network card is available, then no ip address will be available. In this case, the rendering node will have to fill in the me keyword. Note that if the system consists of at least two computers, IPV4 addresses are mandatory.

Viewing Window

Image title 2

Properties of a viewport.

Each render node is launched at runtime. It is necessary that at launch, the slave computer knows what to display and how to display it. This is the role of the viewport. A viewport allows you to configure the image area to be rendered and the associated camera. The properties of a viewport are as follows:

  • Name of the associated camera
  • Position of the rendering window
  • Size of the rendering window

A computer can render as many viewports as necessary, however, these viewports cannot overlap. Concerning the space occupation, the requested coordinates are expressed as a percentage of the rendering resolution. The {0,0} coordinate (minimum) is at the bottom left while the {1,1} coordinate (maximum) is at the top right.

Once the rendering area has been defined, the name of the camera to be rendered must be specified. This camera name must be present in each of the test structures of the protocol, so that at each moment of the run, the computer is able to link a rendering zone to a rendering camera.

50% of a screen = flattened image ?

Be careful, it is indeed the percentage of the total resolution. In the case of a double full HD resolution, an image projected on 50% of the image width will indeed produce an image at 1920x1080 resolution.

Graphics resources?

The more viewports a computer has to render the more resources are required. Doubling the viewport causes 2x the resource consumption, regardless of the output resolution.

Camera name

The camera name is case sensitive.

Case example

A simple case: let's imagine a slave computer that needs to handle stereoscopic display (with two channels) for a projector. The output resolution (pixel area) of the render node must be 2x the resolution of a single graphics output. This render node will have two viewports: one for the left eye, one for the right eye, with viewports that will occupy 50% of the screen width.

Network configuration

Image title 2

Network properties.

The network properties of the Cave protocol allow you to configure how computers communicate. By default, the communication port settings can be left that way which ensures distributed rendering system operation.

Only the latency and sending frequency properties need to be adapted to the protocol. Indeed, these parameters can have an influence on the behavior and the fluidity of the display on the slave computers: the sending frequency of the information must always be higher than the latency to allow the slave computers to always have data in their memory buffer.

The display latency only affects the actions produced by the participant on the master computer (joystick interactions, etc.). The master computer will send new object states quickly, but will be interpreted with the latency set.

Sending frequency

The sending frequency is expressed in Hz, or number of sends per second. A frequency of 50 to 100 Hz is normally sufficient.

Latency

Regarding latency, expressed in seconds, a latency of 0.03s up to 0.1s is almost not perceptible by the participant.

Firewall and antivirus

In the case of network communication problems, it is possible that the firewall or antivirus installed on the computer is the cause.