Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can OpenGL rendering be used for 3D monitors?

We have been considering buying a 3D-ready LCD monitor along with a machine with a 3D-stereoscopic vision capable graphics card (ATI Radeon 5870 or better). This is for displaying some scientific data that we are rendering in 3D using OpenGL. Now can we expect the GPU, Monitor and shutter-glasses to take care of the stereoscopic display or do we need to modify the rendering program? If there are specific techniques for graphics programming for 3D stereoscopic displays, some tutorial links will be much appreciated.

like image 305
subhacom Avatar asked Sep 20 '11 10:09

subhacom


1 Answers

Techically OpenGL provisions for stereoscopic display. The keyword is "Quad Buffered Stereo". You can switch left-right eye rendering with glDrawBuffer(GL_BACK_LEFT); /* render left eye view */; glDrawBuffer(GL_BACK_RIGHT); /* render right eye view */;.

Unfortunately Quadbuffer stereo is considered a professional feature by GPU vendors. So you need either a NVidia Quadro or a AMD/ATI FireGL graphics card to get support for it.

Stereoscopic rendering is not done by tilting the eyes, but by applying a "lens shift" in the projection matrix. The details are a bit tricky, though. I did a talk last year about it, but apparently the link with my presentation slides went down.

The key diagram is this one (it's from my notes of my patch to Blender to directly support stereoscopic rendering) Stereoscopy parameters

like image 115
datenwolf Avatar answered Oct 19 '22 07:10

datenwolf