diff --git a/Nuake/src/Core/Maths.cpp b/Nuake/src/Core/Maths.cpp index d8e19a87..563770d1 100644 --- a/Nuake/src/Core/Maths.cpp +++ b/Nuake/src/Core/Maths.cpp @@ -4,10 +4,11 @@ using namespace Nuake; Quat Nuake::QuatFromEuler(float x, float y, float z) { - return Quat(Vector3(Rad(x), Rad(y), Rad(z))); + return Quat(Vector3(Rad(z), Rad(y), Rad(x))); } Vector3 Nuake::QuatToDirection(const Quat& quat) { - return quat * Vector3(0, 0, -1); + //return quat * Vector3(0, 0, -1); + return glm::rotate(glm::inverse(quat), glm::vec3(-1.0, 0.0, 0.0)); } \ No newline at end of file diff --git a/Nuake/src/Rendering/Camera.cpp b/Nuake/src/Rendering/Camera.cpp index 42557112..5b3249e6 100644 --- a/Nuake/src/Rendering/Camera.cpp +++ b/Nuake/src/Rendering/Camera.cpp @@ -52,7 +52,7 @@ namespace Nuake //cam->cameraRight = glm::normalize(glm::cross(cam->up, cam->cameraFront)); Direction = glm::normalize(direction); Right = glm::normalize(glm::cross(Vector3(0, 1, 0), Direction)); - //Up = glm::normalize(glm::cross(Direction, Right)) + //Up = glm::normalize(glm::cross(Direction, Right)); } Vector3 Camera::GetTranslation() { diff --git a/Nuake/src/Scene/Systems/TransformSystem.cpp b/Nuake/src/Scene/Systems/TransformSystem.cpp index 6ddb3740..c9e776ae 100644 --- a/Nuake/src/Scene/Systems/TransformSystem.cpp +++ b/Nuake/src/Scene/Systems/TransformSystem.cpp @@ -110,7 +110,8 @@ namespace Nuake camera.CameraInstance->Translation = transform.GlobalTranslation; const auto& globalRotation = transform.GetGlobalRotation(); - const auto& forward = QuatToDirection(globalRotation); + auto& forward = QuatToDirection(globalRotation); + //forward *= -1.0; camera.CameraInstance->SetDirection(forward); } }