osgviewerMFC 窗口显示无法满屏(画面在右上角)

本文介绍了osgviewerMFC窗口显示异常,画面局限于右上角的问题。通过调试,发现问题可能出在`createGraphicsContext(traits.get())`函数内部改变了traits的值。为实现满屏显示,只需修改viewport的前两个参数为0,即可修复显示问题。
摘要由CSDN通过智能技术生成

如下图所示:

 如上图所示,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));

经过上述修改,就可以满屏显示了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值