From bb05e3648dd2deaf73255d36bb5fe688f2196a5a Mon Sep 17 00:00:00 2001 From: CrushedPixel Date: Sun, 12 Jul 2015 23:33:11 +0200 Subject: [PATCH] Cleaned up OpenGL calls in CustomObjectRenderer and PathPreviewRenderer and properly displays CustomImageObjects behind Path Preview Markers | https://trello.com/c/FaiMoTDK/ --- .../renderer/CustomObjectRenderer.java | 27 +++++++------------ .../renderer/PathPreviewRenderer.java | 25 ++++++----------- 2 files changed, 17 insertions(+), 35 deletions(-) diff --git a/src/main/java/eu/crushedpixel/replaymod/renderer/CustomObjectRenderer.java b/src/main/java/eu/crushedpixel/replaymod/renderer/CustomObjectRenderer.java index e66b63f8..f45b63db 100644 --- a/src/main/java/eu/crushedpixel/replaymod/renderer/CustomObjectRenderer.java +++ b/src/main/java/eu/crushedpixel/replaymod/renderer/CustomObjectRenderer.java @@ -33,18 +33,21 @@ public class CustomObjectRenderer { GlStateManager.pushAttrib(); GlStateManager.pushMatrix(); + GlStateManager.enableTexture2D(); GlStateManager.disableLighting(); - GlStateManager.enableBlend(); + //GlStateManager.disableAlpha(); + GlStateManager.enableAlpha(); + GlStateManager.enableDepth(); - GlStateManager.disableTexture2D(); + GlStateManager.disableDepth(); + GlStateManager.enableBlend(); + GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); for(CustomImageObject object : ReplayHandler.getCustomImageObjects()) { drawCustomImageObject(dX, dY, dZ, object); } - GlStateManager.enableTexture2D(); GlStateManager.enableLighting(); - GlStateManager.disableBlend(); GlStateManager.popAttrib(); GlStateManager.popMatrix(); @@ -58,12 +61,6 @@ public class CustomObjectRenderer { || resourceLocation == null) return; GlStateManager.pushMatrix(); - GlStateManager.enableTexture2D(); - GlStateManager.enableLighting(); - GlStateManager.disableLighting(); - GlStateManager.enableAlpha(); - - GlStateManager.disableBlend(); Tessellator tessellator = Tessellator.getInstance(); WorldRenderer renderer = tessellator.getWorldRenderer(); @@ -93,13 +90,10 @@ public class CustomObjectRenderer { GlStateManager.translate(x, y + 1.4, z); - GlStateManager.rotate((float)-objectOrientation.getX(), 0, 1, 0); - GlStateManager.rotate((float)objectOrientation.getY(), 0, 0, 1); + GlStateManager.rotate((float) -objectOrientation.getX(), 0, 1, 0); + GlStateManager.rotate((float) objectOrientation.getY(), 0, 0, 1); GlStateManager.rotate((float) objectOrientation.getZ(), 1, 0, 0); - GlStateManager.enableBlend(); - GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - float opacity = (float)transformation.getOpacity() / 100; GlStateManager.color(1, 1, 1, opacity); @@ -126,9 +120,6 @@ public class CustomObjectRenderer { tessellator.draw(); renderer.setTranslation(0, 0, 0); - GlStateManager.disableAlpha(); - GlStateManager.disableTexture2D(); - GlStateManager.enableLighting(); GlStateManager.popMatrix(); } } diff --git a/src/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java b/src/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java index 0d1056e3..113e1d4f 100644 --- a/src/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java +++ b/src/main/java/eu/crushedpixel/replaymod/renderer/PathPreviewRenderer.java @@ -45,9 +45,8 @@ public class PathPreviewRenderer { GlStateManager.pushMatrix(); GlStateManager.disableLighting(); - GlStateManager.enableBlend(); - GlStateManager.disableTexture2D(); + GlStateManager.enableBlend(); if(keyframes.size() > 1) { @@ -83,15 +82,19 @@ public class PathPreviewRenderer { List> distanceSorted = new ArrayList>(keyframes); Collections.sort(distanceSorted, distanceComparator); + GlStateManager.enableTexture2D(); + GlStateManager.blendFunc(GL11.GL_DST_COLOR, GL11.GL_SRC_COLOR); + GlStateManager.disableDepth(); for(Keyframe kf : distanceSorted) { drawPoint(doubleX, doubleY, doubleZ, kf); } - GlStateManager.enableTexture2D(); + GlStateManager.disableAlpha(); + GlStateManager.disableTexture2D(); + GlStateManager.disableBlend(); GlStateManager.enableLighting(); - GlStateManager.disableBlend(); GlStateManager.popAttrib(); GlStateManager.popMatrix(); } @@ -136,7 +139,7 @@ public class PathPreviewRenderer { renderer.startDrawing(1); - renderer.setColorRGBA_I(color, 50); + renderer.setColorRGBA_I(color, 255); renderer.addVertex(pos2.getX() - pos1.getX(), pos2.getY() - pos1.getY(), pos2.getZ() - pos1.getZ()); renderer.addVertex(0, 0, 0); @@ -147,12 +150,6 @@ public class PathPreviewRenderer { private void drawPoint(double playerX, double playerY, double playerZ, Keyframe kf) { GlStateManager.pushMatrix(); - GlStateManager.enableTexture2D(); - GlStateManager.enableLighting(); - GlStateManager.disableLighting(); - GlStateManager.enableAlpha(); - - GlStateManager.enableBlend(); Tessellator tessellator = Tessellator.getInstance(); WorldRenderer renderer = tessellator.getWorldRenderer(); @@ -175,8 +172,6 @@ public class PathPreviewRenderer { GlStateManager.rotate(-yaw, 0, 1, 0); GlStateManager.rotate(pitch, 1, 0, 0); - renderer.setColorRGBA_F(1, 1, 1, 0.5f); - renderer.startDrawingQuads(); float posX = 80/128f; @@ -205,10 +200,6 @@ public class PathPreviewRenderer { tessellator.draw(); renderer.setTranslation(0, 0, 0); - GlStateManager.disableAlpha(); - GlStateManager.disableTexture2D(); - GlStateManager.disableBlend(); - GlStateManager.enableLighting(); GlStateManager.popMatrix(); } }