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:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user