Next | Prev | Up | Top | Contents | Index
Stereo Rendering Background Information
There are two basic approaches to stereo rendering, "Quad Buffer Stereo" and "Divided-Screen Stereo."
Quad Buffer Stereo
Quad buffer stereo uses a separate buffer for the left and right eye, resulting in four buffers if the program is already using a front and back buffer for animation. Quad buffer stereo is supported on RealityEngine and Indigo2 Maximum IMPACT(TM) and will be supported on future high-end systems.
The main drawback of this approach is that it needs a substantial amount of framebuffer resources and is therefore feasible only on high-end systems. See "Performing Stereo Rendering on High-End Systems" for step-by-step instructions.
Divided-Screen Stereo
Divided-screen stereo divides the screen into left and right pixel lines. This approach is usually appropriate on low-end systems, which don't have enough memory for quad-buffer stereo.
If you put the monitor in stereo mode, you lose half of the screen's vertical resolution and pixels get a 1 x 2 aspect ratio. The XSGIvc extension does all X rendering in both parts of the screen. Note, however, that monoscopic OpenGL programs will look wrong if you use the extension.
When working with divided-screen stereo, keep in mind the following caveats:
- Since stereo is enabled and disabled without restarting the server, the advertised screen height is actually twice the height displayed.
- With quad-buffering, stereo pixels are square. If you're using divided-screen stereo, pixels are twice as high as they are wide. Thus, transformed primitives and images need an additional correction for pixel aspect ratio.
For More Information
See the reference pages for the following functions: XSGIStereoQueryExtension(), XSGIStereoQueryVersion(), XSGIQueryStereoMode(), XSGISetStereoMode(), XSGISetStereoBuffer().
Next | Prev | Up | Top | Contents | Index