网站建设的程序/海外推广代理公司
OSG默认为全屏,无法使用window自带的截屏软件进行截屏,记录状态。通过调整窗口大小,可以方便进行截图。
osg::ArgumentParser arguments(&argc, argv);osgViewer::Viewer viewer(arguments);{osg::ref_ptr<osg::GraphicsContext::Traits> traits = new osg::GraphicsContext::Traits;traits->x = 40;traits->y = 40;traits->width = 600;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 camera to the viewer, with a shift left of the projection matrixviewer.addSlave(camera.get());}viewer.setCameraManipulator(new osgGA::TrackballManipulator());