Initialization & Processes


Display process

Applications are split into separate processes for computation and rendering. The CAVE library creates the drawing process (and others), and controls the rendering loop. It calls application-supplied callback functions to draw the world, but handles initializing display channels and computing the correct viewer-centered perspective itself.

The library opens the graphics windows itself when starting the display processes. The windows are initialized in RGB mode, with Z buffering, and are double buffered. Accumulation buffers, stencil planes, and multisampling can be requested using CAVESetOption() before CAVEInit() is called.

The library sets up the stereo perspective projection based on the latest tracking data, and selects the correct buffer and viewport, before calling the application's drawing function. It also takes care of swapping buffers itself, in order to synchronize the multiple display processes. An application's drawing callback should not perform any of these actions.


Previous page    Next page

Last modified 20 July 1997.

Dave Pape, pape@evl.uic.edu