From 521f64f1527f3afecad5c79b9a7e696ad5d77887 Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Fri, 4 Oct 2019 14:10:28 -0700 Subject: [PATCH] normalize axes returned by Mat4.getForward getUp and getRight --- libraries/script-engine/src/Mat4.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libraries/script-engine/src/Mat4.cpp b/libraries/script-engine/src/Mat4.cpp index dac3ebd259..d4d73a46cc 100644 --- a/libraries/script-engine/src/Mat4.cpp +++ b/libraries/script-engine/src/Mat4.cpp @@ -70,15 +70,16 @@ glm::mat4 Mat4::inverse(const glm::mat4& m) const { } glm::vec3 Mat4::getForward(const glm::mat4& m) const { - return -glm::vec3(m[2]); + // -z is forward + return -glm::normalize(glm::vec3(m[2])); } glm::vec3 Mat4::getRight(const glm::mat4& m) const { - return glm::vec3(m[0]); + return glm::normalize(glm::vec3(m[0])); } glm::vec3 Mat4::getUp(const glm::mat4& m) const { - return glm::vec3(m[1]); + return glm::normalize(glm::vec3(m[1])); } void Mat4::print(const QString& label, const glm::mat4& m, bool transpose) const {