查看: 1202|回复: 0

osg MFC问题

[复制链接]

该用户从未签到

发表于 2015-7-16 22:12:06 | 显示全部楼层 |阅读模式
前面我发帖 关于mfc显示 没有填满屏幕的问题!见连接:

http://bbs.osgchina.org/forum.ph ... &extra=page%3D1

后面我自己写了个单文档的mfc,在走查时发现这个问题:
  1. osg::ref_ptr<osg::Referenced> windata = new osgViewer::GraphicsWindowWin32::WindowData(m_hWnd);

  2.     // Setup the traits parameters
  3.     traits->x = 0;
  4.     traits->y = 0;
  5.     traits->width = rect.right - rect.left;
  6.     traits->height = rect.bottom - rect.top;
  7.     traits->windowDecoration = false;
  8.     traits->doubleBuffer = true;
  9.     traits->sharedContext = 0;
  10.     traits->setInheritedWindowPixelFormat = true;
  11.     traits->inheritedWindowData = windata;

  12.     // Create the Graphics Context
  13.     osg::GraphicsContext* gc = osg::GraphicsContext::createGraphicsContext(traits.get());
复制代码


当traits 过了这个函数osg::GraphicsContext::createGraphicsContext(traits.get())后,他的x y 发生了变化!
导致在这个过程中  camera->setViewport(new osg::Viewport(traits->x, traits->y, traits->width, traits->height));
xy位置发生偏移,才造成 显示上的那个问题!!后面把osg::Viewport(0, 0, traits->width...修改后就好了!
不知道是什么原因。。。
我的osg版本:osg3.4.0rc3和develop版本也是这个问题!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表