From 475f3e7e087436ece707419a3c862ae3727dd4ec Mon Sep 17 00:00:00 2001 From: cinnaboot Date: Tue, 3 Jul 2018 13:14:16 -0400 Subject: [PATCH] move some camera constants to preprocessor defines --- src/hexgame.cpp | 1 + src/renderer.h | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/hexgame.cpp b/src/hexgame.cpp index 7ae3175..64ad5ad 100644 --- a/src/hexgame.cpp +++ b/src/hexgame.cpp @@ -528,6 +528,7 @@ int main(int argc, char* argv[]) } cleanUp(handles); + LOG(INFO) << "Application exiting\n"; return 0; } diff --git a/src/renderer.h b/src/renderer.h index 0d553fa..449d02b 100644 --- a/src/renderer.h +++ b/src/renderer.h @@ -18,11 +18,11 @@ #include "hexlib.h" #include "hexgame.h" -#if 0 - #define PROJ_TYPE ORTHOGRAPHIC -#else - #define PROJ_TYPE PERSPECTIVE -#endif +#define MOVE_SPEED 5.f +#define ROTATE_SPEED 0.005f +#define CAMERA_Z_CLAMP_ANGLE 85.f +//#define PROJ_TYPE ORTHOGRAPHIC +#define PROJ_TYPE PERSPECTIVE const char * VERTEX_SHADER_CODE = "#version 330 core\n" @@ -272,6 +272,8 @@ initShaderProgram(gl_render_group &rg, const char * vertex_code, const char * fr void initMatrices(projection_type p) { + // TODO: many constants used here should be passed as args + if (p == PERSPECTIVE) { g_scene_matrices.projection = glm::infinitePerspective( @@ -391,8 +393,6 @@ moveCamera(bool up, bool left, bool down, bool right, bool forward, bool backwar if (!up && !left && !down && !right && !forward && !backward) return; - float d = 5.f; // units per frame - glm::vec3 f = g_camera.forward; glm::vec3 u = g_camera.up; glm::vec3 old = g_camera.position; @@ -415,7 +415,7 @@ moveCamera(bool up, bool left, bool down, bool right, bool forward, bool backwar } glm::normalize(v); - p += (v * d); + p += (v * MOVE_SPEED); glm::vec3 diff = old - p; g_scene_matrices.view = glm::translate(g_scene_matrices.view, diff); g_scene_matrices.MVP = g_scene_matrices.projection * g_scene_matrices.view * g_scene_matrices.model; @@ -427,11 +427,11 @@ rotateCamera(int32 xrel, int32 yrel) camera &c = g_camera; float &h = c.hAngle; float &v = c.vAngle; - h += 0.005f * xrel; - v -= 0.005f * yrel; + h += ROTATE_SPEED * xrel; + v -= ROTATE_SPEED * yrel; - // clamp vAngle to + or - 85 degrees to prevent gimbal lock - float a = glm::radians(85.f); + // clamp vAngle to prevent gimbal lock + float a = glm::radians(CAMERA_Z_CLAMP_ANGLE); if (v < (-1 * a)) v = (-1 * a); if (v > a) v = a;