如下图所示:
如上图所示,OsgMFC运行出来是这样,整个画面在右上角,左侧和下侧黑显。感觉超级不舒服。
经过调试发现,就在这两行代码处,极有可能是函数createGraphicsContext(traits.get());内部把traits的值给改变了。
//create the graphics Context
osg::GraphicsContext::createGraphicsContext(traits.get());
//Init Master Camera for this view
osg::ref_ptr<osg::Camera>camera = mViewer->getCamera();
具体为什么会给 traits赋值错误的数值,搞不懂,但是有方法全屏显示:
方法是:
对下面这行代码进行更改:
//Set the viewport for the camera
camera->setViewport(new osg::Viewport(traits->x, traits->y, traits->width, traits->height));
将函数中的viewoort的前两个参数改为0就可以了,如下所示:
//Set the viewport for the camera
camera->setViewport(new osg::Viewport(0, 0, traits->width, traits->height));
经过上述修改,就可以满屏显示了。