diff --git a/glm/gtx/matrix_interpolation.inl b/glm/gtx/matrix_interpolation.inl index b77f34eb..8ab13435 100644 --- a/glm/gtx/matrix_interpolation.inl +++ b/glm/gtx/matrix_interpolation.inl @@ -117,11 +117,12 @@ namespace glm T const delta ) { - detail::tmat4x4 dltRotation = m2 * transpose(m1); + detail::tmat4x4 m1rot = extractMatrixRotation(m1); + detail::tmat4x4 dltRotation = m2 * transpose(m1rot); detail::tvec3 dltAxis; T dltAngle; axisAngle(dltRotation, dltAxis, dltAngle); - detail::tmat4x4 out = axisAngleMatrix(dltAxis, dltAngle * delta) * extractMatrixRotation(m1); + detail::tmat4x4 out = axisAngleMatrix(dltAxis, dltAngle * delta) * m1rot; out[3][0] = m1[3][0] + delta * (m2[3][0] - m1[3][0]); out[3][1] = m1[3][1] + delta * (m2[3][1] - m1[3][1]); out[3][2] = m1[3][2] + delta * (m2[3][2] - m1[3][2]);