Skip to content

Commit db4f817

Browse files
committed
Added face methods in BoxBuilder
1 parent 30feddb commit db4f817

1 file changed

Lines changed: 48 additions & 29 deletions

File tree

src/main/java/dev/latvian/mods/kmath/render/BoxBuilder.java

Lines changed: 48 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,36 +3,55 @@
33
import dev.latvian.mods.kmath.vertex.VertexCallback;
44

55
public interface BoxBuilder {
6+
static void downQuads(float y, float minX, float minZ, float maxX, float maxZ, VertexCallback callback) {
7+
callback.acceptPos(minX, y, minZ).acceptTex(0F, 0F).acceptNormal(0F, -1F, 0F);
8+
callback.acceptPos(maxX, y, minZ).acceptTex(1F, 0F).acceptNormal(0F, -1F, 0F);
9+
callback.acceptPos(maxX, y, maxZ).acceptTex(1F, 1F).acceptNormal(0F, -1F, 0F);
10+
callback.acceptPos(minX, y, maxZ).acceptTex(0F, 1F).acceptNormal(0F, -1F, 0F);
11+
}
12+
13+
static void upQuads(float y, float minX, float minZ, float maxX, float maxZ, VertexCallback callback) {
14+
callback.acceptPos(minX, y, minZ).acceptTex(0F, 0F).acceptNormal(0F, 1F, 0F);
15+
callback.acceptPos(minX, y, maxZ).acceptTex(0F, 1F).acceptNormal(0F, 1F, 0F);
16+
callback.acceptPos(maxX, y, maxZ).acceptTex(1F, 1F).acceptNormal(0F, 1F, 0F);
17+
callback.acceptPos(maxX, y, minZ).acceptTex(1F, 0F).acceptNormal(0F, 1F, 0F);
18+
}
19+
20+
static void northQuads(float z, float minX, float minY, float maxX, float maxY, VertexCallback callback) {
21+
callback.acceptPos(minX, minY, z).acceptTex(1F, 1F).acceptNormal(0F, 0F, -1F);
22+
callback.acceptPos(minX, maxY, z).acceptTex(1F, 0F).acceptNormal(0F, 0F, -1F);
23+
callback.acceptPos(maxX, maxY, z).acceptTex(0F, 0F).acceptNormal(0F, 0F, -1F);
24+
callback.acceptPos(maxX, minY, z).acceptTex(0F, 1F).acceptNormal(0F, 0F, -1F);
25+
}
26+
27+
static void southQuads(float z, float minX, float minY, float maxX, float maxY, VertexCallback callback) {
28+
callback.acceptPos(maxX, minY, z).acceptTex(1F, 1F).acceptNormal(0F, 0F, 1F);
29+
callback.acceptPos(maxX, maxY, z).acceptTex(1F, 0F).acceptNormal(0F, 0F, 1F);
30+
callback.acceptPos(minX, maxY, z).acceptTex(0F, 0F).acceptNormal(0F, 0F, 1F);
31+
callback.acceptPos(minX, minY, z).acceptTex(0F, 1F).acceptNormal(0F, 0F, 1F);
32+
}
33+
34+
static void westQuads(float x, float minY, float minZ, float maxY, float maxZ, VertexCallback callback) {
35+
callback.acceptPos(x, minY, minZ).acceptTex(0F, 1F).acceptNormal(-1F, 0F, 0F);
36+
callback.acceptPos(x, minY, maxZ).acceptTex(1F, 1F).acceptNormal(-1F, 0F, 0F);
37+
callback.acceptPos(x, maxY, maxZ).acceptTex(1F, 0F).acceptNormal(-1F, 0F, 0F);
38+
callback.acceptPos(x, maxY, minZ).acceptTex(0F, 0F).acceptNormal(-1F, 0F, 0F);
39+
}
40+
41+
static void eastQuads(float x, float minY, float minZ, float maxY, float maxZ, VertexCallback callback) {
42+
callback.acceptPos(x, maxY, minZ).acceptTex(1F, 0F).acceptNormal(1F, 0F, 0F);
43+
callback.acceptPos(x, maxY, maxZ).acceptTex(0F, 0F).acceptNormal(1F, 0F, 0F);
44+
callback.acceptPos(x, minY, maxZ).acceptTex(0F, 1F).acceptNormal(1F, 0F, 0F);
45+
callback.acceptPos(x, minY, minZ).acceptTex(1F, 1F).acceptNormal(1F, 0F, 0F);
46+
}
47+
648
static void quads(float minX, float minY, float minZ, float maxX, float maxY, float maxZ, VertexCallback callback) {
7-
callback.acceptPos(minX, minY, minZ).acceptTex(0F, 0F).acceptNormal(0F, -1F, 0F);
8-
callback.acceptPos(maxX, minY, minZ).acceptTex(1F, 0F).acceptNormal(0F, -1F, 0F);
9-
callback.acceptPos(maxX, minY, maxZ).acceptTex(1F, 1F).acceptNormal(0F, -1F, 0F);
10-
callback.acceptPos(minX, minY, maxZ).acceptTex(0F, 1F).acceptNormal(0F, -1F, 0F);
11-
12-
callback.acceptPos(minX, maxY, minZ).acceptTex(0F, 0F).acceptNormal(0F, 1F, 0F);
13-
callback.acceptPos(minX, maxY, maxZ).acceptTex(0F, 1F).acceptNormal(0F, 1F, 0F);
14-
callback.acceptPos(maxX, maxY, maxZ).acceptTex(1F, 1F).acceptNormal(0F, 1F, 0F);
15-
callback.acceptPos(maxX, maxY, minZ).acceptTex(1F, 0F).acceptNormal(0F, 1F, 0F);
16-
17-
callback.acceptPos(minX, minY, minZ).acceptTex(1F, 1F).acceptNormal(0F, 0F, -1F);
18-
callback.acceptPos(minX, maxY, minZ).acceptTex(1F, 0F).acceptNormal(0F, 0F, -1F);
19-
callback.acceptPos(maxX, maxY, minZ).acceptTex(0F, 0F).acceptNormal(0F, 0F, -1F);
20-
callback.acceptPos(maxX, minY, minZ).acceptTex(0F, 1F).acceptNormal(0F, 0F, -1F);
21-
22-
callback.acceptPos(maxX, minY, maxZ).acceptTex(1F, 1F).acceptNormal(0F, 0F, 1F);
23-
callback.acceptPos(maxX, maxY, maxZ).acceptTex(1F, 0F).acceptNormal(0F, 0F, 1F);
24-
callback.acceptPos(minX, maxY, maxZ).acceptTex(0F, 0F).acceptNormal(0F, 0F, 1F);
25-
callback.acceptPos(minX, minY, maxZ).acceptTex(0F, 1F).acceptNormal(0F, 0F, 1F);
26-
27-
callback.acceptPos(minX, minY, minZ).acceptTex(0F, 1F).acceptNormal(-1F, 0F, 0F);
28-
callback.acceptPos(minX, minY, maxZ).acceptTex(1F, 1F).acceptNormal(-1F, 0F, 0F);
29-
callback.acceptPos(minX, maxY, maxZ).acceptTex(1F, 0F).acceptNormal(-1F, 0F, 0F);
30-
callback.acceptPos(minX, maxY, minZ).acceptTex(0F, 0F).acceptNormal(-1F, 0F, 0F);
31-
32-
callback.acceptPos(maxX, maxY, minZ).acceptTex(1F, 0F).acceptNormal(1F, 0F, 0F);
33-
callback.acceptPos(maxX, maxY, maxZ).acceptTex(0F, 0F).acceptNormal(1F, 0F, 0F);
34-
callback.acceptPos(maxX, minY, maxZ).acceptTex(0F, 1F).acceptNormal(1F, 0F, 0F);
35-
callback.acceptPos(maxX, minY, minZ).acceptTex(1F, 1F).acceptNormal(1F, 0F, 0F);
49+
downQuads(minY, minX, minZ, maxX, maxZ, callback);
50+
upQuads(maxY, minX, minZ, maxX, maxZ, callback);
51+
northQuads(minZ, minX, minY, maxX, maxY, callback);
52+
southQuads(maxZ, minX, minY, maxX, maxY, callback);
53+
westQuads(minX, minY, minZ, maxY, maxZ, callback);
54+
eastQuads(maxX, minY, minZ, maxY, maxZ, callback);
3655
}
3756

3857
static void lines(float minX, float minY, float minZ, float maxX, float maxY, float maxZ, VertexCallback callback) {

0 commit comments

Comments
 (0)