Tracking & Controls

Tracking is needed for two things: accurate viewer-centered perspective, and interaction in 3D.

The CAVE normally uses an Ascension Flock-of-Birds for tracking; the ImmersaDesk normally uses a Spacepad. In general, a tracker can be any device that reports position and orientation data for one or more sensors.

The CAVE library and tracking daemon handle all the details of reading the tracker hardware. Applications merely read the final data (in CAVE coordinates) from shared memory, using CAVE library functions.

A "controller" provides additional input for interaction. Normally, this controller is the EVL wand, which has 3 buttons and a pressure-sensitive joystick. In general, a controller is a collection of on/off buttons and floating-point valuators.

The current state of the wand (buttons, joystick, or other valuators) is also read by the CAVE tracking process, and is stored in shared memory for application use.

The tracking and wand data which is used by the library functions is updated once per frame at the beginning of the frame, so that it is consistent for all the drawing processes.


Previous page    Next page

Last modified 19 July 1997.

Dave Pape,