From 6524788516efd1f1c598fd65ac3a596c350a892e Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Fri, 21 Nov 2008 17:44:16 +0000 Subject: [PATCH] Added handling of View::LightingMode --- src/osgViewer/Renderer.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/osgViewer/Renderer.cpp b/src/osgViewer/Renderer.cpp index 0d491ac30..6b220ae34 100644 --- a/src/osgViewer/Renderer.cpp +++ b/src/osgViewer/Renderer.cpp @@ -177,7 +177,6 @@ Renderer::Renderer(osg::Camera* camera): _sceneView[0] = new osgUtil::SceneView; _sceneView[1] = new osgUtil::SceneView; - unsigned int sceneViewOptions = osgUtil::SceneView::HEADLIGHT; osg::Camera* masterCamera = _camera->getView() ? _camera->getView()->getCamera() : camera; osg::StateSet* stateset = masterCamera->getOrCreateStateSet(); @@ -186,6 +185,17 @@ Renderer::Renderer(osg::Camera* camera): osg::DisplaySettings* ds = _camera->getDisplaySettings() ? _camera->getDisplaySettings() : ((view && view->getDisplaySettings()) ? view->getDisplaySettings() : osg::DisplaySettings::instance()); + unsigned int sceneViewOptions = osgUtil::SceneView::HEADLIGHT; + if (view) + { + switch(view->getLightingMode()) + { + case(osg::View::NO_LIGHT): sceneViewOptions = 0; break; + case(osg::View::SKY_LIGHT): sceneViewOptions = osgUtil::SceneView::SKY_LIGHT; break; + case(osg::View::HEADLIGHT): sceneViewOptions = osgUtil::SceneView::HEADLIGHT; break; + } + } + _sceneView[0]->setGlobalStateSet(stateset); _sceneView[1]->setGlobalStateSet(stateset);