2011-04-28 7 views
0

スキン作成時に通常のノーマルマトリックスを取得する方法は? 特に、私はデュアルクォータニオンスキンを行うとき。OpenGL:gl_NormalMatrix&Skinning

答えて

1

クォータニオンは、回転行列に直接変換されます。 OpenGLの場合、回転行列は左上の3×3の部分行列です。法線は、モデルビュー行列の逆転置によって変換されます。しかし、正規直交変換である純回転の場合、逆は転置であるので、純回転行列の逆転置を得ることは恒等変換である。

は、このようにあなただけの頂点位置変換を得るために、法線上で直接それを使用してgl_ModelViewMatrixにそれを掛け、そこに4×4の回転行列を構築し、シェーダにvec4制服としてあなたの四元数を渡すことができます。