Hi Guys,

I haven't ever worked with alternating stereo - all my work has been with
side-by-side, quad buffer and HMD's. There is chance that the
driver+graphics hardware might support alternating stereo, I'd expect
something like you app sets up quad buffer stereo and the hardware
coordinates sending the appropriate left/right buffer out.  The spanner in
the works is that NVidia has restricted quad buffer stereo support to their
Quadro line.  Perhaps others will have experience on this side.

Another approach, and entirely OSG side one, would be to set up the stereo
using an osgViewer slave Camera configuration where you have a left and
right slave Camera that share the same graphics context, viewport and
subgraph but have their NodeMask toggled on/off on alternate frames so
there is only one Camera actually drawing to the current frame.  The next
bit is the awkward part - you need to sync the frame rate to 120hz and to
sync the left/right toggle so that the appropriate Camera is toggled for
the correct frame, if you get it wrong then they'd get out sync.  You'd
need make sure that you app hits 120hz every frame otherwise it'll get out
sync.

In svn/trunk and OSG-3.2.x there is a osgViewer/config collection to
provide examples of different slave Camera configurations, and stereo is
set up for them in src/osgViewer/View.cpp, have a look at the
assignStereoCamera(..) as this will flesh out how one sets up slave
Camera's to do stereo for you.

A refinement of the above approach might be to create your own quad buffer
style buffer that you render to - i.e. a side by side offscreeen graphics
context (pbuffer) with two side-by viewports that is also double buffered
in some way, and then have another shared context that reads from the side
by by side pbuffer when rendering.  The first context would run at it's own
frame rate, when the second one that actually renders to the display would
be locked at 120hrz.  I really don't know if this could be made to work, in
effect it'd be replicating quad buffer stereo.

The sync with the display is something you'd want to look at, if the video
players you've looked are open source then looking the code would be
helpful.

Robert
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to