diff options
author | rtk0c <[email protected]> | 2023-10-19 22:50:07 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2025-08-16 11:31:16 -0700 |
commit | 297232d21594b138bb368a42b5b0d085ff9ed6aa (patch) | |
tree | 075d5407e1e12a9d35cbee6e4c20ad34e0765c42 /source/30-game/Camera.cpp | |
parent | d5cd34ff69f7fd134d5450696f298af1a864afbc (diff) |
The great renaming: switch to "module style"
Diffstat (limited to 'source/30-game/Camera.cpp')
-rw-r--r-- | source/30-game/Camera.cpp | 46 |
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); - } -} |