HI Christopher,

Currently the ANAGLYPHIC stereo support is hardwired to red-cyan.
 Curiously you are the first to ask for anything else.

To implement for other interpretations of anaglyphic you'd need to
implement it using osgViewer::View slave Camera's, one slave Camera for the
left eye and one for the right - you'd attach the appropriate
osg::ColorMask for each slave Camera to get the effect you want.

The code that sets up stereo in svn/trunk can be found in
OpenSceneGraph/src/osgViewer/View.cpp assignStereoOrKeystoneToCamera(..)
method, the code block of interest looks like:

   switch(ds->getStereoMode())
    {
        case(osg::DisplaySettings::QUAD_BUFFER):
        {
            // disconect the camera from the graphics context.
            camera->setGraphicsContext(0);

            // left Camera left buffer
            osg::ref_ptr<osg::Camera> left_camera = assignStereoCamera(ds,
gc.get(), 0, 0, traits->width, traits->height, traits->doubleBuffer ?
GL_BACK_LEFT : GL_FRONT_LEFT, -1.0);

left_camera->setClearMask(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
            left_camera->setRenderOrder(osg::Camera::NESTED_RENDER, 0);

            // right Camera right buffer
            osg::ref_ptr<osg::Camera> right_camera = assignStereoCamera(ds,
gc.get(), 0, 0, traits->width, traits->height, traits->doubleBuffer ?
GL_BACK_RIGHT : GL_FRONT_RIGHT, 1.0);

right_camera->setClearMask(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
            right_camera->setRenderOrder(osg::Camera::NESTED_RENDER, 1);

You could implement this without going via the osg::DisplaySettings/default
configuration, the other alternative would be to extend DisplaySettings and
the View.cpp code to handle customization of the anaglyphic settings.

Robert.




On 31 July 2014 16:07, Christopher Bruns <cmbr...@rotatingpenguin.com>
wrote:

> Hi,
>
> Is it possible to display stereo 3D rendering for green-magenta anaglyph
> glasses in OpenSceneGraph? (as opposed to red-cyan glasses)
>
> I can get stereo working well with old-fashioned red-(blue-cyan) glasses.
> Is there a way to change the color settings of anaglyph mode?
>
> Below is a complete twelve line python program that renders in stereo for
> red/cyan glasses.
>
> [code]
> from osgswig import osg, osgDB, osgViewer, osgGA
> print "%d.%d.%d" % (osg.OSG_VERSION_MAJOR, osg.OSG_VERSION_MINOR,
> osg.OSG_VERSION_PATCH) # prints "3.2.1"
> cow = osgDB.readNodeFile("cow.osg")
> # Use custom DisplaySettings to create a stereoscopic view
> display_settings = osg.DisplaySettings()
> display_settings.setStereoMode(osg.DisplaySettings.ANAGLYPHIC) # Red-cyan
> ONLY !?!?
> display_settings.setStereo(True)
> viewer = osgViewer.Viewer()
> viewer.setSceneData(cow)
> viewer.setUpViewInWindow(100, 100, 500, 500, 1)
> viewer.setDisplaySettings(display_settings)
> viewer.run()
> [/code]
>
> How would I modify this program to display stereo for modern green-magenta
> filtered glasses?
>
> Thank you!
>
> Cheers,
> Christopher
>
> _______________________________________________
> osg-users mailing list
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to