Fix debug wireframes not rendering

This commit is contained in:
James Seibel
2026-03-10 19:06:02 -05:00
parent d75b65e6e7
commit 31b6d2dd05
8 changed files with 21 additions and 13 deletions
@@ -391,7 +391,7 @@ public class FullDataUpdatePropagatorV2 implements IDebugRenderable, AutoCloseab
public void debugRender(AbstractDebugWireframeRenderer renderer) public void debugRender(AbstractDebugWireframeRenderer renderer)
{ {
this.updatingPosSet 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 @Override
@@ -228,10 +228,10 @@ public class FullDataUpdaterV2 implements IDebugRenderable, AutoCloseable
public void debugRender(AbstractDebugWireframeRenderer renderer) public void debugRender(AbstractDebugWireframeRenderer renderer)
{ {
this.lockedPosSet 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 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 @Override
@@ -638,7 +638,7 @@ public class WorldGenerationQueue implements IFullDataSourceRetrievalQueue, IDeb
// blue - queued // blue - queued
this.waitingTasks.keySet().forEach((Long pos) -> this.waitingTasks.keySet().forEach((Long pos) ->
{ {
renderer.render( renderer.renderBox(
new AbstractDebugWireframeRenderer.Box(pos, levelMinY, maxY, 0.05f, Color.blue) new AbstractDebugWireframeRenderer.Box(pos, levelMinY, maxY, 0.05f, Color.blue)
); );
}); });
@@ -646,7 +646,7 @@ public class WorldGenerationQueue implements IFullDataSourceRetrievalQueue, IDeb
// red - in progress // red - in progress
this.inProgressGenTasksByLodPos.forEach((Long pos, DataSourceRetrievalTask task) -> this.inProgressGenTasksByLodPos.forEach((Long pos, DataSourceRetrievalTask task) ->
{ {
renderer.render( renderer.renderBox(
new AbstractDebugWireframeRenderer.Box(pos, levelMinY, maxY, 0.05f, Color.red) new AbstractDebugWireframeRenderer.Box(pos, levelMinY, maxY, 0.05f, Color.red)
); );
}); });
@@ -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));
} }
} }
@@ -1016,7 +1016,7 @@ public class LodQuadTree extends QuadTree<LodRenderSection> implements IDebugRen
int levelHeightRange = (levelMaxY - levelMinY); int levelHeightRange = (levelMaxY - levelMinY);
int maxY = levelMaxY - (levelHeightRange / 2); 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));
} }
} }
@@ -532,7 +532,7 @@ public class LodRenderSection implements IDebugRenderable, AutoCloseable
int levelHeightRange = (levelMaxY - levelMinY); int levelHeightRange = (levelMaxY - levelMinY);
int maxY = levelMaxY - (levelHeightRange / 2); 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 @Override
@@ -45,7 +45,7 @@ public abstract class AbstractDebugWireframeRenderer implements IBindable
//===========// //===========//
//region //region
public void renderPass(RenderParams renderParams) public void render(RenderParams renderParams)
{ {
this.dhMvmProjMatrixThisFrame = new Mat4f(renderParams.dhMvmProjMatrix); this.dhMvmProjMatrixThisFrame = new Mat4f(renderParams.dhMvmProjMatrix);
Vec3d camPos = MC_RENDER.getCameraExactPosition(); Vec3d camPos = MC_RENDER.getCameraExactPosition();
@@ -55,7 +55,7 @@ public abstract class AbstractDebugWireframeRenderer implements IBindable
this.rendererLists.render(this); this.rendererLists.render(this);
// particle rendering // particle cleanup
BoxParticle head = null; BoxParticle head = null;
while ((head = this.particles.poll()) != null && head.isDead()) while ((head = this.particles.poll()) != null && head.isDead())
{ /* remove dead particles */ } { /* remove dead particles */ }
@@ -64,9 +64,18 @@ public abstract class AbstractDebugWireframeRenderer implements IBindable
// re-add the popped off head // re-add the popped off head
this.particles.add(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 //endregion
@@ -29,7 +29,6 @@ import com.seibel.distanthorizons.core.logging.DhLoggerBuilder;
import com.seibel.distanthorizons.core.render.DhApiRenderProxy; import com.seibel.distanthorizons.core.render.DhApiRenderProxy;
import com.seibel.distanthorizons.core.render.RenderBufferHandler; import com.seibel.distanthorizons.core.render.RenderBufferHandler;
import com.seibel.distanthorizons.core.render.RenderParams; 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.util.objects.SortedArraySet;
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IProfilerWrapper; import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IProfilerWrapper;
@@ -262,7 +261,7 @@ public class LodRenderer
profiler.popPush("Debug wireframes"); profiler.popPush("Debug wireframes");
// Note: this can be very slow if a lot of boxes are being rendered // Note: this can be very slow if a lot of boxes are being rendered
this.debugWireframeRenderer.renderPass(renderParams); this.debugWireframeRenderer.render(renderParams);
} }