diff --git a/core/src/main/java/com/seibel/distanthorizons/core/file/fullDatafile/V2/FullDataUpdatePropagatorV2.java b/core/src/main/java/com/seibel/distanthorizons/core/file/fullDatafile/V2/FullDataUpdatePropagatorV2.java index 69b01734d..e3be23690 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/file/fullDatafile/V2/FullDataUpdatePropagatorV2.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/file/fullDatafile/V2/FullDataUpdatePropagatorV2.java @@ -391,7 +391,7 @@ public class FullDataUpdatePropagatorV2 implements IDebugRenderable, AutoCloseab public void debugRender(AbstractDebugWireframeRenderer renderer) { this.updatingPosSet - .forEach((pos) -> { renderer.render(new AbstractDebugWireframeRenderer.Box(pos, -32f, 80f, 0.20f, Color.MAGENTA)); }); + .forEach((pos) -> { renderer.renderBox(new AbstractDebugWireframeRenderer.Box(pos, -32f, 80f, 0.20f, Color.MAGENTA)); }); } @Override diff --git a/core/src/main/java/com/seibel/distanthorizons/core/file/fullDatafile/V2/FullDataUpdaterV2.java b/core/src/main/java/com/seibel/distanthorizons/core/file/fullDatafile/V2/FullDataUpdaterV2.java index 3e249d80f..75c0384d0 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/file/fullDatafile/V2/FullDataUpdaterV2.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/file/fullDatafile/V2/FullDataUpdaterV2.java @@ -228,10 +228,10 @@ public class FullDataUpdaterV2 implements IDebugRenderable, AutoCloseable public void debugRender(AbstractDebugWireframeRenderer renderer) { this.lockedPosSet - .forEach((pos) -> { renderer.render(new AbstractDebugWireframeRenderer.Box(pos, -32f, 74f, 0.15f, Color.PINK)); }); + .forEach((pos) -> { renderer.renderBox(new AbstractDebugWireframeRenderer.Box(pos, -32f, 74f, 0.15f, Color.PINK)); }); this.queuedUpdateCountsByPos - .forEach((pos, updateCountRef) -> { renderer.render(new AbstractDebugWireframeRenderer.Box(pos, -32f, 80f + (updateCountRef.get() * 16f), 0.20f, Color.WHITE)); }); + .forEach((pos, updateCountRef) -> { renderer.renderBox(new AbstractDebugWireframeRenderer.Box(pos, -32f, 80f + (updateCountRef.get() * 16f), 0.20f, Color.WHITE)); }); } @Override diff --git a/core/src/main/java/com/seibel/distanthorizons/core/generation/WorldGenerationQueue.java b/core/src/main/java/com/seibel/distanthorizons/core/generation/WorldGenerationQueue.java index a05af17f8..08326a210 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/generation/WorldGenerationQueue.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/generation/WorldGenerationQueue.java @@ -638,7 +638,7 @@ public class WorldGenerationQueue implements IFullDataSourceRetrievalQueue, IDeb // blue - queued this.waitingTasks.keySet().forEach((Long pos) -> { - renderer.render( + renderer.renderBox( new AbstractDebugWireframeRenderer.Box(pos, levelMinY, maxY, 0.05f, Color.blue) ); }); @@ -646,7 +646,7 @@ public class WorldGenerationQueue implements IFullDataSourceRetrievalQueue, IDeb // red - in progress this.inProgressGenTasksByLodPos.forEach((Long pos, DataSourceRetrievalTask task) -> { - renderer.render( + renderer.renderBox( new AbstractDebugWireframeRenderer.Box(pos, levelMinY, maxY, 0.05f, Color.red) ); }); diff --git a/core/src/main/java/com/seibel/distanthorizons/core/multiplayer/client/AbstractFullDataNetworkRequestQueue.java b/core/src/main/java/com/seibel/distanthorizons/core/multiplayer/client/AbstractFullDataNetworkRequestQueue.java index 6a76ace30..a85d28616 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/multiplayer/client/AbstractFullDataNetworkRequestQueue.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/multiplayer/client/AbstractFullDataNetworkRequestQueue.java @@ -426,7 +426,7 @@ public abstract class AbstractFullDataNetworkRequestQueue implements IDebugRende } } - renderer.render(new AbstractDebugWireframeRenderer.Box(pos, -32f, 64f, 0.05f, color)); + renderer.renderBox(new AbstractDebugWireframeRenderer.Box(pos, -32f, 64f, 0.05f, color)); } } diff --git a/core/src/main/java/com/seibel/distanthorizons/core/render/QuadTree/LodQuadTree.java b/core/src/main/java/com/seibel/distanthorizons/core/render/QuadTree/LodQuadTree.java index 44949cd20..663df4b57 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/render/QuadTree/LodQuadTree.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/render/QuadTree/LodQuadTree.java @@ -1016,7 +1016,7 @@ public class LodQuadTree extends QuadTree implements IDebugRen int levelHeightRange = (levelMaxY - levelMinY); int maxY = levelMaxY - (levelHeightRange / 2); - debugRenderer.render(new AbstractDebugWireframeRenderer.Box(renderSection.pos, levelMinY, maxY, 0.05f, color)); + debugRenderer.renderBox(new AbstractDebugWireframeRenderer.Box(renderSection.pos, levelMinY, maxY, 0.05f, color)); } } diff --git a/core/src/main/java/com/seibel/distanthorizons/core/render/QuadTree/LodRenderSection.java b/core/src/main/java/com/seibel/distanthorizons/core/render/QuadTree/LodRenderSection.java index 203291073..cf138c89d 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/render/QuadTree/LodRenderSection.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/render/QuadTree/LodRenderSection.java @@ -532,7 +532,7 @@ public class LodRenderSection implements IDebugRenderable, AutoCloseable int levelHeightRange = (levelMaxY - levelMinY); int maxY = levelMaxY - (levelHeightRange / 2); - debugRenderer.render(new AbstractDebugWireframeRenderer.Box(this.pos, levelMinY, maxY, 0.01f, color)); + debugRenderer.renderBox(new AbstractDebugWireframeRenderer.Box(this.pos, levelMinY, maxY, 0.01f, color)); } @Override diff --git a/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/AbstractDebugWireframeRenderer.java b/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/AbstractDebugWireframeRenderer.java index 8bd7aa51f..3604c050e 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/AbstractDebugWireframeRenderer.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/AbstractDebugWireframeRenderer.java @@ -45,7 +45,7 @@ public abstract class AbstractDebugWireframeRenderer implements IBindable //===========// //region - public void renderPass(RenderParams renderParams) + public void render(RenderParams renderParams) { this.dhMvmProjMatrixThisFrame = new Mat4f(renderParams.dhMvmProjMatrix); Vec3d camPos = MC_RENDER.getCameraExactPosition(); @@ -55,7 +55,7 @@ public abstract class AbstractDebugWireframeRenderer implements IBindable this.rendererLists.render(this); - // particle rendering + // particle cleanup BoxParticle head = null; while ((head = this.particles.poll()) != null && head.isDead()) { /* remove dead particles */ } @@ -64,9 +64,18 @@ public abstract class AbstractDebugWireframeRenderer implements IBindable // re-add the popped off head this.particles.add(head); } + + + // particle rendering + for (BoxParticle particle : this.particles) + { + // a new box is created each time since the height will be different based on the time it's lived + this.renderBox(particle.createNewRenderBox()); + } + } - public abstract void render(Box box); + public abstract void renderBox(Box box); //endregion 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 63c7e5675..44fb46f77 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 @@ -29,7 +29,6 @@ import com.seibel.distanthorizons.core.logging.DhLoggerBuilder; import com.seibel.distanthorizons.core.render.DhApiRenderProxy; import com.seibel.distanthorizons.core.render.RenderBufferHandler; import com.seibel.distanthorizons.core.render.RenderParams; -import com.seibel.distanthorizons.core.util.math.Mat4f; import com.seibel.distanthorizons.core.util.objects.SortedArraySet; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IProfilerWrapper; @@ -262,7 +261,7 @@ public class LodRenderer profiler.popPush("Debug wireframes"); // Note: this can be very slow if a lot of boxes are being rendered - this.debugWireframeRenderer.renderPass(renderParams); + this.debugWireframeRenderer.render(renderParams); }