Skip to content

Commit f0e3f81

Browse files
committed
sort 2d objects as well
1 parent c5763cf commit f0e3f81

2 files changed

Lines changed: 19 additions & 23 deletions

File tree

src/main/java/de/srendi/advancedperipherals/client/APRenderTypes.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class APRenderTypes {
1919
VertexFormat.Mode.TRIANGLE_FAN,
2020
1536,
2121
false,
22-
false,
22+
true,
2323
RenderType.CompositeState.builder()
2424
.setShaderState(RenderStateShard.POSITION_COLOR_SHADER)
2525
.setTransparencyState(RenderStateShard.TRANSLUCENT_TRANSPARENCY)
@@ -34,7 +34,7 @@ public class APRenderTypes {
3434
VertexFormat.Mode.TRIANGLE_STRIP,
3535
1536,
3636
false,
37-
false,
37+
true,
3838
RenderType.CompositeState.builder()
3939
.setShaderState(RenderStateShard.POSITION_COLOR_SHADER)
4040
.setTransparencyState(RenderStateShard.TRANSLUCENT_TRANSPARENCY)
@@ -49,7 +49,7 @@ public class APRenderTypes {
4949
VertexFormat.Mode.QUADS,
5050
1536,
5151
false,
52-
false,
52+
true,
5353
RenderType.CompositeState.builder()
5454
.setShaderState(RenderStateShard.POSITION_COLOR_SHADER)
5555
.setTransparencyState(RenderStateShard.TRANSLUCENT_TRANSPARENCY)

src/main/java/de/srendi/advancedperipherals/client/smartglasses/objects/twodim/LineRenderer.java

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -49,25 +49,25 @@ public void renderBatch(List<LineObject> objects, GuiGraphics gui, DeltaTracker
4949
// Normal, smooth lines
5050
if (!line.pixelated) {
5151
if (y1 == y2) {
52-
bufferBuilder.addVertex(matrix, x1, y1 - halfWidth, 0).setColor(red, green, blue, alpha);
53-
bufferBuilder.addVertex(matrix, x1, y1 + halfWidth, 0).setColor(red, green, blue, alpha);
54-
bufferBuilder.addVertex(matrix, x2, y1 + halfWidth, 0).setColor(red, green, blue, alpha);
55-
bufferBuilder.addVertex(matrix, x2, y1 - halfWidth, 0).setColor(red, green, blue, alpha);
52+
bufferBuilder.addVertex(matrix, x1, y1 - halfWidth, z).setColor(red, green, blue, alpha);
53+
bufferBuilder.addVertex(matrix, x1, y1 + halfWidth, z).setColor(red, green, blue, alpha);
54+
bufferBuilder.addVertex(matrix, x2, y1 + halfWidth, z).setColor(red, green, blue, alpha);
55+
bufferBuilder.addVertex(matrix, x2, y1 - halfWidth, z).setColor(red, green, blue, alpha);
5656
continue;
5757
}
5858
if (x1 == x2) {
59-
bufferBuilder.addVertex(matrix, x1 - halfWidth, y1, 0).setColor(red, green, blue, alpha);
60-
bufferBuilder.addVertex(matrix, x1 + halfWidth, y1, 0).setColor(red, green, blue, alpha);
61-
bufferBuilder.addVertex(matrix, x1 + halfWidth, y2, 0).setColor(red, green, blue, alpha);
62-
bufferBuilder.addVertex(matrix, x1 - halfWidth, y2, 0).setColor(red, green, blue, alpha);
59+
bufferBuilder.addVertex(matrix, x1 - halfWidth, y1, z).setColor(red, green, blue, alpha);
60+
bufferBuilder.addVertex(matrix, x1 + halfWidth, y1, z).setColor(red, green, blue, alpha);
61+
bufferBuilder.addVertex(matrix, x1 + halfWidth, y2, z).setColor(red, green, blue, alpha);
62+
bufferBuilder.addVertex(matrix, x1 - halfWidth, y2, z).setColor(red, green, blue, alpha);
6363
continue;
6464
}
6565
float l = (float) Math.sqrt(dx * dx + dy * dy);
6666
float rx = -dy / l * halfWidth, ry = dx / l * halfWidth;
67-
bufferBuilder.addVertex(matrix, x1 - rx, y1 - ry, 0).setColor(red, green, blue, alpha);
68-
bufferBuilder.addVertex(matrix, x1 + rx, y1 + ry, 0).setColor(red, green, blue, alpha);
69-
bufferBuilder.addVertex(matrix, x2 + rx, y2 + ry, 0).setColor(red, green, blue, alpha);
70-
bufferBuilder.addVertex(matrix, x2 - rx, y2 - ry, 0).setColor(red, green, blue, alpha);
67+
bufferBuilder.addVertex(matrix, x1 - rx, y1 - ry, z).setColor(red, green, blue, alpha);
68+
bufferBuilder.addVertex(matrix, x1 + rx, y1 + ry, z).setColor(red, green, blue, alpha);
69+
bufferBuilder.addVertex(matrix, x2 + rx, y2 + ry, z).setColor(red, green, blue, alpha);
70+
bufferBuilder.addVertex(matrix, x2 - rx, y2 - ry, z).setColor(red, green, blue, alpha);
7171
continue;
7272
}
7373

@@ -87,26 +87,22 @@ public void renderBatch(List<LineObject> objects, GuiGraphics gui, DeltaTracker
8787
// Calculate the exact point on the line
8888
float currentX = x1 + dx * t;
8989
float currentY = y1 + dy * t;
90-
float currentZ = z;
9190

9291
// Snap current point to the nearest pixel grid for consistent placement.
9392
// This is key for placing pixels at corners or full side of each other.
9493
currentX = Math.round(currentX / width) * width;
9594
currentY = Math.round(currentY / width) * width;
96-
currentZ = Math.round(currentZ / width) * width;
9795

9896
float pX1 = currentX;
9997
float pY1 = currentY;
100-
float pZ1 = currentZ;
10198

10299
float pX2 = currentX + width;
103100
float pY2 = currentY + width;
104-
float pZ2 = currentZ;
105101

106-
bufferBuilder.addVertex(matrix, pX1, pY2, pZ1).setColor(red, green, blue, alpha); // Bottom-left
107-
bufferBuilder.addVertex(matrix, pX2, pY2, pZ1).setColor(red, green, blue, alpha); // Bottom-right
108-
bufferBuilder.addVertex(matrix, pX2, pY1, pZ2).setColor(red, green, blue, alpha); // Top-right
109-
bufferBuilder.addVertex(matrix, pX1, pY1, pZ2).setColor(red, green, blue, alpha); // Top-left
102+
bufferBuilder.addVertex(matrix, pX1, pY2, z).setColor(red, green, blue, alpha); // Bottom-left
103+
bufferBuilder.addVertex(matrix, pX2, pY2, z).setColor(red, green, blue, alpha); // Bottom-right
104+
bufferBuilder.addVertex(matrix, pX2, pY1, z).setColor(red, green, blue, alpha); // Top-right
105+
bufferBuilder.addVertex(matrix, pX1, pY1, z).setColor(red, green, blue, alpha); // Top-left
110106
}
111107
}
112108
}

0 commit comments

Comments
 (0)