From 4076b1477e50fef0c3c2a2f7c01a4af64c5300e8 Mon Sep 17 00:00:00 2001 From: Hat Kid <6624576+Hat-Kid@users.noreply.github.com> Date: Sun, 7 Jun 2026 21:28:59 +0200 Subject: [PATCH] jak3: fix zoom blur flashbang in retail (#4305) When `do_zoom_blur` sets up its draw, it doesn't update the blend settings, so it ends up inheriting the previous values. In retail mode, the previous draw is from a texture animation, which sets up the blend in a specific way that causes it to draw a white texture over the screen. In debug mode, right before the zoom blur is drawn, the debug text is drawn, which modifies the blend settings to something that makes the blur look as it should. Closes #4206 --- game/graphics/opengl_renderer/BlitDisplays.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/game/graphics/opengl_renderer/BlitDisplays.cpp b/game/graphics/opengl_renderer/BlitDisplays.cpp index 4a35b9509a..e044004a95 100644 --- a/game/graphics/opengl_renderer/BlitDisplays.cpp +++ b/game/graphics/opengl_renderer/BlitDisplays.cpp @@ -167,6 +167,8 @@ void BlitDisplays::do_zoom_blur(SharedRenderState* render_state, ScopedProfilerN // GL Setup glDisable(GL_DEPTH_TEST); glEnable(GL_BLEND); + glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ZERO); + glBlendEquation(GL_FUNC_ADD); glBindTexture(GL_TEXTURE_2D, m_blur_old_copier.texture()); // draw old image