From 68602b2eaf615204c96430d61638c49f2c9381a6 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sat, 1 Mar 2025 11:00:58 +0100 Subject: [PATCH] Fix shadow flicker on camera offset update (take 2) The previous fix never did what it was supposed to, so let's do this. --- src/client/game.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/client/game.cpp b/src/client/game.cpp index 4ad93e1ca..fbe81ff66 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -2989,8 +2989,13 @@ void Game::updateCameraOffset() if (!m_flags.disable_camera_update) { auto *shadow = RenderingEngine::get_shadow_renderer(); - if (shadow) + if (shadow) { shadow->getDirectionalLight().updateCameraOffset(camera); + // FIXME: I bet we can be smarter about this and don't need to redraw + // the shadow map at all, but this is for someone else to figure out. + if (!g_settings->getFlag("performance_tradeoffs")) + shadow->setForceUpdateShadowMap(); + } env.getClientMap().updateCamera(camera->getPosition(), camera->getDirection(), camera->getFovMax(), camera_offset,