diff --git a/projet-code/cgp/library/cgp/graphics/camera/camera_controller/camera_controller_first_person_euler/camera_controller_first_person_euler.cpp b/projet-code/cgp/library/cgp/graphics/camera/camera_controller/camera_controller_first_person_euler/camera_controller_first_person_euler.cpp index 8b998c4dd2b1a0f74c3675198079cf5db390d1ac..3e55f24f2367cdcbe019791a9ab971559bab4d12 100644 --- a/projet-code/cgp/library/cgp/graphics/camera/camera_controller/camera_controller_first_person_euler/camera_controller_first_person_euler.cpp +++ b/projet-code/cgp/library/cgp/graphics/camera/camera_controller/camera_controller_first_person_euler/camera_controller_first_person_euler.cpp @@ -83,22 +83,14 @@ namespace cgp camera_model.manipulator_translate_front(magnitude); // with arrows: - if (inputs->keyboard.ctrl == false) { - if (inputs->keyboard.up) - camera_model.manipulator_translate_in_plane({ 0,-magnitude }); - if (inputs->keyboard.down) - camera_model.manipulator_translate_in_plane({ 0, magnitude }); - if (inputs->keyboard.left) - camera_model.manipulator_translate_in_plane({ magnitude ,0 }); - if (inputs->keyboard.right) - camera_model.manipulator_translate_in_plane({ -magnitude ,0 }); - } - else { - if (inputs->keyboard.up) - camera_model.manipulator_translate_front(-magnitude); - if (inputs->keyboard.down) - camera_model.manipulator_translate_front(magnitude); - } + if (inputs->keyboard.up) + camera_model.manipulator_translate_front(-magnitude); + if (inputs->keyboard.down) + camera_model.manipulator_translate_front(magnitude); + if (inputs->keyboard.left) + camera_model.manipulator_translate_in_plane({ magnitude ,0 }); + if (inputs->keyboard.right) + camera_model.manipulator_translate_in_plane({ -magnitude ,0 }); update(camera_matrix_view); diff --git a/projet-code/scenes_inf443/base/base.exe b/projet-code/scenes_inf443/base/base.exe index dce488f2c1f3623a125c43b6c259dd7e8c6b341e..f74f65cd0f787e75efac0d42bc582eab637f05cf 100644 Binary files a/projet-code/scenes_inf443/base/base.exe and b/projet-code/scenes_inf443/base/base.exe differ diff --git a/projet-code/scenes_inf443/base/src/scene.cpp b/projet-code/scenes_inf443/base/src/scene.cpp index 6b3cb845b092eaa8389e1c9138551c645155b701..2a6246698bf58eb0889b92f1c1f0e50fc0375b56 100644 --- a/projet-code/scenes_inf443/base/src/scene.cpp +++ b/projet-code/scenes_inf443/base/src/scene.cpp @@ -119,6 +119,10 @@ void scene_structure::display_frame() //custom function we added to ..first_person_eulor, changes whether the cursor is trapped or not camera_control.trap_cursor(gui.trap_cursor); + vec3 eye_level = camera_control.camera_model.position_camera; + eye_level[2] = evaluate_terrain_height(eye_level[0], eye_level[1]) + 0.75; + camera_control.camera_model.position_camera = eye_level; + // Set the light to the current position of the camera environment.light = camera_control.camera_model.position();