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 {