1 package com.irtimaled.bbor.client.renderers;
3 import com.irtimaled.bbor.client.config.BoundingBoxTypeHelper;
4 import com.irtimaled.bbor.client.config.ConfigManager;
5 import com.irtimaled.bbor.client.models.BoundingBoxLine;
6 import org.lwjgl.opengl.GL11;
9 import java.util.Arrays;
11 public class LineRenderer extends AbstractRenderer<BoundingBoxLine> {
13 public void render(BoundingBoxLine boundingBox) {
14 Color color = BoundingBoxTypeHelper.getColor(boundingBox.getType());
16 if (boundingBox.getWidth() == 0) {
17 OffsetPoint startPoint = new OffsetPoint(boundingBox.getMinPoint()).offset(0, 0.001f, 0);
18 OffsetPoint endPoint = new OffsetPoint(boundingBox.getMaxPoint()).offset(0, 0.001f, 0);
19 renderLine(startPoint, endPoint, color);
23 OffsetPoint[] cornerPoints = Arrays.stream(boundingBox.getCorners()).
24 map(point -> new OffsetPoint(point).offset(0,0.001f, 0)).
25 toArray(OffsetPoint[]::new);
27 GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE);
30 .addPoints(cornerPoints)
33 if(!ConfigManager.fill.get()) return;
35 GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL);
36 GL11.glEnable(GL11.GL_BLEND);
40 .addPoints(cornerPoints)
42 GL11.glDisable(GL11.GL_BLEND);
43 GL11.glEnable(GL11.GL_POLYGON_OFFSET_LINE);
44 GL11.glPolygonOffset(-1.f, -1.f);