hardware stereo support with JOGL?

Hi,
we are using JOGL at San Diego Supercomputer Center to develop 3D molecular graphics software. And since some of the structures get pretty complex, they would substantially benefit from hardware stereo (with an infrared emitter and CrystalEyes type of headwear).
AFAIK, JOGL API contains methods for getting/setting stereo status. However, has there been any concrete development in this area that you know of, to the point of working code on stereo-enabled graphics cards?

Will very much appreciate any pointers.

Thanks

Sasha

Stereo in jogl works without problems. For me the tricky part was getting the nvidia driver to do stereo (or to figure out that the problem wasn’t jogl). Set stereo to true in the GLCapabilities to create a GLDrawable and then render into the quad buffers…

Steffen.

Thank you, Steffen.
I’ll try to play around with it. Did you have to do anything specific to handle camera position and direction from different angles for stereo? It would also be extremely helpful if you could post a snippet of code relevant to quad buffer rendering.

A side question: can you query the graphics environment to determine whether it supports quad buffering and has a stereo capability? This would be relevant for possibly disabling the option for systems that don’t support stereo.

Thanks again

Sasha

You might be interested in the work I’ve been doing (you can find it at http://ags.uci.edu/~etolleru/ ) - just run the OpenGL mode on the test module (or anything else that strikes your fancy) to make sure it works with your setup. You’re welcome to look through any of the source, and use the StereoCamera class - It already does all the things you were asking about (although I probably need to update the javadocs). Just send me an e-mail (my address is on the page) if anything doesn’t make sense.

And if you would rather implement your own, by far the best resource I’ve ever found for stereo work can be found at http://local.wasp.uwa.edu.au/~pbourke/stereographics/

As for the side question, the way I did it was to use a custom GLCapabilitiesChooser when generating a GLCanvas - if stereo is desired, it gets a result from a DefaultGLCapabilitiesChooser, and if the result doesn’t have stereo, it brings up a message and switches to the non-stereo/quad-buffered mode.

Sorry, I was on vacations. Did you get that working already? If not I’ll post some lines of code…

Look into the jogl demos - there is something like a GL Capabilities swing table. It also prints out if a mode supports stereo or not.

Steffen