diff --git a/projects/indirect_dispatch/src/App.cpp b/projects/indirect_dispatch/src/App.cpp index e8987aa0f764fa7a5ae2a332cb430940ea1e3c4b..4b372ae964e94819dd85ffe21b1e494186bc0591 100644 --- a/projects/indirect_dispatch/src/App.cpp +++ b/projects/indirect_dispatch/src/App.cpp @@ -103,7 +103,7 @@ void App::run() { float objectVerticalSpeed = 0.005; float motionBlurMinVelocity = 0.001; - int cameraShutterSpeedInverse = 48; + int cameraShutterSpeedInverse = 30; glm::mat4 mvpPrevious = glm::mat4(1.f); glm::mat4 viewProjectionPrevious = m_cameraManager.getActiveCamera().getMVP(); diff --git a/src/vkcv/Window.cpp b/src/vkcv/Window.cpp index aea00fb10d579aea0dc5be789ced3e6582b868bf..daf66ddb864408ed11ad776882226399ed5745b0 100644 --- a/src/vkcv/Window.cpp +++ b/src/vkcv/Window.cpp @@ -80,12 +80,17 @@ namespace vkcv { window->e_key.unlock(); window->e_char.unlock(); window->e_gamepad.unlock(); - } + } + + glfwPollEvents(); + + // fixes subtle mouse stutter, which is made visible by motion blur + // FIXME: proper solution + // probably caused by main thread locking events before glfw callbacks are executed + std::this_thread::sleep_for(std::chrono::milliseconds(1)); - glfwPollEvents(); - - for (int gamepadIndex = GLFW_JOYSTICK_1; gamepadIndex <= GLFW_JOYSTICK_LAST; gamepadIndex++) { - if (glfwJoystickPresent(gamepadIndex)) { + for (int gamepadIndex = GLFW_JOYSTICK_1; gamepadIndex <= GLFW_JOYSTICK_LAST; gamepadIndex++) { + if (glfwJoystickPresent(gamepadIndex)) { onGamepadEvent(gamepadIndex); } }