From 117bfb7f313ef03cac10838c8a00acaae0984290 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sat, 28 Oct 2023 10:13:12 -0500 Subject: [PATCH] Add commented out LodRenderer VBO validation --- .../core/render/renderer/LodRenderer.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) 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 3c533298a..a6650fcbd 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 @@ -107,11 +107,21 @@ public class LodRenderer public void drawVbo(GLVertexBuffer vbo) { - vbo.bind(); - this.shaderProgram.bindVertexBuffer(vbo.getId()); - GL32.glDrawElements(GL32.GL_TRIANGLES, (vbo.getVertexCount() / 4) * 6, // TODO what does the 4 and 6 here represent? - this.quadIBO.getType(), 0); - vbo.unbind(); + //// can be uncommented to add additional debug validation to prevent crashes if invalid buffers are being created + //// shouldn't be used in production due to the performance hit + //if (GL32.glIsBuffer(vbo.getId())) + { + vbo.bind(); + this.shaderProgram.bindVertexBuffer(vbo.getId()); + GL32.glDrawElements(GL32.GL_TRIANGLES, (vbo.getVertexCount() / 4) * 6, // TODO what does the 4 and 6 here represent? + this.quadIBO.getType(), 0); + vbo.unbind(); + } + //else + //{ + // // will spam the log if uncommented, but helpful for validation + // //LOGGER.warn("Unable to draw VBO: "+vbo.getId()); + //} } public Vec3f getLookVector() { return MC_RENDER.getLookAtVector(); }