查看: 1807|回复: 4

获取节点坐标的效率问题

[复制链接]

该用户从未签到

发表于 2011-1-5 10:34:37 | 显示全部楼层 |阅读模式
我使用osg::computeLocalToWorld获取某节点的世界坐标。
代码:osg::Vec3 pos = pat->getPosition() * osg::computeLocalToWorld(pat->getParentalNodePaths()[0]);
我在一个循环中不断使用这句代码,发现效率很低,循环100次就要耗费30ms的时间,导致程序的展现效果很差,请问有没有好一点的办法?

该用户从未签到

发表于 2011-1-5 12:17:17 | 显示全部楼层
那算一次多久?为啥要重复算100次

该用户从未签到

发表于 2011-1-5 12:44:30 | 显示全部楼层
我不认为computeLocalToWorld的效率有这么低,不知道您的计时方法是怎么样的

该用户从未签到

 楼主| 发表于 2011-1-5 14:26:06 | 显示全部楼层
必须要实时更新点的坐标,所以要重复计算。
用的是GetTickCount()来计时。
computeLocalToWorld()这个函数是不是跟模型的复杂程度有关系??

该用户从未签到

发表于 2011-1-6 08:52:47 | 显示全部楼层
有些关系。您可以继续检查一下效率的损耗主要出现在getParentalNodePaths()还是computeLocalToWorld()中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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