diff --git a/src/gl/renderer/gl_renderer.cpp b/src/gl/renderer/gl_renderer.cpp index dbf0c10c8b..26e16d4dda 100644 --- a/src/gl/renderer/gl_renderer.cpp +++ b/src/gl/renderer/gl_renderer.cpp @@ -584,8 +584,14 @@ void FGLRenderer::FillSimplePoly(FTexture *texture, FVector2 *points, int npoint FColormap cm; cm = colormap; + // We cannot use the software light mode here because it doesn't properly calculate the light for 2D rendering. + SBYTE savedlightmode = glset.lightmode; + if (glset.lightmode == 8) glset.lightmode = 0; + gl_SetColor(lightlevel, 0, cm, 1.f); + glset.lightmode = savedlightmode; + gl_RenderState.SetMaterial(gltexture, CLAMP_NONE, 0, -1, false); int i;