From 70642b0a55839d449b072b1eee462edb19a6decb Mon Sep 17 00:00:00 2001 From: Ylva Selling Date: Fri, 30 Apr 2021 15:06:44 +0200 Subject: [PATCH] Fine tune the zooming function --- modules/skybrowser/src/screenspaceskybrowser.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/skybrowser/src/screenspaceskybrowser.cpp b/modules/skybrowser/src/screenspaceskybrowser.cpp index 008fd07864..73c150fa4a 100644 --- a/modules/skybrowser/src/screenspaceskybrowser.cpp +++ b/modules/skybrowser/src/screenspaceskybrowser.cpp @@ -162,8 +162,9 @@ namespace openspace { } void ScreenSpaceSkyBrowser::scrollZoom(float scroll) { - - float zoomFactor = 0.25f*log(_vfieldOfView + 1.1f); + // Make scroll more sensitive the smaller the FOV + float x = _vfieldOfView; + float zoomFactor = atan(x / 50.0) + exp(x / 40) - 0.999999; float zoom = scroll > 0.0 ? -zoomFactor : zoomFactor; _vfieldOfView = std::clamp(_vfieldOfView + zoom, 0.001f, 70.0f); }