Skip to content

Commit 040f4de

Browse files
committed
Continuing rewrite.
1 parent f33aacf commit 040f4de

23 files changed

Lines changed: 607 additions & 789 deletions

File tree

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ dependencies {
6060
shadow(implementation("org.lwjgl", "lwjgl-assimp", "3.3.4")) {
6161
isTransitive = true
6262
}
63-
shadow(implementation("com.github.thecodewarrior", "BinarySMD", "-SNAPSHOT"))
63+
shadow(implementation("com.github.thecodewarrior", "BinarySMD", "d10a00b720"))
6464
shadow(implementation("org.msgpack", "msgpack-core", "0.8.17"))
6565
shadowTools(implementation(fileTree(mapOf("dir" to "libs", "include" to "*.jar")))!!)
6666
shadow(implementation("com.github.ben-manes.caffeine:caffeine:3.1.8")!!)

imgui.ini

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,22 @@ Size=400,400
44
Collapsed=0
55

66
[Window][File Tree]
7-
Pos=60,60
8-
Size=110,115
7+
Pos=740,493
8+
Size=606,454
99
Collapsed=0
1010

1111
[Window][Terastalization]
12-
Pos=60,60
13-
Size=88,77
12+
Pos=197,596
13+
Size=271,167
1414
Collapsed=0
1515

1616
[Window][Fog]
17-
Pos=60,60
18-
Size=75,100
17+
Pos=1696,417
18+
Size=286,135
1919
Collapsed=0
2020

2121
[Window][Features]
22-
Pos=60,60
22+
Pos=173,470
2323
Size=144,77
2424
Collapsed=0
2525

settings.json

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"urls": {
3+
"openArchiveUrl": "D:\\Git Repos\\Models\\Generation Packs\\Generation 2\\assets\\generations_core\\bedrock\\pokemon\\models\\lugia.pk",
4+
"saveAsUrl": "",
5+
"createArchiveUrl": "",
6+
"sequenceUrl": ""
7+
},
8+
"terastalization": {
9+
"enabled": false,
10+
"tint": {
11+
"x": 1.0,
12+
"y": 1.0,
13+
"z": 1.0
14+
}
15+
},
16+
"features": {
17+
"terastalization": true,
18+
"fog": true
19+
},
20+
"fog": {
21+
"color": {
22+
"x": 1.0,
23+
"y": 1.0,
24+
"z": 1.0,
25+
"w": 1.0
26+
},
27+
"start": 0.0,
28+
"end": 5.0
29+
}
30+
}

