aboutsummaryrefslogtreecommitdiff
path: root/source/Camera.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Camera.cpp')
-rw-r--r--source/Camera.cpp30
1 files changed, 15 insertions, 15 deletions
diff --git a/source/Camera.cpp b/source/Camera.cpp
index 0508508..9041d80 100644
--- a/source/Camera.cpp
+++ b/source/Camera.cpp
@@ -5,23 +5,23 @@
#include <glm/gtc/matrix_transform.hpp>
Camera::Camera()
- : pos(10.0f, 10.0f, 5.0f)
- , lookAt(0.0, 0.0f, 0.0f)
+ : eye(0.0f, 0.0f, 0.0f)
+ , target(0.0, 0.0f, -1.0f)
, perspective{ false } {
}
-void Camera::Move(glm::vec3 pos) {
- auto lookVector = this->lookAt - /*Old pos*/ this->pos;
- this->pos = pos;
- this->lookAt = pos + lookVector;
+void Camera::SetEyePos(glm::vec3 pos) {
+ auto lookVector = this->target - /*Old pos*/ this->eye;
+ this->eye = pos;
+ this->target = pos + lookVector;
}
-void Camera::LookAtAngle(glm::vec3 lookVector) {
- this->lookAt = this->pos + lookVector;
+void Camera::SetTargetPos(glm::vec3 pos) {
+ this->target = pos;
}
-void Camera::LookAtPos(glm::vec3 pos) {
- this->lookAt = pos;
+void Camera::SetTargetDirection(glm::vec3 lookVector) {
+ this->target = this->eye + lookVector;
}
void Camera::SetHasPerspective(bool perspective) {
@@ -29,7 +29,7 @@ void Camera::SetHasPerspective(bool perspective) {
}
glm::mat4 Camera::CalcViewMatrix() const {
- return glm::lookAt(pos, lookAt, glm::vec3(0, 1, 0));
+ return glm::lookAt(eye, target, glm::vec3(0, 1, 0));
}
glm::mat4 Camera::CalcProjectionMatrix() const {
@@ -37,9 +37,9 @@ glm::mat4 Camera::CalcProjectionMatrix() const {
return glm::perspective(90.0f, AppConfig::mainWindowAspectRatio, 0.1f, 1000.0f);
} else {
return glm::ortho(
- pos.x - AppConfig::mainWidnowWidth / 2,
- pos.x + AppConfig::mainWidnowWidth / 2,
- pos.y - AppConfig::mainWindowHeight / 2,
- pos.y + AppConfig::mainWindowHeight / 2);
+ eye.x - AppConfig::mainWidnowWidth / 2,
+ eye.x + AppConfig::mainWidnowWidth / 2,
+ eye.y - AppConfig::mainWindowHeight / 2,
+ eye.y + AppConfig::mainWindowHeight / 2);
}
}