Exemple #1
0
AnimPose::AnimPose(const glm::mat4& mat) {
    scale = extractScale(mat);
    // quat_cast doesn't work so well with scaled matrices, so cancel it out.
    glm::mat4 tmp = glm::scale(mat, 1.0f / scale);
    rot = glm::normalize(glm::quat_cast(tmp));
    trans = extractTranslation(mat);
}
Exemple #2
0
float extractUniformScale(const glm::mat4& matrix) {
    return extractUniformScale(extractScale(matrix));
}
Exemple #3
0
glm::quat glmExtractRotation(const glm::mat4& matrix) {
    glm::vec3 scale = extractScale(matrix);
    // quat_cast doesn't work so well with scaled matrices, so cancel it out.
    glm::mat4 tmp = glm::scale(matrix, 1.0f / scale);
    return glm::normalize(glm::quat_cast(tmp));
}
Exemple #4
0
AnimPose::AnimPose(const glm::mat4& mat) {
    scale = extractScale(mat);
    rot = glm::normalize(glm::quat_cast(mat));
    trans = extractTranslation(mat);
}