]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blobdiff - src/main/java/com/irtimaled/bbor/client/renderers/LineRenderer.java
General performance improvements and serverside fixes
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / client / renderers / LineRenderer.java
index 42aa39e2257f7a87f9bdfc3273d6b55d8228cdc7..06c4270315542be098999c0f2b87e183fbe4726f 100644 (file)
@@ -3,44 +3,40 @@ package com.irtimaled.bbor.client.renderers;
 import com.irtimaled.bbor.client.config.BoundingBoxTypeHelper;
 import com.irtimaled.bbor.client.config.ConfigManager;
 import com.irtimaled.bbor.client.models.BoundingBoxLine;
-import org.lwjgl.opengl.GL11;
+import net.minecraft.client.util.math.MatrixStack;
 
 import java.awt.*;
 import java.util.Arrays;
 
 public class LineRenderer extends AbstractRenderer<BoundingBoxLine> {
     @Override
-    public void render(BoundingBoxLine boundingBox) {
+    public void render(MatrixStack matrixStack, BoundingBoxLine boundingBox) {
         Color color = BoundingBoxTypeHelper.getColor(boundingBox.getType());
 
         if (boundingBox.getWidth() == 0) {
             OffsetPoint startPoint = new OffsetPoint(boundingBox.getMinPoint()).offset(0, 0.001f, 0);
             OffsetPoint endPoint = new OffsetPoint(boundingBox.getMaxPoint()).offset(0, 0.001f, 0);
-            renderLine(startPoint, endPoint, color);
+            renderLine(matrixStack, startPoint, endPoint, color, false);
             return;
         }
 
         OffsetPoint[] cornerPoints = Arrays.stream(boundingBox.getCorners()).
-                map(point -> new OffsetPoint(point).offset(0,0.001f, 0)).
+                map(point -> new OffsetPoint(point).offset(0, 0.001f, 0)).
                 toArray(OffsetPoint[]::new);
 
-        GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE);
+        RenderHelper.polygonModeLine();
         Renderer.startQuads()
+                .setMatrixStack(matrixStack)
                 .setColor(color)
                 .addPoints(cornerPoints)
                 .render();
 
-        if(!ConfigManager.fill.get()) return;
-
-        GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL);
-        GL11.glEnable(GL11.GL_BLEND);
-        Renderer.startQuads()
+        if (!ConfigManager.fill.get()) return;
+        RenderQueue.deferRendering(() -> Renderer.startQuads()
+                .setMatrixStack(matrixStack)
                 .setColor(color)
                 .setAlpha(30)
                 .addPoints(cornerPoints)
-                .render();
-        GL11.glDisable(GL11.GL_BLEND);
-        GL11.glEnable(GL11.GL_POLYGON_OFFSET_LINE);
-        GL11.glPolygonOffset(-1.f, -1.f);
+                .render());
     }
 }