OpenSceneGraph 笔记--窗体模式运行

1.使用osgViewer::Viewer代替原来的osgProducer::Viewer
2.先熟悉设计模式,比如最常用的Visitor设计模式。要不然看不懂程序不说,而且更写不出程序。
3.窗体模式运行参考Example osgWindows,重点在于:
        osg::ref_ptr<osg::GraphicsContext::Traits> traits = new osg::GraphicsContext::Traits;
        traits
->= 640;
        traits
->= 0;
        traits
->width = 640;
        traits
->height = 480;
        traits
->windowDecoration = true;
        traits
->doubleBuffer = true;
        traits
->sharedContext = 0;

        osg::ref_ptr
<osg::GraphicsContext> gc = osg::GraphicsContext::createGraphicsContext(traits.get());

        osg::ref_ptr
<osg::Camera> camera = new osg::Camera;
        camera
->setGraphicsContext(gc.get());
        camera
->setViewport(new osg::Viewport(0,0, traits->width, traits->height));
        GLenum buffer 
= traits->doubleBuffer ? GL_BACK : GL_FRONT;
        camera
->setDrawBuffer(buffer);
        camera
->setReadBuffer(buffer);

        
// add this slave camra to the viewer, with a shift right of the projection matrix
        viewer.addSlave(camera.get(), osg::Matrixd::translate(-1.0,0.0,0.0), osg::Matrixd());

TODO:
1.3DS导入插件还不够完善,需要自己写。
2.更深入的了解OSG的机制。
posted @ 2007-04-02 23:08  Dream world 梦想天空  阅读(1038)  评论(0编辑  收藏  举报