From ea28cbf1be44248b3a8d453648fef9aa73030153 Mon Sep 17 00:00:00 2001 From: Vanessa Karolek <vaka1997@uni-koblenz.de> Date: Wed, 23 Jun 2021 16:41:32 +0200 Subject: [PATCH] [#60] add missing frametime and sensitivity --- .../src/vkcv/camera/TrackballCameraController.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/modules/camera/src/vkcv/camera/TrackballCameraController.cpp b/modules/camera/src/vkcv/camera/TrackballCameraController.cpp index a1500d93..81a7e1d6 100644 --- a/modules/camera/src/vkcv/camera/TrackballCameraController.cpp +++ b/modules/camera/src/vkcv/camera/TrackballCameraController.cpp @@ -109,14 +109,17 @@ namespace vkcv::camera { double stickRightX = static_cast<double>(gamepadState.axes[GLFW_GAMEPAD_AXIS_RIGHT_X]); double stickRightY = static_cast<double>(gamepadState.axes[GLFW_GAMEPAD_AXIS_RIGHT_Y]); - double rightXVal = glm::clamp((abs(stickRightX)-threshold), 0.0, 1.0) * std::copysign(1.0, stickRightX); - double rightYVal = glm::clamp((abs(stickRightY)-threshold), 0.0, 1.0) * std::copysign(1.0, stickRightY); - panView(rightXVal * sensitivity, rightYVal * sensitivity * frametime, camera); + double rightXVal = glm::clamp((abs(stickRightX)-threshold), 0.0, 1.0) + * std::copysign(1.0, stickRightX) * sensitivity * frametime; + double rightYVal = glm::clamp((abs(stickRightY)-threshold), 0.0, 1.0) + * std::copysign(1.0, stickRightY) * sensitivity * frametime; + panView(rightXVal, rightYVal, camera); // handle translation double stickLeftY = static_cast<double>(gamepadState.axes[GLFW_GAMEPAD_AXIS_LEFT_Y]); - double leftYVal = glm::clamp((abs(stickLeftY)-threshold), 0.0, 1.0) * std::copysign(1.0, stickLeftY); - updateRadius(-leftYVal * sensitivity, camera); + double leftYVal = glm::clamp((abs(stickLeftY)-threshold), 0.0, 1.0) + * std::copysign(1.0, stickLeftY) * sensitivity * frametime; + updateRadius(-leftYVal, camera); } } \ No newline at end of file -- GitLab