From bafbbf225e35e2b7191bf1edeec2fe5791f4c693 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Mon, 16 Oct 2023 21:33:38 -0500 Subject: [PATCH] Fix transparent LODs overwriting opaque LOD alpha values --- .../core/render/renderer/LodRenderer.java | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/LodRenderer.java b/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/LodRenderer.java index 31b1b76d2..71dd7b7c2 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/LodRenderer.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/LodRenderer.java @@ -405,7 +405,8 @@ public class LodRenderer profiler.popPush("LOD Transparent"); GL32.glEnable(GL32.GL_BLEND); - GL32.glBlendFunc(GL32.GL_SRC_ALPHA, GL32.GL_ONE_MINUS_SRC_ALPHA); + GL32.glBlendEquation(GL32.GL_FUNC_ADD); + GL32.glBlendFunc(GL32.GL_ONE, GL32.GL_ONE_MINUS_SRC_ALPHA); this.bufferHandler.renderTransparent(this); GL32.glDepthMask(true); // Apparently the depth mask state is stored in the FBO, so glState fails to restore it... @@ -421,15 +422,6 @@ public class LodRenderer DhApplyShader.INSTANCE.render(partialTicks); GL32.glBindFramebuffer(GL32.GL_FRAMEBUFFER, LodRenderer.getActiveFramebufferId()); - //GL32.glBindFramebuffer(GL32.GL_READ_FRAMEBUFFER, LodRenderer.getActiveFramebufferId()); - //GL32.glBindFramebuffer(GL32.GL_DRAW_FRAMEBUFFER, MC_RENDER.getTargetFrameBuffer()); - //GL32.glBlitFramebuffer(0, 0, MC_RENDER.getTargetFrameBufferViewportWidth(), MC_RENDER.getTargetFrameBufferViewportHeight(), - // 0, 0, MC_RENDER.getTargetFrameBufferViewportWidth(), MC_RENDER.getTargetFrameBufferViewportHeight(), - // GL32.GL_COLOR_BUFFER_BIT, - // GL32.GL_NEAREST); - // - //GL32.glBindFramebuffer(GL32.GL_FRAMEBUFFER, this.framebufferId); -