- fix for rendering a brightmapped 2D texture with ColorIsFixed render style.

This must disable the brightmap.
This commit is contained in:
Christoph Oelckers 2018-04-30 21:28:06 +02:00
commit 2b5019ea6e
3 changed files with 20 additions and 0 deletions

View file

@ -767,6 +767,7 @@ void FGLRenderer::Draw2D(F2DDrawer *drawer)
gl_GetRenderStyle(cmd.mRenderStyle, false, false, &tm, &sb, &db, &be);
gl_RenderState.BlendEquation(be);
gl_RenderState.BlendFunc(sb, db);
gl_RenderState.EnableBrightmap(!(cmd.mRenderStyle.Flags & STYLEF_ColorIsFixed));
// Rather than adding remapping code, let's enforce that the constants here are equal.
static_assert(int(F2DDrawer::DTM_Normal) == int(TM_MODULATE), "DTM_Normal != TM_MODULATE");
@ -878,6 +879,7 @@ void FGLRenderer::Draw2D(F2DDrawer *drawer)
gl_RenderState.SetVertexBuffer(GLRenderer->mVBO);
gl_RenderState.EnableTexture(true);
gl_RenderState.EnableBrightmap(true);
gl_RenderState.SetTextureMode(TM_MODULATE);
gl_RenderState.SetFixedColormap(CM_DEFAULT);
gl_RenderState.ResetColor();