[EDIT] camera controls

This commit is contained in:
Menno
2021-05-25 15:51:29 +02:00
parent cc7fae5d2f
commit 51cdc520e0
3 changed files with 24 additions and 6 deletions

View File

@@ -9,24 +9,42 @@ namespace entities
void Camera::Move(GLFWwindow* window)
{
float movement_speed = 0;
if (glfwGetKey(window, GLFW_KEY_W) == GLFW_PRESS)
{
position.z -= SPEED;
movement_speed -= SPEED;
}
if (glfwGetKey(window, GLFW_KEY_S) == GLFW_PRESS)
{
position.z += SPEED;
movement_speed += SPEED;
}
if (glfwGetKey(window, GLFW_KEY_D) == GLFW_PRESS)
{
position.x += SPEED;
rotation.y += ROT_SPEED;
}
if (glfwGetKey(window, GLFW_KEY_A) == GLFW_PRESS)
{
position.x -= SPEED;
rotation.y -= ROT_SPEED;
}
if (glfwGetKey(window, GLFW_KEY_SPACE) == GLFW_PRESS)
{
rotation.x -= ROT_SPEED;
}
if (glfwGetKey(window, GLFW_KEY_LEFT_SHIFT) == GLFW_PRESS)
{
rotation.x += ROT_SPEED;
}
float dx = glm::cos(glm::radians(rotation.y + 90)) * movement_speed;
float dz = glm::sin(glm::radians(rotation.y + 90)) * movement_speed;
position.x += dx;
position.z += dz;
}
}

View File

@@ -14,6 +14,7 @@ namespace entities
private:
// The movement speed of the camera
const float SPEED = 0.52f;
const float ROT_SPEED = 1.0f;
glm::vec3 position;
glm::vec3 rotation;

View File

@@ -99,12 +99,12 @@ int main(void)
// Update
const double delta = UpdateDelta();
camera.Move(window);
button.Update(window);
// Render
render_engine::renderer::Prepare();
// Start rendering the entities
shader.Start();
shader.LoadSkyColor(render_engine::renderer::SKY_COLOR);
shader.LoadLights(lights);
@@ -119,7 +119,6 @@ int main(void)
// Stop rendering the entities
shader.Stop();
// Render GUI items
render_engine::renderer::Render(guis, gui_shader);