GPU 骨骼动画和法线。有没有快速的方法来获得转置(逆(m))?
Posted
技术标签:
【中文标题】GPU 骨骼动画和法线。有没有快速的方法来获得转置(逆(m))?【英文标题】:GPU Skeletal Animation and Normals. Is there fast way to get transpose(inverse(m))? 【发布时间】:2018-01-04 21:50:51 【问题描述】:为我的游戏编写硬件蒙皮,并且还需要为法线设置动画。从article 我了解到,通常要转换法线,您需要这样的东西:
transformed_normal = transpose(inverse(bone[i])) * normal;
我无法通过制服将第二组预先计算的转置(逆(骨骼))传递给着色器,因为我没有足够的制服。 所以我必须在顶点着色器中计算这个 transpose(inverse(bone[i])) (一次又一次地为每一个数千个顶点计算),不是吗? 有没有更快的方法来做到这一点?这个操作的一些廉价和肮脏的近似?
编辑:找到了这个很酷的解决方案https://***.com/a/46518010/9173149
【问题讨论】:
【参考方案1】:处理此问题的典型方法是不在骨骼矩阵中进行缩放。如果骨骼变换只有旋转和平移,则不需要进行反向/转置。
【讨论】:
以上是关于GPU 骨骼动画和法线。有没有快速的方法来获得转置(逆(m))?的主要内容,如果未能解决你的问题,请参考以下文章
进击3D游戏界!Cocos Creator快速实现骨骼动画交互!