`
sogotobj
  • 浏览: 653645 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

3D引擎开发,慎用逆矩阵

 
阅读更多

这是irrlicht引擎的一个真实bug,他的粒子系统的boundingbox算的时候是世界空间的,但是由于irr的scene node有个统一的本地空间boundingbox,执行culling的时候再transform为absBoundingbox, 所以irr的粒子系统中先用粒子系统的逆矩阵将bounding box变换到本地,但是逆矩阵有时候不存在,得到一个0矩阵,然后就错了。。并且这样做要多执行一次矩阵求逆和两次矩阵对AABB的变换。固然统一的结构是好的,但是具体到可能出问题和影响效率的地方还是要注意的。

改法很简单,直接保存粒子系统的boundingbox为世界空间的,并且设置一个标志,如果是本地空间的boundingbox才transform,否则直接用。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics