我阅读了 glTF 的 github教程中的 Skins 部分,但无法理解其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
这样定义? - 我的版本有什么问题?