summaryrefslogtreecommitdiff
path: root/gfx/manualCameraController.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/manualCameraController.cpp')
-rw-r--r--gfx/manualCameraController.cpp67
1 files changed, 0 insertions, 67 deletions
diff --git a/gfx/manualCameraController.cpp b/gfx/manualCameraController.cpp
deleted file mode 100644
index cacf6ac..0000000
--- a/gfx/manualCameraController.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-#include "manualCameraController.h"
-#include <algorithm>
-#include <cmath>
-#include <gfx/gl/camera.h>
-#include <maths.h>
-
-bool
-ManualCameraController::handleInput(SDL_Event & e)
-{
- switch (e.type) {
- case SDL_KEYDOWN:
- switch (e.key.keysym.sym) {
- case SDLK_LCTRL:
- case SDLK_RCTRL:
- ctrl = true;
- return true;
- }
- break;
- case SDL_KEYUP:
- switch (e.key.keysym.sym) {
- case SDLK_LCTRL:
- case SDLK_RCTRL:
- ctrl = false;
- return true;
- }
- break;
- case SDL_MOUSEBUTTONDOWN:
- switch (e.button.button) {
- case SDL_BUTTON_RIGHT:
- SDL_SetRelativeMouseMode(SDL_TRUE);
- mrb = true;
- return true;
- }
- break;
- case SDL_MOUSEBUTTONUP:
- switch (e.button.button) {
- case SDL_BUTTON_RIGHT:
- SDL_SetRelativeMouseMode(SDL_FALSE);
- mrb = false;
- return true;
- }
- break;
- case SDL_MOUSEMOTION:
- if (mrb) {
- if (ctrl) {
- direction -= 0.01F * static_cast<float>(e.motion.xrel);
- pitch = std::clamp(pitch - 0.01F * static_cast<float>(e.motion.yrel), 0.1F, half_pi);
- }
- else {
- focus += rotate_flat(-direction) * glm::vec2 {-e.motion.xrel, e.motion.yrel};
- }
- }
- return true;
- case SDL_MOUSEWHEEL:
- dist = std::clamp(dist - static_cast<float>(e.wheel.y) * 4.F, 5.F, 200.F);
- break;
- }
- return false;
-}
-
-void
-ManualCameraController::updateCamera(Camera * camera) const
-{
- camera->forward = glm::normalize(sincosf(direction) ^ -sin(pitch));
- camera->pos = !focus + up * 3.F - (camera->forward * std::pow(dist, 1.3F));
- camera->up = up;
-}