diff options
author | majortom6 <tombarrett@siu.edu> | 2017-02-19 10:41:00 -0600 |
---|---|---|
committer | Tom Barrett <tombarrett@siu.edu> | 2017-03-07 13:23:41 -0600 |
commit | fcf6abaccec7c7ed2fd306a9cf1ec378f303297c (patch) | |
tree | 75d4df2b09346014e4784c2b597f0110a6b82e5b /inc/opengl/camera.hpp | |
parent | 5c46e0f0a924989201c6784b0f956bc442f14a7e (diff) |
-refractoring of includes
Diffstat (limited to 'inc/opengl/camera.hpp')
-rw-r--r-- | inc/opengl/camera.hpp | 39 |
1 files changed, 20 insertions, 19 deletions
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 |