imporve w & s

This commit is contained in:
Luca Conte 2024-06-24 15:48:31 +02:00
parent 582bad8c59
commit bbcc7b855a
1 changed files with 19 additions and 3 deletions

View File

@ -45,6 +45,7 @@ int framesSinceUpdate = 0;
GLfloat step = 0.0f;
const GLfloat pi = 3.14159f;
vec3 origin = {0.0f, 0.0f, 0.0f};
vec3 cameraPosition = {0.0f, 2.0f, 1.0f};
vec3 objectPosition = {0.0f, 0.0f, 0.0f};
@ -102,10 +103,26 @@ void handleInputs(double deltaTime) {
}
if (!cameraTraveling) {
if (glfwGetKey(window, GLFW_KEY_S) == GLFW_PRESS) {
cameraPosition.z += deltaTime * 10;
vec3 delta;
vec3Subtract(&delta, &origin, &cameraPosition);
vec3Normalise(&delta, &delta);
vec3Multiply(&delta, &delta, -10);
vec3Multiply(&delta, &delta, deltaTime);
vec3Add(&cameraPosition, &cameraPosition, &delta);
}
if (glfwGetKey(window, GLFW_KEY_W) == GLFW_PRESS) {
cameraPosition.z -= deltaTime * 10;
vec3 delta;
vec3Subtract(&delta, &origin, &cameraPosition);
if (vec3Length(&delta) > 0.1) {
vec3Normalise(&delta, &delta);
vec3Multiply(&delta, &delta, 10);
vec3Multiply(&delta, &delta, deltaTime);
vec3Add(&cameraPosition, &cameraPosition, &delta);
}
}
if (glfwGetKey(window, GLFW_KEY_D) == GLFW_PRESS) {
cameraPosition.x += deltaTime * 10;
@ -342,7 +359,6 @@ void draw(void) {
GLfloat stepi = step * pi * 2;
// ------------- VIEWING TRANSFORMATION -------------------
vec3 origin = {0.0f, 0.0f, 0.0f};
vec3 up = {0.0f, 1.0f, 0.0f};
lookAt(&viewingTransformation, &cameraPosition, &origin, &up);