From b7fadd730a78671a0eaf55c36df24c04661ef2c3 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Tue, 16 Nov 2021 00:07:48 +0000 Subject: Swap y,z axis This was a pain... but all the coords make much more sense now and a lot of mystery negation has disappeared. --- gfx/gl/camera.cpp | 42 ++---------------------------------------- 1 file changed, 2 insertions(+), 40 deletions(-) (limited to 'gfx/gl/camera.cpp') diff --git a/gfx/gl/camera.cpp b/gfx/gl/camera.cpp index c98ff70..c957b2c 100644 --- a/gfx/gl/camera.cpp +++ b/gfx/gl/camera.cpp @@ -1,9 +1,9 @@ #include "camera.h" #include +#include Camera::Camera(glm::vec3 pos, float fov, float aspect, float zNear, float zFar) : - pos {pos}, forward {0.0F, 0.0F, 1.0F}, up {0.0F, 1.0F, 0.0F}, projection { - glm::perspective(fov, aspect, zNear, zFar)} + pos {pos}, forward {::north}, up {::up}, projection {glm::perspective(fov, aspect, zNear, zFar)} { } @@ -12,41 +12,3 @@ Camera::GetViewProjection() const { return projection * glm::lookAt(pos, pos + forward, up); } - -void -Camera::MoveForward(float amt) -{ - pos += forward * amt; -} - -void -Camera::SlideForward(float amt) -{ - pos += forward * amt * glm::vec3 {1, 0, 1}; -} - -void -Camera::MoveRight(float amt) -{ - pos += glm::cross(up, forward) * amt; -} - -void -Camera::Pitch(float angle) -{ - const auto right = glm::normalize(glm::cross(up, forward)); - - forward = glm::vec3(glm::normalize(glm::rotate(angle, right) * glm::vec4(forward, 0.0))); - up = glm::normalize(glm::cross(forward, right)); -} - -void -Camera::RotateY(float angle) -{ - static constexpr glm::vec3 UP {0.0F, 1.0F, 0.0F}; - - const auto rotation = glm::rotate(angle, UP); - - forward = glm::vec3(glm::normalize(rotation * glm::vec4(forward, 0.0))); - up = glm::vec3(glm::normalize(rotation * glm::vec4(up, 0.0))); -} -- cgit v1.2.3