From fcf6abaccec7c7ed2fd306a9cf1ec378f303297c Mon Sep 17 00:00:00 2001 From: majortom6 Date: Sun, 19 Feb 2017 10:41:00 -0600 Subject: -refractoring of includes --- inc/opengl/camera.hpp | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) (limited to 'inc/opengl/camera.hpp') diff --git a/inc/opengl/camera.hpp b/inc/opengl/camera.hpp index 62ae837..06a5a88 100644 --- a/inc/opengl/camera.hpp +++ b/inc/opengl/camera.hpp @@ -1,57 +1,58 @@ #ifndef camera_h #define camera_h +#include "constants.hpp" + struct Camera { public: Camera(const glm::vec3& pos, float fov, float aspect, float zNear, float zFar){ - this->pos = pos; - this->forward = glm::vec3(0.0f, 0.0f, -1.0f); - this->up = glm::vec3(0.0f, 1.0f, 0.0f); - this->projection = glm::perspective(fov, aspect, zNear, zFar); + this->pos = pos; + this->forward = glm::vec3(0.0f, 0.0f, -1.0f); + this->up = glm::vec3(0.0f, 1.0f, 0.0f); + this->projection = glm::perspective(fov, aspect, zNear, zFar); } inline glm::mat4 GetViewProjection() const { - return projection * glm::lookAt(pos, pos + forward, up); + return projection * glm::lookAt(pos, pos + forward, up); } void MoveForward(){ - pos += forward * amt; + pos += forward * MOVE_AMOUNT; } void MoveBackward(){ - pos += forward * -amt; + pos += forward * -MOVE_AMOUNT; } void MoveRight(){ - pos += -glm::cross(up, forward) * amt; + pos += -glm::cross(up, forward) * MOVE_AMOUNT; } void MoveLeft(){ - pos += glm::cross(up, forward) * amt; + pos += glm::cross(up, forward) * MOVE_AMOUNT; } void MoveUp(){ - pos += glm::vec3(0,.2,0); + pos += glm::vec3(0,MOVE_AMOUNT,0); } void MoveDown(){ - pos -= glm::vec3(0,.2,0); + pos -= glm::vec3(0,MOVE_AMOUNT,0); } void Pitch(float angle){ - glm::vec3 right = glm::normalize(glm::cross(up, forward)); + glm::vec3 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)); + forward = glm::vec3(glm::normalize(glm::rotate(angle, right) * glm::vec4(forward, 0.0))); + up = glm::normalize(glm::cross(forward, right)); } private: - float amt = .2; - glm::mat4 projection; - glm::vec3 pos; - glm::vec3 forward; - glm::vec3 up; + glm::mat4 projection; + glm::vec3 pos; + glm::vec3 forward; + glm::vec3 up; }; #endif -- cgit v1.2.3