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

Reply via email to