From 1b6f98e673c313c1a6c1c8d68734684e13736fb8 Mon Sep 17 00:00:00 2001 From: Magnus Norddahl Date: Mon, 18 Mar 2024 03:19:51 +0100 Subject: [PATCH] Fix gl_ssao_debug 4 rendering glitch when multisample is active --- .../rendering/hwrenderer/postprocessing/hw_postprocess.cpp | 6 +++--- wadsrc/static/shaders/pp/ssaocombine.fp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/common/rendering/hwrenderer/postprocessing/hw_postprocess.cpp b/src/common/rendering/hwrenderer/postprocessing/hw_postprocess.cpp index 6f0fa00df..63a695bef 100644 --- a/src/common/rendering/hwrenderer/postprocessing/hw_postprocess.cpp +++ b/src/common/rendering/hwrenderer/postprocessing/hw_postprocess.cpp @@ -839,11 +839,11 @@ void PPAmbientOcclusion::Render(PPRenderState *renderstate, float m5, int sceneW renderstate->Shader = gl_multisample > 1 ? &CombineMS : &Combine; renderstate->Uniforms.Set(combineUniforms); renderstate->Viewport = screen->mSceneViewport; + renderstate->SetInputTexture(0, &Ambient0, PPFilterMode::Linear); if (gl_ssao_debug < 4) - renderstate->SetInputTexture(0, &Ambient0, PPFilterMode::Linear); + renderstate->SetInputSceneFog(1); else - renderstate->SetInputSceneNormal(0, PPFilterMode::Linear); - renderstate->SetInputSceneFog(1); + renderstate->SetInputSceneNormal(1, PPFilterMode::Linear); renderstate->SetOutputSceneColor(); if (gl_ssao_debug != 0) renderstate->SetNoBlend(); diff --git a/wadsrc/static/shaders/pp/ssaocombine.fp b/wadsrc/static/shaders/pp/ssaocombine.fp index 0d592549f..9be5f32d4 100644 --- a/wadsrc/static/shaders/pp/ssaocombine.fp +++ b/wadsrc/static/shaders/pp/ssaocombine.fp @@ -37,5 +37,5 @@ void main() else if (DebugMode == 3) FragColor = vec4(ssao.yyy / 1000.0, 1.0); else - FragColor = vec4(ssao.xyz, 1.0); + FragColor = vec4(fogColor, 1.0); }