From e72ec7bb155a95e8a4ef4d0c2ba0c144bba1c314 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Fri, 11 May 2007 13:45:53 +0000 Subject: [PATCH] From Uwe Woessner, fixed handling of read/draw buffer in vertical interlaced stereo --- src/osgUtil/SceneView.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/osgUtil/SceneView.cpp b/src/osgUtil/SceneView.cpp index a54b5ef84..1ffffa491 100644 --- a/src/osgUtil/SceneView.cpp +++ b/src/osgUtil/SceneView.cpp @@ -1156,6 +1156,13 @@ void SceneView::draw() break; case(osg::DisplaySettings::VERTICAL_INTERLACE): { + if( getDrawBufferValue() != GL_NONE) + { + _renderStageLeft->setDrawBuffer(getDrawBufferValue()); + _renderStageLeft->setReadBuffer(getDrawBufferValue()); + _renderStageRight->setDrawBuffer(getDrawBufferValue()); + _renderStageRight->setReadBuffer(getDrawBufferValue()); + } _localStateSet->setAttribute(getViewport()); // ensure that all color planes are active. @@ -1226,6 +1233,13 @@ void SceneView::draw() break; case(osg::DisplaySettings::HORIZONTAL_INTERLACE): { + if( getDrawBufferValue() != GL_NONE) + { + _renderStageLeft->setDrawBuffer(getDrawBufferValue()); + _renderStageLeft->setReadBuffer(getDrawBufferValue()); + _renderStageRight->setDrawBuffer(getDrawBufferValue()); + _renderStageRight->setReadBuffer(getDrawBufferValue()); + } _localStateSet->setAttribute(getViewport()); // ensure that all color planes are active.