From d0aacd3ba891436e4defe7a5f8149f1b51abc0b3 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 2 Jun 2018 23:08:42 +0200 Subject: [PATCH] - fixed: The translucent border draw list must be rendered with depth writing active. This gets exclusively used by portal borders which means that for walls the setting is irrelevant but for flats it is needed to cover the portal surface so that translucent parts of the outer scene do not bleed through. --- src/gl/scene/gl_scene.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gl/scene/gl_scene.cpp b/src/gl/scene/gl_scene.cpp index 91d4e4235..ad7a7e494 100644 --- a/src/gl/scene/gl_scene.cpp +++ b/src/gl/scene/gl_scene.cpp @@ -395,7 +395,6 @@ void GLSceneDrawer::RenderTranslucent(FDrawInfo *di) { RenderAll.Clock(); - glDepthMask(false); gl_RenderState.SetCameraPos(r_viewpoint.Pos.X, r_viewpoint.Pos.Y, r_viewpoint.Pos.Z); // final pass: translucent stuff @@ -404,6 +403,7 @@ void GLSceneDrawer::RenderTranslucent(FDrawInfo *di) gl_RenderState.EnableBrightmap(true); di->drawlists[GLDL_TRANSLUCENTBORDER].Draw(di, GLPASS_TRANSLUCENT); + glDepthMask(false); di->DrawSorted(GLDL_TRANSLUCENT); gl_RenderState.EnableBrightmap(false);