From 2d0b2af74d1ee1324a436b0dc596466b7c67672e Mon Sep 17 00:00:00 2001 From: TheFlareStar Date: Sat, 9 May 2026 17:53:00 +0800 Subject: [PATCH] Fix issues#3 --- .../blockentity/HardwareOcclusionBlockEntityCuller.java | 3 ++- .../me/cipher/clab/culling/entity/HardwareOcclusionCuller.java | 3 ++- .../src/main/java/me/cipher/clab/mixin/MixinLevelRenderer.java | 2 -- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/me/cipher/clab/culling/blockentity/HardwareOcclusionBlockEntityCuller.java b/common/src/main/java/me/cipher/clab/culling/blockentity/HardwareOcclusionBlockEntityCuller.java index 3ec90e8..b557bcf 100644 --- a/common/src/main/java/me/cipher/clab/culling/blockentity/HardwareOcclusionBlockEntityCuller.java +++ b/common/src/main/java/me/cipher/clab/culling/blockentity/HardwareOcclusionBlockEntityCuller.java @@ -225,11 +225,12 @@ public void beginQueryBatch() { cachedShader = GameRenderer.getPositionShader(); cachedProjMatrix = RenderSystem.getProjectionMatrix(); if (cachedShader != null) { + ProgramManager.glUseProgram(cachedShader.getId()); + RenderSystem.applyModelViewMatrix(); if (cachedShader.PROJECTION_MATRIX != null) { cachedShader.PROJECTION_MATRIX.set(cachedProjMatrix); cachedShader.PROJECTION_MATRIX.upload(); } - ProgramManager.glUseProgram(cachedShader.getId()); } } diff --git a/common/src/main/java/me/cipher/clab/culling/entity/HardwareOcclusionCuller.java b/common/src/main/java/me/cipher/clab/culling/entity/HardwareOcclusionCuller.java index 4d6fb31..a9edc9d 100644 --- a/common/src/main/java/me/cipher/clab/culling/entity/HardwareOcclusionCuller.java +++ b/common/src/main/java/me/cipher/clab/culling/entity/HardwareOcclusionCuller.java @@ -213,11 +213,12 @@ public void beginQueryBatch() { cachedShader = GameRenderer.getPositionShader(); cachedProjMatrix = RenderSystem.getProjectionMatrix(); if (cachedShader != null) { + ProgramManager.glUseProgram(cachedShader.getId()); + RenderSystem.applyModelViewMatrix(); if (cachedShader.PROJECTION_MATRIX != null) { cachedShader.PROJECTION_MATRIX.set(cachedProjMatrix); cachedShader.PROJECTION_MATRIX.upload(); } - ProgramManager.glUseProgram(cachedShader.getId()); } } diff --git a/common/src/main/java/me/cipher/clab/mixin/MixinLevelRenderer.java b/common/src/main/java/me/cipher/clab/mixin/MixinLevelRenderer.java index e1b8c84..1003e8f 100644 --- a/common/src/main/java/me/cipher/clab/mixin/MixinLevelRenderer.java +++ b/common/src/main/java/me/cipher/clab/mixin/MixinLevelRenderer.java @@ -95,7 +95,6 @@ private void afterEntityRendering( PoseStack modelViewStack = RenderSystem.getModelViewStack(); modelViewStack.pushPose(); modelViewStack.mulPoseMatrix(poseStack.last().pose()); - RenderSystem.applyModelViewMatrix(); try { ClientClass.HARDWARE_OCCLUSION_CULLER.beginQueryBatch(); try { @@ -134,7 +133,6 @@ private void afterBlockEntityRendering( PoseStack modelViewStack = RenderSystem.getModelViewStack(); modelViewStack.pushPose(); modelViewStack.mulPoseMatrix(poseStack.last().pose()); - RenderSystem.applyModelViewMatrix(); try { ClientClass.HARDWARE_OCCLUSION_BE_CULLER.beginQueryBatch(); try {