查看: 1152|回复: 9

地形纹理混乱的问题

[复制链接]

该用户从未签到

发表于 2013-8-3 22:06:15 | 显示全部楼层 |阅读模式
在OSG和Qt结合的工程中,设置了一个全屏操作,即利用给viewer添加slavecamera来实现动画窗口的全屏显示,(viewer的主相机负责实现窗口动画,从而可以在窗口全屏之间实时切换),但是在动画全屏显示时出现地形纹理混乱的问题,如下图,图1是Qt窗口显示时的地形,一切正常,图2是全屏显示的地形,出现问题,换用其他地形也有这一问题,而且该问题只在部分电脑上存在。请教各位大神,感激不尽~~~

图1

图1

图2

图2

该用户从未签到

发表于 2013-8-3 23:07:13 | 显示全部楼层
您的osg::viewer的对象是不是创建的智能指针?如果是的话您换成普通的指针试试。

该用户从未签到

 楼主| 发表于 2013-8-3 23:21:18 | 显示全部楼层
osg_student 发表于 2013-8-3 23:07
您的osg::viewer的对象是不是创建的智能指针?如果是的话您换成普通的指针试试。

看了一下,viewer使用的是普通指针,但场景节点root使用的是智能指针,不过智能指针应该只是起到动态释放内存的作用啊,呵呵,还望不吝赐教,谢谢

该用户从未签到

 楼主| 发表于 2013-8-4 10:43:47 | 显示全部楼层
今天又测试了一下,发现对XP和win7都有部分电脑可以完美切换至全屏,但也有部分电脑出现上述问题,不知道是不是与系统自带的一些图形库文件相关?谢谢解答

该用户从未签到

发表于 2013-8-4 18:35:13 | 显示全部楼层
一种可能性是您的数据本身存在问题,比如索引指向了非法的值等等。这在不少图形硬件上都会出现问题

该用户从未签到

发表于 2013-8-4 21:20:54 | 显示全部楼层
hjs124124 发表于 2013-8-3 23:21
看了一下,viewer使用的是普通指针,但场景节点root使用的是智能指针,不过智能指针应该只是起到动态释放 ...

以前我也遇到过 这种变形的情况,解决的方法就是把 osg::Viewer 的对象创建为非智能指针。到底为什么我也不清楚。

该用户从未签到

发表于 2013-8-4 21:21:41 | 显示全部楼层
osg_student 发表于 2013-8-4 21:20
以前我也遇到过 这种变形的情况,解决的方法就是把 osg::Viewer 的对象创建为非智能指针。到底为什么我也 ...

可能和你的情况不太一样

该用户从未签到

 楼主| 发表于 2013-8-4 23:40:09 | 显示全部楼层
array 发表于 2013-8-4 18:35
一种可能性是您的数据本身存在问题,比如索引指向了非法的值等等。这在不少图形硬件上都会出现问题

谢谢array大神回复,今天进一步调试时发现所编写的小软件在第一次加载模型后运行动画时会出现这种情况,但是随后在软件中重新加载模型,再运行动画就没有全屏的问题了,比较奇怪。。。现在只好设置为先自动加载模型并运行一次动画了,再次感谢array斑竹~~~

该用户从未签到

 楼主| 发表于 2013-8-4 23:42:26 | 显示全部楼层
osg_student 发表于 2013-8-4 21:21
可能和你的情况不太一样

喔喔,我再去调试调试,说不定是与viewer相关的一些东东设成智能指针了呢,还是十分感谢回复,呵呵~~~~

该用户从未签到

发表于 2013-8-12 09:29:42 | 显示全部楼层
和智能指针八杆子打不着
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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