diff --git a/src/main/java/com/seibel/lod/core/builders/bufferBuilding/CubicLodTemplate.java b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/CubicLodTemplate.java index a12229f84..76730bc06 100644 --- a/src/main/java/com/seibel/lod/core/builders/bufferBuilding/CubicLodTemplate.java +++ b/src/main/java/com/seibel/lod/core/builders/bufferBuilding/CubicLodTemplate.java @@ -54,7 +54,12 @@ public class CubicLodTemplate int color; if (debugging != DebugMode.OFF) - color = LodUtil.DEBUG_DETAIL_LEVEL_COLORS[detailLevel].getRGB(); + { + if (debugging == DebugMode.SHOW_DETAIL || debugging == DebugMode.SHOW_DETAIL_WIREFRAME) + color = LodUtil.DEBUG_DETAIL_LEVEL_COLORS[detailLevel].getRGB(); + else ///if (debugging == DebugMode.SHOW_GENMODE || debugging == DebugMode.SHOW_GENMODE_WIREFRAME) + color = LodUtil.DEBUG_DETAIL_LEVEL_COLORS[DataPointUtil.getGenerationMode(data)].getRGB(); + } else color = DataPointUtil.getColor(data); diff --git a/src/main/java/com/seibel/lod/core/enums/rendering/DebugMode.java b/src/main/java/com/seibel/lod/core/enums/rendering/DebugMode.java index cdc02fa1f..90baabd48 100644 --- a/src/main/java/com/seibel/lod/core/enums/rendering/DebugMode.java +++ b/src/main/java/com/seibel/lod/core/enums/rendering/DebugMode.java @@ -34,7 +34,13 @@ public enum DebugMode SHOW_DETAIL, /** LOD colors are based on their detail, and draws in wireframe. */ - SHOW_DETAIL_WIREFRAME; + SHOW_DETAIL_WIREFRAME, + + /** LOD colors are based on their gen mode. */ + SHOW_GENMODE, + + /** LOD colors are based on their gen mode, and draws in wireframe. */ + SHOW_GENMODE_WIREFRAME; /** used when cycling through the different modes */ private DebugMode next; @@ -43,7 +49,9 @@ public enum DebugMode { OFF.next = SHOW_DETAIL; SHOW_DETAIL.next = SHOW_DETAIL_WIREFRAME; - SHOW_DETAIL_WIREFRAME.next = OFF; + SHOW_DETAIL_WIREFRAME.next = SHOW_GENMODE; + SHOW_GENMODE.next = SHOW_GENMODE_WIREFRAME; + SHOW_GENMODE_WIREFRAME.next = OFF; } /** returns the next debug mode */ diff --git a/src/main/java/com/seibel/lod/core/render/LodRenderer.java b/src/main/java/com/seibel/lod/core/render/LodRenderer.java index 6e5957922..47d6b0f22 100644 --- a/src/main/java/com/seibel/lod/core/render/LodRenderer.java +++ b/src/main/java/com/seibel/lod/core/render/LodRenderer.java @@ -245,7 +245,7 @@ public class LodRenderer GL32.glBindBuffer(GL32.GL_ARRAY_BUFFER, 0); // set the required open GL settings - if (CONFIG.client().advanced().debugging().getDebugMode() == DebugMode.SHOW_DETAIL_WIREFRAME) + if (CONFIG.client().advanced().debugging().getDebugMode() == DebugMode.SHOW_DETAIL_WIREFRAME || CONFIG.client().advanced().debugging().getDebugMode() == DebugMode.SHOW_GENMODE_WIREFRAME) GL32.glPolygonMode(GL32.GL_FRONT_AND_BACK, GL32.GL_LINE); else GL32.glPolygonMode(GL32.GL_FRONT_AND_BACK, GL32.GL_FILL);