aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/makamys/neodymium/renderer
diff options
context:
space:
mode:
authormakamys <makamys@outlook.com>2022-06-22 05:57:01 +0200
committermakamys <makamys@outlook.com>2022-06-22 05:57:15 +0200
commite44cc6847cc24f7cbfb67a2952b431bc51bf7a1e (patch)
treebfce4c849f450213496887e5f0d6a54dd7bcd36b /src/main/java/makamys/neodymium/renderer
parentbef6742c00977461daf36a56023432472e79bab5 (diff)
downloadNeodymium-e44cc6847cc24f7cbfb67a2952b431bc51bf7a1e.tar.gz
Neodymium-e44cc6847cc24f7cbfb67a2952b431bc51bf7a1e.tar.bz2
Neodymium-e44cc6847cc24f7cbfb67a2952b431bc51bf7a1e.zip
Fix memory leak
Meshes wouldn't get unloaded properly if they were never sent to the GPU, or if they are transparent.
Diffstat (limited to 'src/main/java/makamys/neodymium/renderer')
-rw-r--r--src/main/java/makamys/neodymium/renderer/NeoRenderer.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/main/java/makamys/neodymium/renderer/NeoRenderer.java b/src/main/java/makamys/neodymium/renderer/NeoRenderer.java
index 7bc582c..d55119f 100644
--- a/src/main/java/makamys/neodymium/renderer/NeoRenderer.java
+++ b/src/main/java/makamys/neodymium/renderer/NeoRenderer.java
@@ -537,6 +537,10 @@ public class NeoRenderer {
lodChunk.isSectionVisible[y] = change == WorldRendererChange.VISIBLE;
if(change == WorldRendererChange.DELETED) {
removeMesh(lodChunk.chunkMeshes[y]);
+ if(lodChunk.chunkMeshes[y] != null) {
+ lodChunk.chunkMeshes[y].destroy();
+ lodChunk.chunkMeshes[y] = null;
+ }
}
lodChunkChanged(lodChunk);
}