From e2a7928de943cd13dcea438f2c39143d750a044d Mon Sep 17 00:00:00 2001 From: Waterpicker Date: Wed, 29 Apr 2020 22:01:27 -0500 Subject: [PATCH] Push various rendering attempts and limbo gen. --- .../DetachedRiftBlockEntityRenderer.java | 45 ++++++------------- 1 file changed, 13 insertions(+), 32 deletions(-) diff --git a/src/main/java/org/dimdev/dimdoors/client/DetachedRiftBlockEntityRenderer.java b/src/main/java/org/dimdev/dimdoors/client/DetachedRiftBlockEntityRenderer.java index c1ad1772..c254be49 100644 --- a/src/main/java/org/dimdev/dimdoors/client/DetachedRiftBlockEntityRenderer.java +++ b/src/main/java/org/dimdev/dimdoors/client/DetachedRiftBlockEntityRenderer.java @@ -20,7 +20,7 @@ import org.lwjgl.opengl.GL11; @Environment(EnvType.CLIENT) public class DetachedRiftBlockEntityRenderer extends BlockEntityRenderer { - private static final Identifier tesseract_path = new Identifier("dimdoors:textures/other/tesseract.png"); + public static final Identifier tesseract_path = new Identifier("dimdoors:textures/other/tesseract.png"); private static final Tesseract tesseract = new Tesseract(); private static final LSystem.PolygonInfo CURVE = LSystem.curves.get(0); @@ -33,56 +33,37 @@ public class DetachedRiftBlockEntityRenderer extends BlockEntityRenderer= 0) { - renderTesseract(vcs.getBuffer(RenderLayer.getTranslucent()), rift, tickDelta); + renderTesseract(vcs.getBuffer(RenderLayer.getTranslucent()), rift, matrices, tickDelta); } } - renderCrack(vcs.getBuffer(RenderLayer.getTranslucent()), rift); + renderCrack(vcs.getBuffer(MyRenderLayer.CRACK), matrices, rift); } - private void renderCrack(VertexConsumer vc, DetachedRiftBlockEntity rift) { - GL11.glPushMatrix(); - - // Make the rift render on both sides, disable texture mapping and lighting - RenderSystem.disableLighting(); - RenderSystem.disableCull(); - RenderSystem.disableTexture(); - RenderSystem.enableBlend(); - - RenderSystem.translated(0.5, 0.5, 0.5); + private void renderCrack(VertexConsumer vc, MatrixStack matricees, DetachedRiftBlockEntity rift) { + matricees.push(); + matricees.translate(0.5, 0.5, 0.5); RiftCrackRenderer.drawCrack(vc, 0, CURVE, ModConfig.GRAPHICS.riftSize * rift.size, 0xF1234568L * rift.getPos().hashCode()); - - RenderSystem.disableBlend(); - RenderSystem.enableTexture(); - RenderSystem.enableCull(); - RenderSystem.enableLighting(); - - GL11.glPopMatrix(); + matricees.pop(); } - private void renderTesseract(VertexConsumer vc, DetachedRiftBlockEntity rift, float tickDelta) { + private void renderTesseract(VertexConsumer vc, DetachedRiftBlockEntity rift, MatrixStack matrices, float tickDelta) { double radian = nextAngle(rift, tickDelta) * TrigMath.DEG_TO_RAD; float[] color = rift.getColor(); if (color == null) color = new float[]{1, 0.5f, 1, 1}; - RenderSystem.disableLighting(); - RenderSystem.pushMatrix(); - RenderSystem.disableCull(); + matrices.push(); - MinecraftClient.getInstance().getTextureManager().bindTexture(tesseract_path); - - RenderSystem.translated(0.5, 0.5, 0.5); - RenderSystem.scaled(0.25, 0.25, 0.25); + matrices.translate(0.5, 0.5, 0.5); + matrices.scale(0.25f, 0.25f, 0.25f); tesseract.draw(vc, color, radian); - RenderSystem.enableCull(); - RenderSystem.popMatrix(); - RenderSystem.enableLighting(); + matrices.pop(); } private double nextAngle(DetachedRiftBlockEntity rift, float partialTicks) {