#include #include #include #include #include #include #include #include #include #include #include #include void write_usage(std::ostream& out,const std::string& name) { out << std::endl; out <<"usage:"<< std::endl; out <<" "< commandLine; for(int i=1;isetStereo(true); // configure the viewer from the commandline arguments, and eat any // parameters that have been matched. viewer.readCommandLine(commandLine); // configure the plugin registry from the commandline arguments, and // eat any parameters that have been matched. osgDB::readCommandLine(commandLine); if (commandLine.size()<2) { osg::notify(osg::NOTICE) << "Please specify two images required for stereo imaging."<s()+imageRight->s())*0.5f; float average_t = (imageLeft->t()+imageRight->t())*0.5f; osg::Geode* geodeLeft = osg::createGeodeForImage(imageLeft,average_s,average_t); geodeLeft->setNodeMask(0x01); osg::Geode* geodeRight = osg::createGeodeForImage(imageRight,average_s,average_t); geodeRight->setNodeMask(0x02); osg::Group* rootNode = new osg::Group; rootNode->addChild(geodeLeft); rootNode->addChild(geodeRight); // add model to viewer. osgUtil::SceneView* sceneview = new osgUtil::SceneView; sceneview->setDisplaySettings(viewer.getDisplaySettings()); sceneview->setDefaults(); sceneview->setCullMask(0xffffffff); sceneview->setCullMaskLeft(0x00000001); sceneview->setCullMaskRight(0x00000002); sceneview->setSceneData(rootNode); viewer.addViewport( sceneview ); // register trackball. viewer.registerCameraManipulator(new osgUtil::TrackballManipulator); viewer.open(); viewer.run(); } else { osg::notify(osg::NOTICE) << "Unable to load two images required for stereo imaging."<