Hi Robert, Well this is the code i have written so far, im getting two windows when i specify quadBufferStereo as false.
Code: int main( int argc, char **argv ) { // if not loaded assume no arguments passed in, try use default mode instead. osg::ref_ptr<osg::MatrixTransform> object = new osg::MatrixTransform; osg::ref_ptr<osg::Node> obj = osgDB::readNodeFile("cow.osg"); object->addChild(obj); // ============================================================================= // construct the viewer. osgViewer::Viewer viewer; viewer.setUpViewInWindow(100, 100, 640, 480); // ============================================================================== // ============================================================================== // Place the object. osg::Matrix m, s; m.makeTranslate(0, 0, -4000); s.makeScale(50, 50, 50); object->setMatrix(osg::Matrix::identity()); object->setMatrix(s * m); // ============================================================================== osg::ref_ptr<osg::GraphicsContext::Traits> traits = new osg::GraphicsContext::Traits; traits->width = 640; traits->height = 480; traits->windowDecoration = true; traits->doubleBuffer = true; traits->sharedContext = 0; //traits->quadBufferStereo = true; osg::ref_ptr<osg::GraphicsContext> gc = osg::GraphicsContext::createGraphicsContext(traits.get()); // ========================= Left eye ==================================================== osg::ref_ptr<osg::Camera> camera = new osg::Camera; osg::Matrix lookPos1; lookPos1.lookAt( osg::Vec3f(0, 0, 8000), osg::Vec3f(0, 0, 0), osg::Vec3f(0, 1, 0) ); camera->setViewMatrix(osg::Matrix::identity()); camera->setViewMatrix(lookPos1); camera->setViewport(0, 0, 640, 480); camera->setGraphicsContext(gc.get()); camera->setDrawBuffer(GL_BACK_LEFT); camera->setComputeNearFarMode(osg::CullSettings::DO_NOT_COMPUTE_NEAR_FAR); camera->setProjectionMatrixAsFrustum(-640, 640, -480, 480, 1900, 200000); osg::ColorMask *col1 = new osg::ColorMask; col1->setRedMask(true); osg::StateSet *state1 = new osg::StateSet; state1->setAttribute(col1); camera->setStateSet(state1); // add this slave camera to the viewer, with a shift left of the projection matrix viewer.addSlave(camera.get(), osg::Matrixd::translate(params), osg::Matrixd()); // ========================= Right eye ==================================================== osg::ref_ptr<osg::Camera> camera1 = new osg::Camera; osg::Matrix lookPos2; lookPos2.lookAt( osg::Vec3f(0, 0, 8000), osg::Vec3f(0, 0, 0), osg::Vec3f(0, 1, 0) ); camera1->setViewMatrix(osg::Matrix::identity()); camera1->setViewMatrix(lookPos2); camera1->setViewport(0, 0, 640, 480); camera1->setGraphicsContext(gc.get()); camera1->setDrawBuffer(GL_BACK_RIGHT); camera->setComputeNearFarMode(osg::CullSettings::DO_NOT_COMPUTE_NEAR_FAR); camera1->setProjectionMatrixAsFrustum(-640, 640, -480, 480, 1900, 200000); osg::ColorMask *col2 = new osg::ColorMask; col2->setRedMask(true); osg::StateSet *state2 = new osg::StateSet; state1->setAttribute(col2); camera1->setStateSet(state2); // add this slave camera to the viewer, with a shift right of the projection matrix viewer.addSlave(camera1.get(), osg::Matrixd::translate(params), osg::Matrixd()); // =========================================================================================== // set the scene to render viewer.setSceneData(object.get()); viewer.run(); } Here is a snapshot of the output: im not sure where i'm going wrong. The cow model appears black. http://img220.imageshack.us/i/88575177.png/ Also, im getting the following warning: detected OpenGL error , invalid operation , after RenderBin::draw(,) Could you please help? Thanks, Mukund ------------------ Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38037#38037 _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org