aboutsummaryrefslogtreecommitdiff
path: root/src/camera/camera.cpp
diff options
context:
space:
mode:
authorDavid Doan <daviddoan@Davids-MacBook-Pro-193.local>2023-12-13 03:58:13 -0500
committerDavid Doan <daviddoan@Davids-MacBook-Pro-193.local>2023-12-13 03:58:13 -0500
commiteaea332f31d8f14caf2f4675779241ad30655fc3 (patch)
tree27171231562e677ce72e7c0daeda707f2e6f93d6 /src/camera/camera.cpp
parent87e614254bc0b1ad0f2ac28a5092c97caab09d7a (diff)
camera movement
Diffstat (limited to 'src/camera/camera.cpp')
-rw-r--r--src/camera/camera.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/camera/camera.cpp b/src/camera/camera.cpp
index 78ae483..704be7e 100644
--- a/src/camera/camera.cpp
+++ b/src/camera/camera.cpp
@@ -2,6 +2,8 @@
#include "camera.h"
#include "vec4ops/vec4ops.h"
#include "settings.h"
+#include <glm/glm.hpp>
+#include <glm/gtc/matrix_transform.hpp> // Include this header for glm::rotate
Camera::Camera(SceneCameraData cameraData) :
m_pos(cameraData.pos),
@@ -10,6 +12,11 @@ Camera::Camera(SceneCameraData cameraData) :
m_aperture(cameraData.aperture)
{
m_viewMatrix = Vec4Ops::getViewMatrix4(cameraData.look, cameraData.up, cameraData.over);
+ // add settings.xy rotation
+ m_viewMatrix = glm::rotate(m_viewMatrix, glm::radians(settings.xy), glm::vec3(0.f, 1.f, 0.f));
+ m_viewMatrix = glm::rotate(m_viewMatrix, glm::radians(settings.yz), glm::vec3(1.f, 0.f, 0.f));
+ m_viewMatrix = glm::rotate(m_viewMatrix, glm::radians(settings.xz), glm::vec3(0.f, 0.f, 1.f));
+
m_translationVector = -cameraData.pos;
m_inverseViewMatrix = glm::inverse(m_viewMatrix);