From 89af6b10adb956379a9851edcff0896034f5b704 Mon Sep 17 00:00:00 2001 From: Hannu Hanhi <hhanhipublic@gmail.com> Date: Sat, 25 Sep 2021 18:10:14 +0300 Subject: [PATCH] Prevent gl_FrontColor overflow in model lighting shader manually Some drivers don't clamp it for some reason. Fixes overbright model lighting and broken colors when combined with palette rendering on affected drivers. --- src/hardware/hw_shaders.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hardware/hw_shaders.c b/src/hardware/hw_shaders.c index cb929ae6e9..7f3b5433f1 100644 --- a/src/hardware/hw_shaders.c +++ b/src/hardware/hw_shaders.c @@ -40,7 +40,7 @@ "{\n" \ "#ifdef SRB2_MODEL_LIGHTING\n" \ "float nDotVP = dot(gl_Normal, vec3(0, 1, 0));\n" \ - "float light = 0.75 + max(nDotVP, 0.0);\n" \ + "float light = min(0.75 + max(nDotVP, 0.0), 1.0);\n" \ "gl_FrontColor = vec4(light, light, light, 1.0);\n" \ "#else\n" \ "gl_FrontColor = gl_Color;\n" \ -- GitLab