Skip to content

Commit 9524b51

Browse files
committed
Current debug. I'm tired.
1 parent afaf30f commit 9524b51

4 files changed

Lines changed: 36 additions & 48 deletions

File tree

common/src/main/java/generations/gg/generations/core/generationscore/common/client/render/rarecandy/Pipelines.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,9 +153,13 @@ object Pipelines {
153153
@JvmStatic
154154
fun transformVertices(`object`: MultiRenderObject, instanceId: Int) {
155155
this.instanceId = instanceId
156+
System.out.println("Blep1")
156157
TRANSFORM.useProgram()
158+
System.out.println("Blep2")
157159
TRANSFORM.bindGlobal()
160+
System.out.println("Blep3")
158161
TRANSFORM.bindModel(`object`)
162+
System.out.println("Blep4")
159163
TRANSFORM.dispatch(
160164
GL43C.GL_SHADER_STORAGE_BARRIER_BIT,
161165
(`object`.maxVertex + 255) / 256,
@@ -172,7 +176,7 @@ object Pipelines {
172176
}
173177

174178
fun opengGl() {
175-
vao = RareCandyVertexArray(80)
179+
vao = RareCandyVertexArray()
176180
textures = Array(3) {
177181
BlankTexture(Type.RGBA_BYTE, 1024, 1024, ITexture.ComputeAccess.READ_WRITE)
178182
}
@@ -193,7 +197,10 @@ object Pipelines {
193197
.addSSBO(Scope.MODEL, "TransformBuffer", 4, { ctx -> ctx.`object`.uvTransformBuffer.bufferId })
194198
.addSSBO(Scope.MODEL, "DstBuffer", 5, { ctx -> ctx.`object`.destBuffer })
195199
.addUniform(Scope.MODEL, "variantSize", { uniform, ctx -> uniform.uploadInt(ctx.`object`.meshes.size) })
196-
.addUniform(Scope.GLOBAL, "instanceId", { uniform, ctx -> uniform.uploadInt(instanceId) })
200+
.addUniform(Scope.GLOBAL, "instanceId", { uniform, ctx ->
201+
System.out.println("I'm a retard")
202+
uniform.uploadInt(instanceId)
203+
System.out.println("wtf")})
197204
.build()
198205
PARADOX = manager.shader("paradox")
199206
.autoInt(Scope.GLOBAL, "frame", { pingpong(MinecraftClientGameProvider.getTimePassed()) })

common/src/main/java/generations/gg/generations/core/generationscore/common/client/render/rarecandy/RareCandyVertexArray.java

Lines changed: 24 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -4,67 +4,51 @@
44

55
public final class RareCandyVertexArray {
66

7-
private final int vao;
8-
private final int vertexStride;
9-
10-
// binding index used for all vertex attributes
11-
private static final int VERTEX_BINDING = 0;
7+
private static final int STRIDE = 36;
8+
private static final int BINDING = 0;
129

13-
public RareCandyVertexArray(int strideBytes) {
14-
this.vertexStride = strideBytes;
15-
this.vao = GL43.glGenVertexArrays();
16-
setupAttributes();
17-
}
10+
private final int vao;
1811

19-
private void setupAttributes() {
12+
public RareCandyVertexArray() {
13+
vao = GL43.glGenVertexArrays();
2014
GL43.glBindVertexArray(vao);
2115

22-
// Position (vec3) @ location 0
16+
// Position
2317
GL43.glEnableVertexAttribArray(0);
2418
GL43.glVertexAttribFormat(0, 3, GL43.GL_FLOAT, false, 0);
25-
GL43.glVertexAttribBinding(0, VERTEX_BINDING);
19+
GL43.glVertexAttribBinding(0, BINDING);
2620

27-
// Color (vec4) @ location 1
21+
// Color
2822
GL43.glEnableVertexAttribArray(1);
29-
GL43.glVertexAttribFormat(1, 4, GL43.GL_FLOAT, false, 12);
30-
GL43.glVertexAttribBinding(1, VERTEX_BINDING);
23+
GL43.glVertexAttribFormat(1, 4, GL43.GL_UNSIGNED_BYTE, true, 12);
24+
GL43.glVertexAttribBinding(1, BINDING);
3125

32-
// UV0 (vec2) @ location 2
26+
// UV0
3327
GL43.glEnableVertexAttribArray(2);
34-
GL43.glVertexAttribFormat(2, 2, GL43.GL_FLOAT, false, 28);
35-
GL43.glVertexAttribBinding(2, VERTEX_BINDING);
28+
GL43.glVertexAttribFormat(2, 2, GL43.GL_FLOAT, false, 16);
29+
GL43.glVertexAttribBinding(2, BINDING);
3630

37-
// UV1 (ivec2) @ location 3
31+
// UV1
3832
GL43.glEnableVertexAttribArray(3);
39-
GL43.glVertexAttribIFormat(3, 2, GL43.GL_INT, 36);
40-
GL43.glVertexAttribBinding(3, VERTEX_BINDING);
33+
GL43.glVertexAttribIFormat(3, 2, GL43.GL_SHORT, 24);
34+
GL43.glVertexAttribBinding(3, BINDING);
4135

42-
// UV2 (ivec2) @ location 4
36+
// UV2
4337
GL43.glEnableVertexAttribArray(4);
44-
GL43.glVertexAttribIFormat(4, 2, GL43.GL_INT, 44);
45-
GL43.glVertexAttribBinding(4, VERTEX_BINDING);
38+
GL43.glVertexAttribIFormat(4, 2, GL43.GL_SHORT, 28);
39+
GL43.glVertexAttribBinding(4, BINDING);
4640

47-
// Normal (vec3) @ location 5
41+
// Normal
4842
GL43.glEnableVertexAttribArray(5);
49-
GL43.glVertexAttribFormat(5, 3, GL43.GL_FLOAT, false, 52);
50-
GL43.glVertexAttribBinding(5, VERTEX_BINDING);
43+
GL43.glVertexAttribFormat(5, 3, GL43.GL_BYTE, true, 32);
44+
GL43.glVertexAttribBinding(5, BINDING);
5145

5246
GL43.glBindVertexArray(0);
5347
}
5448

55-
/** Bind VAO only */
56-
public void bind() {
49+
public void bind(int vertexBuffer) {
5750
GL43.glBindVertexArray(vao);
58-
}
59-
60-
/** Bind the actual vertex buffer (destBuffer) at draw time */
61-
public void bindVertexBuffer(int bufferId) {
62-
GL43.glBindVertexBuffer(
63-
VERTEX_BINDING,
64-
bufferId,
65-
0,
66-
vertexStride
67-
);
51+
GL43.glBindVertexBuffer(BINDING, vertexBuffer, 0, STRIDE);
6852
}
6953

7054
public void unbind() {

common/src/main/java/generations/gg/generations/core/generationscore/common/client/render/rarecandy/loading/GenerationsMultiRenderObject.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,7 @@ public void render(RenderStage renderStage, List<ObjectInstance> list) {
4747
updateSSBOs();
4848

4949
System.out.println("vao=" + Pipelines.vao);
50-
Pipelines.vao.bind();
51-
52-
System.out.println("glBindBuffer ARRAY_BUFFER destBuffer=" + destBuffer);
53-
RenderSystem.glBindBuffer(GL43.GL_ARRAY_BUFFER, destBuffer);
50+
Pipelines.vao.bind(destBuffer);
5451

5552
for (int i = 0; i < instances.size(); i++) {
5653
System.out.println("instanceIndex=" + i);

common/src/main/resources/assets/generations_core/shaders/transform.cs.glsl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ struct Transform {
3838
vec2 offset;
3939
};
4040

41-
uniform uint variantSize;
42-
uniform uint instanceId;
41+
uniform int variantSize;
42+
uniform int instanceId;
4343

4444
layout(std430, binding = 0) readonly buffer SrcBuffer { SourceVertex src[]; };
4545
layout(std430, binding = 1) readonly buffer IndexBuffer { uint indices[]; };

0 commit comments

Comments
 (0)