diff --git a/core/src/main/java/com/seibel/distanthorizons/core/render/LodQuadTree.java b/core/src/main/java/com/seibel/distanthorizons/core/render/LodQuadTree.java index 8fff11828..3bbeda893 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/render/LodQuadTree.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/render/LodQuadTree.java @@ -512,12 +512,8 @@ public class LodQuadTree extends QuadTree implements IDebugRen QuadNode quadNode = nodeIterator.next(); if (quadNode.value != null) { - if (quadNode.value.renderingEnabled) - { - quadNode.value.cancelGpuUpload(); - quadNode.value.uploadRenderDataToGpuAsync(); - } - + quadNode.value.close(); + quadNode.value = null; } } 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 bfb93eccf..6946365ab 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 @@ -313,9 +313,12 @@ public class LodRenderSection implements IDebugRenderable, AutoCloseable public void cancelGpuUpload() { CompletableFuture future = this.uploadRenderDataToGpuFuture; + this.uploadRenderDataToGpuFuture = null; if (future != null) { - future.cancel(true); + // interrupting the future speeds things up, but also causes + // some LODs to never load in properly + future.cancel(false); } }