this is the code i use to calculate the Bindpose: ```
void bindPose(std::vector<Joint>& joints, Model& model) {
model.skinMatrix.resize(joints.size());
joints[0].globalMatrix = joints[0].undeformedMatrix;
model.skinMatrix[joints[0].skinIndex] = joints[0].undeformedMatrix * joints[0].inverseBindMatrix;
std::cout << "\nskin.joints index: " << (uint16_t)joints[0].skinIndex <<"\nskinMatrix: " << glm::to_string(model.skinMatrix[joints[0].skinIndex]) << std::endl;
for (uint32_t i = 1; i < joints.size(); i++) {
Joint& joint = joints[i];
joint.globalMatrix = joints[joint.parentJoint].globalMatrix * joint.undeformedMatrix;
model.skinMatrix[joint.skinIndex] = joint.globalMatrix * joint.inverseBindMatrix;
std::cout << "\nskin.joints index: " << (uint16_t)joint.skinIndex << "\nskinMatrix: " << glm::to_string(model.skinMatrix[joint.skinIndex]) << std::endl;
}
}