From cd20fb1e345f0661af0b9e9b3bb242c04ba8cf18 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Tue, 13 Feb 2024 07:53:01 -0600 Subject: [PATCH] Temp fix for near clip plane going too far in some cases --- .../core/render/renderer/LodRenderProgram.java | 4 ++++ .../com/seibel/distanthorizons/core/util/RenderUtil.java | 6 ------ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/LodRenderProgram.java b/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/LodRenderProgram.java index 255653c6a..d044b149d 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/LodRenderProgram.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/LodRenderProgram.java @@ -187,6 +187,10 @@ public class LodRenderProgram extends ShaderProgram implements IDhApiShaderProgr // Clip Uniform float dhNearClipDistance = RenderUtil.getNearClipPlaneDistanceInBlocks(renderParameters.partialTicks); + // TODO a different multiplier might be necessary + // this is to try and allow the fragment culling to go farther than the near clip plane. + // Currently this only works for certain FOV/screen ratio combos. + dhNearClipDistance *= 2.0f; setUniform(clipDistanceUniform, dhNearClipDistance); } diff --git a/core/src/main/java/com/seibel/distanthorizons/core/util/RenderUtil.java b/core/src/main/java/com/seibel/distanthorizons/core/util/RenderUtil.java index 4f4352643..0177d327c 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/util/RenderUtil.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/util/RenderUtil.java @@ -186,13 +186,7 @@ public class RenderUtil public static float getNearClipPlaneDistanceInBlocks(float partialTicks) { int chunkRenderDistance = MC_RENDER.getRenderDistance(); - if (chunkRenderDistance % 2 == 0) - { - chunkRenderDistance += 1; - } - int vanillaBlockRenderedDistance = chunkRenderDistance * LodUtil.CHUNK_WIDTH; - vanillaBlockRenderedDistance *= 2; float nearClipPlane; if (Config.Client.Advanced.Debugging.lodOnlyMode.get())