1 package com.irtimaled.bbor.client.renderers;
3 import com.irtimaled.bbor.client.config.ConfigManager;
4 import com.irtimaled.bbor.client.models.BoundingBoxLine;
5 import org.lwjgl.opengl.GL11;
8 import java.util.Arrays;
10 public class LineRenderer extends AbstractRenderer<BoundingBoxLine> {
12 public void render(BoundingBoxLine boundingBox) {
13 Color color = boundingBox.getColor();
15 if (boundingBox.getWidth() == 0) {
16 OffsetPoint startPoint = new OffsetPoint(boundingBox.getMinPoint()).offset(0, 0.001f, 0);
17 OffsetPoint endPoint = new OffsetPoint(boundingBox.getMaxPoint()).offset(0, 0.001f, 0);
18 renderLine(startPoint, endPoint, color);
22 OffsetPoint[] cornerPoints = Arrays.stream(boundingBox.getCorners()).
23 map(point -> new OffsetPoint(point).offset(0,0.001f, 0)).
24 toArray(OffsetPoint[]::new);
26 GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE);
29 .addPoints(cornerPoints)
32 if(!ConfigManager.fill.get()) return;
34 GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL);
35 GL11.glEnable(GL11.GL_BLEND);
39 .addPoints(cornerPoints)
41 GL11.glDisable(GL11.GL_BLEND);
42 GL11.glEnable(GL11.GL_POLYGON_OFFSET_LINE);
43 GL11.glPolygonOffset(-1.f, -1.f);