From 454a5a0e11f3c3de2bd43c44169ae55f9dae91a8 Mon Sep 17 00:00:00 2001 From: mcrcortex <18544518+MCRcortex@users.noreply.github.com> Date: Mon, 28 Jul 2025 12:46:36 +1000 Subject: [PATCH] bean --- .../java/me/cortex/voxy/client/core/model/ModelFactory.java | 2 +- .../client/core/rendering/hierachical/AsyncNodeManager.java | 5 +++-- .../assets/voxy/shaders/lod/hierarchical/screenspace.glsl | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/me/cortex/voxy/client/core/model/ModelFactory.java b/src/main/java/me/cortex/voxy/client/core/model/ModelFactory.java index e4e4e963..cc9eef29 100644 --- a/src/main/java/me/cortex/voxy/client/core/model/ModelFactory.java +++ b/src/main/java/me/cortex/voxy/client/core/model/ModelFactory.java @@ -497,7 +497,7 @@ public class ModelFactory { int i = 0; for (var entry : this.modelsRequiringBiomeColours) { - var colourProvider = MinecraftClient.getInstance().getBlockColors().providers.get(Registries.BLOCK.getRawId(entry.getRight().getBlock())); + var colourProvider = getColourProvider(entry.getRight().getBlock()); if (colourProvider == null) { throw new IllegalStateException(); } diff --git a/src/main/java/me/cortex/voxy/client/core/rendering/hierachical/AsyncNodeManager.java b/src/main/java/me/cortex/voxy/client/core/rendering/hierachical/AsyncNodeManager.java index 3bc9eb23..69b3e40d 100644 --- a/src/main/java/me/cortex/voxy/client/core/rendering/hierachical/AsyncNodeManager.java +++ b/src/main/java/me/cortex/voxy/client/core/rendering/hierachical/AsyncNodeManager.java @@ -17,6 +17,7 @@ import me.cortex.voxy.client.core.rendering.util.UploadStream; import me.cortex.voxy.common.Logger; import me.cortex.voxy.common.util.AllocationArena; import me.cortex.voxy.common.util.MemoryBuffer; +import me.cortex.voxy.common.util.UnsafeUtil; import me.cortex.voxy.common.world.WorldEngine; import me.cortex.voxy.common.world.WorldSection; import org.lwjgl.system.MemoryUtil; @@ -516,8 +517,8 @@ public class AsyncNodeManager { int copies = upload.dataUploadPoints.size(); int scratchSize = (int) upload.arena.getSize() * 8; long ptr = UploadStream.INSTANCE.rawUploadAddress(scratchSize + copies * 16); - MemoryUtil.memCopy(upload.scratchHeaderBuffer.address, UploadStream.INSTANCE.getBaseAddress() + ptr, copies * 16L); - MemoryUtil.memCopy(upload.scratchDataBuffer.address, UploadStream.INSTANCE.getBaseAddress() + ptr + copies * 16L, scratchSize); + UnsafeUtil.memcpy(upload.scratchHeaderBuffer.address, UploadStream.INSTANCE.getBaseAddress() + ptr, copies * 16L); + UnsafeUtil.memcpy(upload.scratchDataBuffer.address, UploadStream.INSTANCE.getBaseAddress() + ptr + copies * 16L, scratchSize); UploadStream.INSTANCE.commit();//Commit the buffer this.multiMemcpy.bind(); diff --git a/src/main/resources/assets/voxy/shaders/lod/hierarchical/screenspace.glsl b/src/main/resources/assets/voxy/shaders/lod/hierarchical/screenspace.glsl index e0585937..f078779d 100644 --- a/src/main/resources/assets/voxy/shaders/lod/hierarchical/screenspace.glsl +++ b/src/main/resources/assets/voxy/shaders/lod/hierarchical/screenspace.glsl @@ -138,7 +138,7 @@ bool isCulledByHiz() { int ml = int(miplevel); ssize = max(ivec2(1), ssize>>ml); - ivec2 mxbb = ivec2(maxBB.xy*ssize); + ivec2 mxbb = min(ivec2(maxBB.xy*ssize),ssize-1); ivec2 mnbb = ivec2(minBB.xy*ssize); float pointSample = -1.0f;