3D Nodes

MiddleVR internally uses its own scenegraph to describe the user and the VR system :

This representation is made up of cameras, screens and simple 3d nodes.

Coordinate system

MiddleVR uses a right-handed coordinate system, with X pointing to the right, Y pointing away from the user, towards the screen, and Z pointing up :

3D Node

Most of the time 3D nodes represent real world objects, like a screen, or a body part, like a user's head, hand, or eyes (ie cameras).

In the 3D nodes view, you can configure what your VR system looks like "in the real world" : what body parts of your user you're tracking, where are the screens located, how they're seeing the virtual world.

A basic 3D node is represented as a blue square :

VR hierarchy

The VR hierarchy is the whole scenegraph describing your VR system and users. The root of the VR hierarchy is always the "RootNode". The VR hierarchy is the whole scenegraph including the RootNode and all its children :


Cameras are like real world cameras. They capture a view of the virtual world. They can also represent a user's eye position and orientation. You can either use regular cameras or stereoscopic cameras, which will render two slightly different views so as to recreate the 3D perception.


A Screen is the physical representation of a display surface. A display surface can be for example a projection screen, or a computer monitor. A screen node is useful to specify the position, orientation and size of the display surface.

A Screen doesn't hold any information about resolution or refresh rate. This information is handled by the Display.

A Screen is used by a camera to determine its viewing frustum in order to compute the correct perspective based on the user position with respect to this Screen.

A typical computer monitor is a combination of a Screen and a Display: the display surface is the monitor, which is not the case with a projector.

A projector is a good example of why the two concepts are separated. The projector in itself is responsible for the refresh rate and resolution of the image, a Display, whereas the projection surface can be very different depending on where you place the projector. The physical position and size of the display surface is then stored as a Screen.

You can find the concept of Screen in other software, named as projection referential, projection surface, display surface etc.