GPU 骨骼动画和法线.有没有快速的方法获得转置(逆(m))



为我的游戏编写硬件皮肤,也需要为法线制作动画。从这篇文章中,我了解到通常要变换法线,你需要这样的东西:

transformed_normal = transpose(inverse(bone[i])) * normal;

我无法通过制服将第二组预先计算的转置(反向(骨骼((传递给着色器,因为我没有足够的制服。所以我必须在顶点着色器中计算这个转置(逆(骨骼[i](((对于数千个顶点中的每一个(,不是吗?有没有更快的方法来做到这一点?这个操作的一些廉价和肮脏的近似

编辑:找到这个很酷的解决方案 https://stackoverflow.com/a/46518010/9173149

处理此问题的典型方法是不要在骨骼基质中缩放。如果骨骼变换只有旋转和平移,则无需进行反置/转置。

最新更新