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.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();
}
}

View File

@@ -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<Keyframe<AdvancedPosition>> distanceSorted = new ArrayList<Keyframe<AdvancedPosition>>(keyframes);
Collections.sort(distanceSorted, distanceComparator);
GlStateManager.enableTexture2D();
GlStateManager.blendFunc(GL11.GL_DST_COLOR, GL11.GL_SRC_COLOR);
GlStateManager.disableDepth();
for(Keyframe<AdvancedPosition> 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<AdvancedPosition> 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();
}
}