From 1dad443898daaa052a71f5c9d6ce029d3ae38206 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Fri, 1 Nov 2002 14:16:58 +0000 Subject: [PATCH] Michael Gronage fix for aspect ratio in split stereo. --- src/osgUtil/SceneView.cpp | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/osgUtil/SceneView.cpp b/src/osgUtil/SceneView.cpp index a0e84d4e3..174d10323 100644 --- a/src/osgUtil/SceneView.cpp +++ b/src/osgUtil/SceneView.cpp @@ -205,8 +205,27 @@ void SceneView::cull() if (_camera.valid()) { - _camera->adjustAspectRatio(_viewport->aspectRatio()); - + + if (_displaySettings.valid() && _displaySettings->getStereo()) + { + switch(_displaySettings->getStereoMode()) + { + case(osg::DisplaySettings::HORIZONTAL_SPLIT): + _camera->adjustAspectRatio(0.5*_viewport->aspectRatio()); + break; + case(osg::DisplaySettings::VERTICAL_SPLIT): + _camera->adjustAspectRatio(2*_viewport->aspectRatio()); + break; + default: + _camera->adjustAspectRatio(_viewport->aspectRatio()); + break; + } + } + else + { + _camera->adjustAspectRatio(_viewport->aspectRatio()); + } + if (_displaySettings.valid()) _camera->setScreenDistance(_displaySettings->getScreenDistance());