diff --git a/src/main/java/com/jozufozu/flywheel/core/model/BlockModel.java b/src/main/java/com/jozufozu/flywheel/core/model/BlockModel.java index 61df69354..86b1817e2 100644 --- a/src/main/java/com/jozufozu/flywheel/core/model/BlockModel.java +++ b/src/main/java/com/jozufozu/flywheel/core/model/BlockModel.java @@ -54,6 +54,10 @@ public class BlockModel implements Model { } public BlockModel(Pair pair, String name) { + this(pair, name, true); + } + + public BlockModel(Pair pair, String name, boolean releaseBuffer) { this.name = name; RenderedBuffer renderedBuffer = pair.first(); @@ -66,6 +70,10 @@ public class BlockModel implements Model { eboSupplier = () -> QuadConverter.getInstance() .quads2Tris(vertexCount() / 4); } + + if (releaseBuffer) { + renderedBuffer.release(); + } } @Override diff --git a/src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java b/src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java index 4b58ba1e5..fc6499ad5 100644 --- a/src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java +++ b/src/main/java/com/jozufozu/flywheel/core/model/ModelUtil.java @@ -66,6 +66,7 @@ public class ModelUtil { if (unshadedBuffer != null) { // FIXME: Unshaded indices ((BufferBuilderExtension) shadedBuilder).flywheel$appendBufferUnsafe(unshadedBuffer.vertexBuffer()); + unshadedBuffer.release(); } RenderedBuffer buffer = shadedBuilder.end(); return Pair.of(buffer, unshadedStartVertex);