src/library/java/gg/generations/rarecandy/renderer/LoggerUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public static void printError(Exception e) {
2626

2727
public static void print(String string) {
2828
checkLogger();
29-
// LOGGER.info(string);
29+
LOGGER.info(string);
3030
}
3131

3232
public static void print(long bytesWritten) {

src/library/java/gg/generations/rarecandy/renderer/animation/Animation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public class Animation {
5050
public boolean loops;
5151
public boolean ignoreInstancedTime = false;
5252

53-
private boolean ignoreScaling;
53+
private final boolean ignoreScaling;
5454

5555
public Animation(int id, int ticksPerSecond, boolean loops, Skeleton skeleton, AnimationNode[] animationNodes, Offset[] offsets, boolean ignoreScaling, SkeletalTransform offset) {
5656
this.id = id;

src/library/java/gg/generations/rarecandy/renderer/components/MultiRenderObject.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ public void updateSSBOs() {
202202
}
203203

204204
transform.upload(uvTransformBuffer);
205-
uvTransformBuffer.put(instance.variant());
205+
uvTransformBuffer.put(variantRelationships[meshId][instance.variant()]);
206206
uvTransformBuffer.move(4);
207207
}
208208
}

src/library/java/gg/generations/rarecandy/renderer/loading/ModelLoader.java

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,8 @@ public static void processModel(
9393
int totalBytes = variantOffset + variantBytes;
9494

9595
var vertexBuffer = MemoryUtil.memAlloc(vertexBytes);
96-
9796
var indexBuffer = MemoryUtil.memAlloc(indexBytes);
98-
9997
var drawBuffer = MemoryUtil.memAlloc(drawBytes);
100-
10198
var materialBuffer = MemoryUtil.memAlloc(materialBytes);
10299
var variantBuffer = MemoryUtil.memAlloc(variantBytes);
103100

@@ -122,8 +119,12 @@ public static void processModel(
122119
counters, skeleton, mesh, config.modelOptions != null ? config.modelOptions : Collections.emptyMap(), dimensions);
123120
}
124121

125-
for(var material : objects.materials) {
126-
material.put(materialBuffer);
122+
for (int i = 0; i < objects.materials.length; i++) {
123+
var material = objects.materials[i];
124+
System.out.println("material[" + i + "] = " + material);
125+
if (material != null) {
126+
material.put(materialBuffer);
127+
}
127128
}
128129

129130
for(var variant : objects.variants) {
@@ -134,6 +135,14 @@ public static void processModel(
134135
objects.vertex.put(buffer, vertexBuffer.flip());
135136
objects.index.put(buffer, indexBuffer.flip());
136137
objects.draw.put(buffer, drawBuffer.flip());
138+
139+
140+
System.out.println("objects.materials.length = " + objects.materials.length);
141+
System.out.println("materialBytes = " + materialBytes);
142+
System.out.println("materialBuffer.position() = " + materialBuffer.position());
143+
System.out.println("objects.material.size() = " + objects.material.size());
144+
145+
137146
objects.material.put(buffer, materialBuffer.flip());
138147
objects.variant.put(buffer, variantBuffer.flip());
139148

@@ -156,6 +165,7 @@ public static void processModel(
156165
MemoryUtil.memFree(vertexBuffer);
157166
MemoryUtil.memFree(indexBuffer);
158167
MemoryUtil.memFree(drawBuffer);
168+
MemoryUtil.memFree(materialBuffer);
159169
MemoryUtil.memFree(variantBuffer);
160170

161171
var transform = new Matrix4f();

src/library/java/gg/generations/rarecandy/renderer/model/material/Material.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public record Material(
1313
BlendType blendType,
1414
int colorMethod) implements Closeable {
1515

16-
public void put(ByteBuffer buffer) {
16+
public void put(ByteBuffer buffer) {
1717
values.put(buffer);
1818
buffer.putInt(colorMethod);
1919
buffer.putInt(0);

src/library/java/gg/generations/rarecandy/renderer/model/material/MaterialValues.java

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -276,26 +276,18 @@ public int hashCode() {
276276
}
277277

278278
public void put(ByteBuffer pointer) {
279-
baseColor1.get(pointer);
280-
pointer.position(pointer.position() + 16);
281-
baseColor2.get(pointer);
282-
pointer.position(pointer.position() + 16);
283-
baseColor3.get(pointer);
284-
pointer.position(pointer.position() + 16);
285-
baseColor4.get(pointer);
286-
pointer.position(pointer.position() + 16);
287-
baseColor5.get(pointer);
288-
pointer.position(pointer.position() + 16);
289-
emiColor1.get(pointer);
290-
pointer.position(pointer.position() + 16);
291-
emiColor2.get(pointer);
292-
pointer.position(pointer.position() + 16);
293-
emiColor3.get(pointer);
294-
pointer.position(pointer.position() + 16);
295-
emiColor4.get(pointer);
296-
pointer.position(pointer.position() + 16);
297-
emiColor5.get(pointer);
298-
pointer.position(pointer.position() + 16);
279+
pointer.putFloat(baseColor1.x).putFloat(baseColor1.y).putFloat(baseColor1.z).putFloat(0f);
280+
pointer.putFloat(baseColor2.x).putFloat(baseColor2.y).putFloat(baseColor2.z).putFloat(0f);
281+
pointer.putFloat(baseColor3.x).putFloat(baseColor3.y).putFloat(baseColor3.z).putFloat(0f);
282+
pointer.putFloat(baseColor4.x).putFloat(baseColor4.y).putFloat(baseColor4.z).putFloat(0f);
283+
pointer.putFloat(baseColor5.x).putFloat(baseColor5.y).putFloat(baseColor5.z).putFloat(0f);
284+
285+
pointer.putFloat(emiColor1.x).putFloat(emiColor1.y).putFloat(emiColor1.z).putFloat(0f);
286+
pointer.putFloat(emiColor2.x).putFloat(emiColor2.y).putFloat(emiColor2.z).putFloat(0f);
287+
pointer.putFloat(emiColor3.x).putFloat(emiColor3.y).putFloat(emiColor3.z).putFloat(0f);
288+
pointer.putFloat(emiColor4.x).putFloat(emiColor4.y).putFloat(emiColor4.z).putFloat(0f);
289+
pointer.putFloat(emiColor5.x).putFloat(emiColor5.y).putFloat(emiColor5.z).putFloat(0f);
290+
299291
pointer.putFloat(emiIntensity1);
300292
pointer.putFloat(emiIntensity2);
301293
pointer.putFloat(emiIntensity3);

src/library/java/gg/generations/rarecandy/renderer/pipeline/Pipeline.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,4 +344,8 @@ public static <T> Map<Scope, List<T>> deepCopy(Map<Scope, List<T>> src) {
344344
return result;
345345
}
346346
}
347+
348+
public void destroy() {
349+
GL32.glDeleteProgram(program);
350+
}
347351
}

0 commit comments

Comments
 (0)