From 5ccc225fa85a99db4bcb96a1dd37df44a321fbf0 Mon Sep 17 00:00:00 2001 From: Magnus Norddahl <dpjudas@users.noreply.github.com> Date: Sat, 17 Aug 2019 05:21:28 +0200 Subject: [PATCH] - fix light pass --- Source/Core/Rendering/RenderDevice.cs | 2 +- Source/Core/Rendering/Renderer3D.cs | 4 ++-- Source/Native/RenderDevice.cpp | 3 ++- Source/Native/RenderDevice.h | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Source/Core/Rendering/RenderDevice.cs b/Source/Core/Rendering/RenderDevice.cs index cbd63d406..d3cc1243d 100755 --- a/Source/Core/Rendering/RenderDevice.cs +++ b/Source/Core/Rendering/RenderDevice.cs @@ -566,7 +566,7 @@ namespace CodeImp.DoomBuilder.Rendering public enum VertexFormat : int { Flat, World } public enum Cull : int { None, Clockwise } - public enum Blend : int { InverseSourceAlpha, SourceAlpha, One, BlendFactor } + public enum Blend : int { InverseSourceAlpha, SourceAlpha, One } public enum BlendOperation : int { Add, ReverseSubtract } public enum FillMode : int { Solid, Wireframe } public enum TextureAddress : int { Wrap, Clamp } diff --git a/Source/Core/Rendering/Renderer3D.cs b/Source/Core/Rendering/Renderer3D.cs index 15ce6fffd..9156d72fc 100755 --- a/Source/Core/Rendering/Renderer3D.cs +++ b/Source/Core/Rendering/Renderer3D.cs @@ -1464,7 +1464,7 @@ namespace CodeImp.DoomBuilder.Rendering VisualSector sector = null; graphics.SetSourceBlend(Blend.One); - graphics.SetDestinationBlend(Blend.BlendFactor); + graphics.SetDestinationBlend(Blend.One); // RenderLightsFromGeometryList(geometrytolit, lights, sector, true); @@ -1488,7 +1488,7 @@ namespace CodeImp.DoomBuilder.Rendering VisualSector sector = null; graphics.SetSourceBlend(Blend.One); - graphics.SetDestinationBlend(Blend.BlendFactor); + graphics.SetDestinationBlend(Blend.One); foreach (KeyValuePair<ImageData, List<VisualGeometry>> group in geometrytolit) { diff --git a/Source/Native/RenderDevice.cpp b/Source/Native/RenderDevice.cpp index c2009ae2e..b8c905d01 100644 --- a/Source/Native/RenderDevice.cpp +++ b/Source/Native/RenderDevice.cpp @@ -417,7 +417,7 @@ void RenderDevice::ApplyBlendState() if (mAlphaBlend) { static const GLenum blendOp2GL[] = { GL_FUNC_ADD, GL_FUNC_REVERSE_SUBTRACT }; - static const GLenum blendFunc2GL[] = { GL_ONE_MINUS_SRC_ALPHA, GL_SRC_ALPHA, GL_ONE, GL_CONSTANT_COLOR }; + static const GLenum blendFunc2GL[] = { GL_ONE_MINUS_SRC_ALPHA, GL_SRC_ALPHA, GL_ONE }; glEnable(GL_BLEND); glBlendEquation(blendOp2GL[(int)mBlendOperation]); @@ -434,6 +434,7 @@ void RenderDevice::ApplyDepthState() if (mDepthTest) { glEnable(GL_DEPTH_TEST); + glDepthFunc(GL_LEQUAL); glDepthMask(mDepthWrite ? GL_TRUE : GL_FALSE); } else diff --git a/Source/Native/RenderDevice.h b/Source/Native/RenderDevice.h index 524155401..8e028c3b4 100644 --- a/Source/Native/RenderDevice.h +++ b/Source/Native/RenderDevice.h @@ -11,7 +11,7 @@ enum class CubeMapFace; enum class VertexFormat; enum class Cull : int { None, Clockwise }; -enum class Blend : int { InverseSourceAlpha, SourceAlpha, One, BlendFactor }; +enum class Blend : int { InverseSourceAlpha, SourceAlpha, One }; enum class BlendOperation : int { Add, ReverseSubtract }; enum class FillMode : int { Solid, Wireframe }; enum class TextureAddress : int { Wrap, Clamp }; -- GitLab