diff --git a/src/osg/DisplaySettings.cpp b/src/osg/DisplaySettings.cpp index 93d22e2e2..8c0f3687c 100644 --- a/src/osg/DisplaySettings.cpp +++ b/src/osg/DisplaySettings.cpp @@ -99,7 +99,7 @@ void DisplaySettings::setDefaults() _minimumNumberAlphaBits = 0; _minimumNumberStencilBits = 0; - _maxNumOfGraphicsContexts = 1; + _maxNumOfGraphicsContexts = 3; } static ApplicationUsageProxy DisplaySetting_e0(ApplicationUsage::ENVIRONMENTAL_VARIABLE,"OSG_STEREO_MODE ","QUAD_BUFFER | ANAGLYPHIC | HORIZONTAL_SPLIT | VERTICAL_SPLIT | LEFT_EYE | RIGHT_EYE"); diff --git a/src/osgProducer/OsgCameraGroup.cpp b/src/osgProducer/OsgCameraGroup.cpp index f253a20dc..a7f98e711 100644 --- a/src/osgProducer/OsgCameraGroup.cpp +++ b/src/osgProducer/OsgCameraGroup.cpp @@ -73,7 +73,15 @@ std::string extractCameraConfigFile(osg::ArgumentParser& arguments) } std::string filename; - if (arguments.read("-c",filename)) return filename; + if (arguments.read("-c",filename)) return findCameraConfigFile(filename); + + char *ptr; + if( (ptr = getenv( "PRODUCE_CAMERA_CONFIG_FILE" )) ) + { + osg::notify(osg::DEBUG_INFO) << "PRODUCE_CAMERA_CONFIG_FILE("<setDefaults(); + sh->getState()->setContextID(i); + _shvec.push_back( sh ); cam->setSceneHandler( sh ); diff --git a/src/osgUtil/SceneView.cpp b/src/osgUtil/SceneView.cpp index 052f5c571..6b144b1e3 100644 --- a/src/osgUtil/SceneView.cpp +++ b/src/osgUtil/SceneView.cpp @@ -81,16 +81,20 @@ void SceneView::setDefaults() _renderStage = new RenderStage; -#ifndef __sgi + DisplayListVisitor::Mode dlvMode = DisplayListVisitor::COMPILE_DISPLAY_LISTS|DisplayListVisitor::COMPILE_STATE_ATTRIBUTES; + +#ifdef __sgi + dlvMode = DisplayListVisitor::COMPILE_STATE_ATTRIBUTES; +#endif + // sgi's IR graphics has a problem with lighting and display lists, as it seems to store // lighting state with the display list, and the display list visitor doesn't currently apply // state before creating display lists. So will disable the init visitor default, this won't // affect functionality since the display lists will be created as and when needed. - DisplayListVisitor* dlv = new DisplayListVisitor(); + DisplayListVisitor* dlv = new DisplayListVisitor(dlvMode); dlv->setState(_state.get()); dlv->setNodeMaskOverride(0xffffffff); _initVisitor = dlv; -#endif _updateVisitor = new UpdateVisitor;