From Uwe Woessner, fixed handling of read/draw buffer in vertical interlaced stereo

This commit is contained in:
Robert Osfield
2007-05-11 13:45:53 +00:00
parent 35d4cb509c
commit e72ec7bb15

View File

@@ -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.