From c268306bd61128e4e4f139fde94e1e910ed20a41 Mon Sep 17 00:00:00 2001 From: mcrcortex <18544518+MCRcortex@users.noreply.github.com> Date: Wed, 3 Sep 2025 14:35:10 +1000 Subject: [PATCH] tweeks for scaling --- .../java/me/cortex/voxy/client/core/VoxyRenderSystem.java | 8 +++++++- .../voxy/client/iris/IrisVoxyRenderPipelineData.java | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/me/cortex/voxy/client/core/VoxyRenderSystem.java b/src/main/java/me/cortex/voxy/client/core/VoxyRenderSystem.java index bd3a07c0..ede4b575 100644 --- a/src/main/java/me/cortex/voxy/client/core/VoxyRenderSystem.java +++ b/src/main/java/me/cortex/voxy/client/core/VoxyRenderSystem.java @@ -171,12 +171,15 @@ public class VoxyRenderSystem { int[] dims = new int[4]; glGetIntegerv(GL_VIEWPORT, dims); + int width = dims[2]; + int height = dims[3]; + viewport .setVanillaProjection(matrices.projection()) .setProjection(projection) .setModelView(new Matrix4f(matrices.modelView())) .setCamera(cameraX, cameraY, cameraZ) - .setScreenSize(dims[2], dims[3]) + .setScreenSize(width, height) .setFogParameters(fogParameters) .update(); viewport.frameId++; @@ -208,6 +211,8 @@ public class VoxyRenderSystem { int[] dims = new int[4]; glGetIntegerv(GL_VIEWPORT, dims); + glViewport(0,0, viewport.width, viewport.height); + //var target = DefaultTerrainRenderPasses.CUTOUT.getTarget(); //boundFB = ((net.minecraft.client.texture.GlTexture) target.getColorAttachment()).getOrCreateFramebuffer(((GlBackend) RenderSystem.getDevice()).getFramebufferManager(), target.getDepthAttachment()); if (boundFB == 0) { @@ -248,6 +253,7 @@ public class VoxyRenderSystem { TimingStatistics.postDynamic.stop(); glBindFramebuffer(GlConst.GL_FRAMEBUFFER, oldFB); + glViewport(dims[0], dims[1], dims[2], dims[3]); {//Reset state manager stuffs glUseProgram(0); diff --git a/src/main/java/me/cortex/voxy/client/iris/IrisVoxyRenderPipelineData.java b/src/main/java/me/cortex/voxy/client/iris/IrisVoxyRenderPipelineData.java index 27ab5a62..6f0c0b0a 100644 --- a/src/main/java/me/cortex/voxy/client/iris/IrisVoxyRenderPipelineData.java +++ b/src/main/java/me/cortex/voxy/client/iris/IrisVoxyRenderPipelineData.java @@ -418,6 +418,7 @@ public class IrisVoxyRenderPipelineData { public record SSBOSet(String layout, IntConsumer bindingFunction){} private record SSBOBinding(int irisIndex, int bindingOffset) {} private static SSBOSet createSSBOLayouts(Int2ObjectMap ssbos, ShaderStorageBufferHolder ssboStore) { + if (ssboStore == null) return null;//If there is no store, there cannot be any ssbos if (ssbos.isEmpty()) return null; String header = ""; if (ssbos.containsKey(-1)) header = ssbos.remove(-1);