- 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.
This commit is contained in:
Christoph Oelckers 2018-06-02 23:08:42 +02:00
parent 0dbcdc8a9c
commit d0aacd3ba8

View file

@ -395,7 +395,6 @@ void GLSceneDrawer::RenderTranslucent(FDrawInfo *di)
{ {
RenderAll.Clock(); RenderAll.Clock();
glDepthMask(false);
gl_RenderState.SetCameraPos(r_viewpoint.Pos.X, r_viewpoint.Pos.Y, r_viewpoint.Pos.Z); gl_RenderState.SetCameraPos(r_viewpoint.Pos.X, r_viewpoint.Pos.Y, r_viewpoint.Pos.Z);
// final pass: translucent stuff // final pass: translucent stuff
@ -404,6 +403,7 @@ void GLSceneDrawer::RenderTranslucent(FDrawInfo *di)
gl_RenderState.EnableBrightmap(true); gl_RenderState.EnableBrightmap(true);
di->drawlists[GLDL_TRANSLUCENTBORDER].Draw(di, GLPASS_TRANSLUCENT); di->drawlists[GLDL_TRANSLUCENTBORDER].Draw(di, GLPASS_TRANSLUCENT);
glDepthMask(false);
di->DrawSorted(GLDL_TRANSLUCENT); di->DrawSorted(GLDL_TRANSLUCENT);
gl_RenderState.EnableBrightmap(false); gl_RenderState.EnableBrightmap(false);