Hi, I'm trying to setup some cameras without a manipulator. When I assign a Trackballmanipulator on the vies, I get the cow projected on the screen. But as soon as I manually setup the cameras, I get a completely black screen. I extract eye, center and up from Tman (Trackballmanipulator) by Tman->getMatrix().lookat(eye, center, up).
This gives some nice coordinates, but when I put these in a camera without a manipulator like Tman, I just get a black screen. What am I doing wrong here? Code: int main( int argc, char **argv ) { // use an ArgumentParser object to manage the program arguments. osg::ArgumentParser arguments(&argc,argv); osg::Group* scene = new osg::Group(); osg::Node* groundNode = NULL; groundNode = osgDB::readNodeFile("cow.osg"); scene->addChild(groundNode); osgViewer::CompositeViewer viewer(arguments); if (arguments.read("-2")) { // view one { osg::Vec3d eye = osg::Vec3d(0,0,250); osg::Vec3d center = osg::Vec3d(0,0,250); osg::Vec3d up = osg::Vec3d(0,0,-1); osg::Quat rotation; osg::Matrixd viewmat; osg::Camera* camera = new osg::Camera; osgViewer::View* view = new osgViewer::View; view->setName("View one"); viewer.addView(view); //camera->setProjectionMatrix( osg::Matrix::ortho2D(0,512,0,512) ); //not doing anything //camera->setReferenceFrame( osg::Transform::ABSOLUTE_RF ); //camera->setViewMatrix( osg::Matrix::identity() ); view->setCameraManipulator(Tman); //Tman->setAutoComputeHomePosition(false); view->setUpViewOnSingleScreen(0); view->setSceneData(scene); //view->setCamera(camera); } // view two { osg::Matrixd viewmat; osg::Camera* camera = new osg::Camera; osgViewer::View* view = new osgViewer::View; view->setName("View two"); viewer.addView(view); view->setUpViewOnSingleScreen(1); view->setSceneData(scene); //view->setCamera(camera); view->setCameraManipulator(Tman); view->setName("right"); osg::Vec3d eye = osg::Vec3d(0,0,25); osg::Vec3d center = osg::Vec3d(0,0,25); osg::Vec3d up = osg::Vec3d(0,0,-1); } } viewer.realize(); while(!viewer.done()) { osg::Vec3d eye = osg::Vec3d(0,0,50); osg::Vec3d center = osg::Vec3d(0,0,50); osg::Vec3d up = osg::Vec3d(0,0,-1); Tman->setHomePosition(eye,center,up); //not working. Doesn't matter how I set eye, center etc. viewer.frame(); } } ------------------ Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=34890#34890 _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org