diff options
author | makamys <makamys@outlook.com> | 2022-06-22 05:57:01 +0200 |
---|---|---|
committer | makamys <makamys@outlook.com> | 2022-06-22 05:57:15 +0200 |
commit | e44cc6847cc24f7cbfb67a2952b431bc51bf7a1e (patch) | |
tree | bfce4c849f450213496887e5f0d6a54dd7bcd36b /src/main/java/makamys/neodymium/renderer | |
parent | bef6742c00977461daf36a56023432472e79bab5 (diff) | |
download | Neodymium-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.java | 4 |
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); } |