From 90c962accf3da48fef9369f3043417260e8a9c30 Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 4 Aug 2018 16:16:24 -0400 Subject: [PATCH] modelviewer: fix some incorrect gl usage, add error logging --- .../main/java/net/runelite/modelviewer/Camera.java | 2 -- .../java/net/runelite/modelviewer/ModelManager.java | 12 ++++++++++-- .../java/net/runelite/modelviewer/ModelViewer.java | 8 ++++++-- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/model-viewer/src/main/java/net/runelite/modelviewer/Camera.java b/model-viewer/src/main/java/net/runelite/modelviewer/Camera.java index 9cf5ba1de9..0d2f84c95a 100644 --- a/model-viewer/src/main/java/net/runelite/modelviewer/Camera.java +++ b/model-viewer/src/main/java/net/runelite/modelviewer/Camera.java @@ -51,8 +51,6 @@ public class Camera glRotatef(rotation.y, 0, 1, 0); glRotatef(rotation.z, 0, 0, 1); glTranslatef(-pos.x, -pos.y, -pos.z); - - GL11.glPopMatrix(); } public void acceptInput(float delta) diff --git a/model-viewer/src/main/java/net/runelite/modelviewer/ModelManager.java b/model-viewer/src/main/java/net/runelite/modelviewer/ModelManager.java index c14449b7a7..1baee1c81d 100644 --- a/model-viewer/src/main/java/net/runelite/modelviewer/ModelManager.java +++ b/model-viewer/src/main/java/net/runelite/modelviewer/ModelManager.java @@ -60,8 +60,16 @@ public class ModelManager public ModelDefinition getModel(int id, ObjectDefinition object, Location location) { - int type = location.getType(); - int rot = location.getOrientation(); + final int type, rot; + if (location != null) + { + type = location.getType(); + rot = location.getOrientation(); + } + else + { + type = rot = 0; + } return this.getModel(new ModelKey(id, object.getId(), type, rot), md -> { // this logic is from method3697 in 140 diff --git a/model-viewer/src/main/java/net/runelite/modelviewer/ModelViewer.java b/model-viewer/src/main/java/net/runelite/modelviewer/ModelViewer.java index b338414c7d..d9bad0e792 100644 --- a/model-viewer/src/main/java/net/runelite/modelviewer/ModelViewer.java +++ b/model-viewer/src/main/java/net/runelite/modelviewer/ModelViewer.java @@ -89,6 +89,9 @@ import static org.lwjgl.opengl.GL11.GL_TEXTURE_WRAP_S; import static org.lwjgl.opengl.GL11.GL_TEXTURE_WRAP_T; import static org.lwjgl.opengl.GL11.glTexParameteri; import static org.lwjgl.opengl.GL12.GL_CLAMP_TO_EDGE; +import static org.lwjgl.opengl.GL43.GL_DEBUG_OUTPUT; +import static org.lwjgl.opengl.GL43.glDebugMessageCallback; +import org.lwjgl.opengl.KHRDebugCallback; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -279,7 +282,9 @@ public class ModelViewer double far = 10000; double fov = 1; // 1 gives you a 90° field of view. It's tan(fov_angle)/2. GL11.glFrustum(-aspect * near * fov, aspect * near * fov, -fov, fov, near, far); - GL11.glPopMatrix(); + + GL11.glEnable(GL_DEBUG_OUTPUT); + glDebugMessageCallback(new KHRDebugCallback()); GL11.glEnable(GL11.GL_DEPTH_TEST); @@ -783,7 +788,6 @@ public class ModelViewer -height, (regionY * TILE_SCALE) + ((length * TILE_SCALE) / 2) ); - GL11.glPopMatrix(); } }