Cleaned up OpenGL calls in CustomObjectRenderer and PathPreviewRenderer and properly displays CustomImageObjects behind Path Preview Markers | https://trello.com/c/FaiMoTDK/

This commit is contained in:
CrushedPixel
2015-07-12 23:33:11 +02:00
parent b4e72af48f
commit bb05e3648d
2 changed files with 17 additions and 35 deletions

View File

@@ -33,18 +33,21 @@ public class CustomObjectRenderer {
GlStateManager.pushAttrib(); GlStateManager.pushAttrib();
GlStateManager.pushMatrix(); GlStateManager.pushMatrix();
GlStateManager.enableTexture2D();
GlStateManager.disableLighting(); 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()) { for(CustomImageObject object : ReplayHandler.getCustomImageObjects()) {
drawCustomImageObject(dX, dY, dZ, object); drawCustomImageObject(dX, dY, dZ, object);
} }
GlStateManager.enableTexture2D();
GlStateManager.enableLighting(); GlStateManager.enableLighting();
GlStateManager.disableBlend(); GlStateManager.disableBlend();
GlStateManager.popAttrib(); GlStateManager.popAttrib();
GlStateManager.popMatrix(); GlStateManager.popMatrix();
@@ -58,12 +61,6 @@ public class CustomObjectRenderer {
|| resourceLocation == null) return; || resourceLocation == null) return;
GlStateManager.pushMatrix(); GlStateManager.pushMatrix();
GlStateManager.enableTexture2D();
GlStateManager.enableLighting();
GlStateManager.disableLighting();
GlStateManager.enableAlpha();
GlStateManager.disableBlend();
Tessellator tessellator = Tessellator.getInstance(); Tessellator tessellator = Tessellator.getInstance();
WorldRenderer renderer = tessellator.getWorldRenderer(); WorldRenderer renderer = tessellator.getWorldRenderer();
@@ -97,9 +94,6 @@ public class CustomObjectRenderer {
GlStateManager.rotate((float) objectOrientation.getY(), 0, 0, 1); GlStateManager.rotate((float) objectOrientation.getY(), 0, 0, 1);
GlStateManager.rotate((float) objectOrientation.getZ(), 1, 0, 0); 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; float opacity = (float)transformation.getOpacity() / 100;
GlStateManager.color(1, 1, 1, opacity); GlStateManager.color(1, 1, 1, opacity);
@@ -126,9 +120,6 @@ public class CustomObjectRenderer {
tessellator.draw(); tessellator.draw();
renderer.setTranslation(0, 0, 0); renderer.setTranslation(0, 0, 0);
GlStateManager.disableAlpha();
GlStateManager.disableTexture2D();
GlStateManager.enableLighting();
GlStateManager.popMatrix(); GlStateManager.popMatrix();
} }
} }

View File

@@ -45,9 +45,8 @@ public class PathPreviewRenderer {
GlStateManager.pushMatrix(); GlStateManager.pushMatrix();
GlStateManager.disableLighting(); GlStateManager.disableLighting();
GlStateManager.enableBlend();
GlStateManager.disableTexture2D(); GlStateManager.disableTexture2D();
GlStateManager.enableBlend();
if(keyframes.size() > 1) { if(keyframes.size() > 1) {
@@ -83,15 +82,19 @@ public class PathPreviewRenderer {
List<Keyframe<AdvancedPosition>> distanceSorted = new ArrayList<Keyframe<AdvancedPosition>>(keyframes); List<Keyframe<AdvancedPosition>> distanceSorted = new ArrayList<Keyframe<AdvancedPosition>>(keyframes);
Collections.sort(distanceSorted, distanceComparator); Collections.sort(distanceSorted, distanceComparator);
GlStateManager.enableTexture2D();
GlStateManager.blendFunc(GL11.GL_DST_COLOR, GL11.GL_SRC_COLOR);
GlStateManager.disableDepth();
for(Keyframe<AdvancedPosition> kf : distanceSorted) { for(Keyframe<AdvancedPosition> kf : distanceSorted) {
drawPoint(doubleX, doubleY, doubleZ, kf); drawPoint(doubleX, doubleY, doubleZ, kf);
} }
GlStateManager.enableTexture2D(); GlStateManager.disableAlpha();
GlStateManager.disableTexture2D();
GlStateManager.disableBlend();
GlStateManager.enableLighting(); GlStateManager.enableLighting();
GlStateManager.disableBlend();
GlStateManager.popAttrib(); GlStateManager.popAttrib();
GlStateManager.popMatrix(); GlStateManager.popMatrix();
} }
@@ -136,7 +139,7 @@ public class PathPreviewRenderer {
renderer.startDrawing(1); 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(pos2.getX() - pos1.getX(), pos2.getY() - pos1.getY(), pos2.getZ() - pos1.getZ());
renderer.addVertex(0, 0, 0); renderer.addVertex(0, 0, 0);
@@ -147,12 +150,6 @@ public class PathPreviewRenderer {
private void drawPoint(double playerX, double playerY, double playerZ, Keyframe<AdvancedPosition> kf) { private void drawPoint(double playerX, double playerY, double playerZ, Keyframe<AdvancedPosition> kf) {
GlStateManager.pushMatrix(); GlStateManager.pushMatrix();
GlStateManager.enableTexture2D();
GlStateManager.enableLighting();
GlStateManager.disableLighting();
GlStateManager.enableAlpha();
GlStateManager.enableBlend();
Tessellator tessellator = Tessellator.getInstance(); Tessellator tessellator = Tessellator.getInstance();
WorldRenderer renderer = tessellator.getWorldRenderer(); WorldRenderer renderer = tessellator.getWorldRenderer();
@@ -175,8 +172,6 @@ public class PathPreviewRenderer {
GlStateManager.rotate(-yaw, 0, 1, 0); GlStateManager.rotate(-yaw, 0, 1, 0);
GlStateManager.rotate(pitch, 1, 0, 0); GlStateManager.rotate(pitch, 1, 0, 0);
renderer.setColorRGBA_F(1, 1, 1, 0.5f);
renderer.startDrawingQuads(); renderer.startDrawingQuads();
float posX = 80/128f; float posX = 80/128f;
@@ -205,10 +200,6 @@ public class PathPreviewRenderer {
tessellator.draw(); tessellator.draw();
renderer.setTranslation(0, 0, 0); renderer.setTranslation(0, 0, 0);
GlStateManager.disableAlpha();
GlStateManager.disableTexture2D();
GlStateManager.disableBlend();
GlStateManager.enableLighting();
GlStateManager.popMatrix(); GlStateManager.popMatrix();
} }
} }