my app needs needs to start stereo mode at the click of a button and then disable it at another click…
basically i wanna know how to start and stop of stereo viz. after the app. is loaded.
i’m using quadbuffered stereo
my call is…
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STEREO);
can i call this in the middle of my program and also reset to mono with
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH );
Why don’t you just draw the same view for each eye when you want to switch stereo off?
well…the non-stereo mode has a dual windowed thing where you can independantly manip. the left and right images…so that wont be possible…and i just noticed that the images get blurred when drawn in stereo even if i draw same image on both buffers…left and right…so …i do need to start and stop stereo.
Once a pixel format is selected, it’s permanent and can’t be changed for that window. You should be able to simply select GL_BACK or GL_FRONT and render the scene one time instead of selecting GL_BACK_LEFT/GL_BACK_RIGHT or GL_FRONT_LEFT/GL_FRONT_RIGHT and rendering the scene twice. The driver is supposed to render the pixels to the appropriate buffers for you. It works for me.
aah…i see…that will work…
but i’m using quad-buffer and the emitter will start with the app…even though i’m not visualizing in stereo…
so either i segregate the two apps…or i let the emitter stay on.
This is one of those cruel ironies where the answer deep down in the driver should be “yes”, but almost all practical GL implementations since SGI say “no”. The problem is that in order to provide stereo buffers at all, a stereoscopic field-sequential display mode must be enabled, even in non-fullscreen modes, and is typically left on for the duration of the running GL app or possibly even the entire window manager session.
One notable exception was the stereo display support in SciTech display drivers and their respective wrapper libraries like DDStereo and GLDirect. Extension APIs were explicitly provided for toggling stereo on and off, since that ultimately involved toggling a bit on hardware-enabled controllers or toggling the interrupt on software emulated schemes for all other controllers. Unfortunately such projects were never fully supported by prospective customers, so they’ve faded away into the “lost archives”…
If you do have a favorite GL implementation, and are intent on supporting this for your particular app, you should drill down into any lower level library code you can get your hands on, and see if there are such calls or extensions for toggling stereo output on the display controller. This will definitely be implementation specific, not at all in the realm of any OpenGL standard.