glTF の githubチュートリアルのスキン セクションを読みましたが、どのように動作するのか理解できませんでしたjointMatrix。
チュートリアルでは、次のように定義されています。
jointMatrix(j) =
globalTransformOfNodeThatTheMeshIsAttachedTo^-1 *
globalTransformOfJointNode(j) *
inverseBindMatrixForJoint(j);
globalTransformとキャンセルで迷っています。私の考えでjointMatrixは、次のようなものです
jointMatrix(j) =
jointSpaceToModelSpace(j) *
jointTransform(j) *
modelSpaceToJointSpace(j);
そして頂点シェーダーで
// assume 'joint' is a matrix computed from weighted aggregation of all jointMatrix(j)
vertex_world_space = model-view-proj * joint * vertex_model_space;
私の質問は
jointMatrixがそのように定義されているのはなぜですか?- 私のバージョンの何が問題になっていますか?