aboutsummaryrefslogtreecommitdiff
path: root/source/30-game/Camera.cpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2022-06-03 23:26:44 -0700
committerrtk0c <[email protected]>2022-06-03 23:26:44 -0700
commit60ccc62f4934e44ad5b905fdbcf458302b8d8a09 (patch)
tree02ec83cc8387abfd08bd5ee7ea4e8115f1bfb8d0 /source/30-game/Camera.cpp
parentc2ef7737536bf1f8c81fcfae95c0183b21c9753f (diff)
Changeset: 63 [WIP] Rename directories
Diffstat (limited to 'source/30-game/Camera.cpp')
-rw-r--r--source/30-game/Camera.cpp46
1 files changed, 0 insertions, 46 deletions
diff --git a/source/30-game/Camera.cpp b/source/30-game/Camera.cpp
deleted file mode 100644
index 39f0369..0000000
--- a/source/30-game/Camera.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-#include "Camera.hpp"
-
-#include "AppConfig.hpp"
-
-#include <glm/gtc/matrix_transform.hpp>
-
-Camera::Camera()
- : eye(0.0f, 0.0f, 0.0f)
- , target(0.0, 0.0f, -2.0f)
- , pixelsPerMeter{ 50.0f } // Basic default
- , fov{ M_PI / 4 } // 45deg is the convention
- , perspective{ false } //
-{
-}
-
-void Camera::SetEyePos(glm::vec3 pos) {
- auto lookVector = this->target - /*Old pos*/ this->eye;
- this->eye = pos;
- this->target = pos + lookVector;
-}
-
-void Camera::SetTargetPos(glm::vec3 pos) {
- this->target = pos;
-}
-
-void Camera::SetTargetDirection(glm::vec3 lookVector) {
- this->target = this->eye + lookVector;
-}
-
-void Camera::SetHasPerspective(bool perspective) {
- this->perspective = perspective;
-}
-
-glm::mat4 Camera::CalcViewMatrix() const {
- return glm::lookAt(eye, target, glm::vec3(0, 1, 0));
-}
-
-glm::mat4 Camera::CalcProjectionMatrix() const {
- if (perspective) {
- return glm::perspective(fov, AppConfig::mainWindowAspectRatio, 0.1f, 1000.0f);
- } else {
- float widthMeters = AppConfig::mainWindowWidth / pixelsPerMeter;
- float heightMeters = AppConfig::mainWindowHeight / pixelsPerMeter;
- return glm::ortho(-widthMeters / 2, +widthMeters / 2, -heightMeters / 2, +heightMeters / 2);
- }
-}