Browse Source

move some camera constants to preprocessor defines

master
cinnaboot 8 years ago
parent
commit
475f3e7e08
  1. 1
      src/hexgame.cpp
  2. 24
      src/renderer.h

1
src/hexgame.cpp

@ -528,6 +528,7 @@ int main(int argc, char* argv[])
}
cleanUp(handles);
LOG(INFO) << "Application exiting\n";
return 0;
}

24
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;

Loading…
Cancel
Save