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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值