查看: 1178|回复: 2

是否osg对大数据处理误差较大,请达人指点迷津。

[复制链接]

该用户从未签到

发表于 2013-6-30 23:45:54 | 显示全部楼层 |阅读模式
以osgEarth地球为基本场景,高空有一个飞行器,一个初始位置坐标大概(6909121, 4686445, -563937),飞行器在高空飞行过程中,需要根据飞行器的位置实时更新飞行轨迹线。绘制的轨迹线摇摆不定,论坛里的一个帖子也提到过这个问题,不知是什么原因,请达人指点。地址:轨迹摇摆的相关帖子

该用户从未签到

发表于 2013-7-1 08:49:28 | 显示全部楼层
不是OSG的问题,是您给的坐标值可能超过了OpenGL depth buffer的精度承受能力。我在教程区有一个帖子《恋上Z缓存》专门解释过这个问题,简单来说就是您这个坐标转化为[0,1]区间的24bit float时,无法保持原来的有效位数了。
一个有效的解决方案是用额外的MatrixTransform作为父节点来分担精度的压力,比如MatrixTransform设置了translate(6900000, 4600000, -500000),然后子节点的顶点只要是(9121, 86445, -63937)这样的形式就可以了

该用户从未签到

 楼主| 发表于 2013-7-1 10:15:57 | 显示全部楼层
药到病除,perfect,感谢array敲了这么多字指导。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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