Stereoscopic OpenGL Tutorial
Output of an application with stereoscopic futures could be seen in true
3D by the help of several types of LCD glasses or 3D displays. I have demonstrated
conversion of standard OpenGl application to an stereoscopic one
on several examples. The example codes contain source code in Visual C++
5 for both original application, HW page flipped and interlaced version.
The GLUT lib is used for compilation and the source could be therefore
recompiled for any platform like SGI, Linux ....
An OpenGL application with stereo capabilities must do following things:
1) Set the geometry for the view from left human eye
2) Set the left eye rendering buffers
3) Render the left eye image
4) Clear Z-buffer (if the same Z-buffer for left and right image is
5) Set the geometry for the view from right human eye
6) Set the right eye rendering buffers
7) Render the right eye image
8) Swap buffers
Two techniques are demonstrated in the examples :
1) True stereoscopic quad buffering. This future must be implemented
in the graphic card drivers.
Examples of supported graphic cards: nVidia Quadro, ATI Fire GL, Oxygen GVX 1,
ELSA Gloria XL , see www.stereographic.com
for details. The proper drivers usually exist for w2k, XP or NT 4 only.
Examples of supported LCD glasses: eDimensional, Elsa Relevator, NuVision 60 GX, any
glasses witch can sync. to monitor signal - H3D, Eye3D, VrJoy, ASUS glasses
... Z-screen based 3D monitors works as well.
2) Creating stereoscopic interlaced image based on mask in stencil buffer.
This technique could be used on any graphic cards. LCD glasses with line
blanking controller or graphic card working in interlaced mode is necessary
for stereoscopic visualization of the result. This technique sometimes
fails on Nvida graphic cards from unknown reason.
Examples of supported LCD glasses with line blanking hardware: VrJoy,
H3D, Iart Eye3D, Tetratel
||The most simple application. It shows red picture for left eye and
blue picture for right eye.
||An sample stereoscopic application from GLUT distribution. The original
code demonstrate stereoscopic visualization via red blue lighting technique.
||Demonstration of porting an stereoscopic application from SGI platform
||3D fractal in stereo. An sample application from the GLUT distribution.
||Particle system and billboard technique stereoscopic application. Based
on sample from GLUT distribution again.
Direct download of GLUT37. This lib is necessary
for the samples work and recompiling.
My oven pages
dedicated to stereoscopic visualization and 3D video.
OpenGL main page.
Stereo3d.com - detail description
of several stereoscopic visualization techniques.
Stereographics.com - source
of detail description of the proper stereoscopic geometry and more OpenGL
If you have some comments or suggestions let me know on firstname.lastname@example.org.