diff --git a/core/src/main/java/com/seibel/distanthorizons/core/render/LodRenderSection.java b/core/src/main/java/com/seibel/distanthorizons/core/render/LodRenderSection.java index 1b87956f0..a150293e3 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/render/LodRenderSection.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/render/LodRenderSection.java @@ -137,9 +137,16 @@ public class LodRenderSection implements IDebugRenderable, AutoCloseable adjacentRenderSections = this.getAndCreateNeighborRenderSources(); + ColumnRenderBuffer previousBuffer = this.renderBuffer; + CompletableFuture uploadFuture = ColumnRenderBufferBuilder.buildAndUploadBuffersAsync(this.level, renderSource, adjacentRenderSections); this.renderBuffer = uploadFuture.join(); + if (previousBuffer != null) + { + previousBuffer.close(); + } + this.canRender = true; } catch (Exception e) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/render/RenderBufferHandler.java b/core/src/main/java/com/seibel/distanthorizons/core/render/RenderBufferHandler.java index cb2af1437..6c8efc3ed 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/render/RenderBufferHandler.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/render/RenderBufferHandler.java @@ -340,7 +340,7 @@ public class RenderBufferHandler implements AutoCloseable } ColumnRenderBuffer buffer = renderSection.renderBuffer; - if (buffer == null) + if (buffer == null || !renderSection.renderingEnabled) { continue; }