From cb8de92575b39d00c366eab5b7a35b0d3a5f65ee Mon Sep 17 00:00:00 2001 From: noramibu <50046813+noramibu@users.noreply.github.com> Date: Sun, 22 Feb 2026 09:58:26 +0300 Subject: [PATCH] Fix view bobbing affecting StorageESP while using shaders --- .../meteorclient/mixin/GameRendererMixin.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/mixin/GameRendererMixin.java b/src/main/java/meteordevelopment/meteorclient/mixin/GameRendererMixin.java index e47e37756d..9bd21b1baa 100644 --- a/src/main/java/meteordevelopment/meteorclient/mixin/GameRendererMixin.java +++ b/src/main/java/meteordevelopment/meteorclient/mixin/GameRendererMixin.java @@ -116,11 +116,10 @@ private void onRenderWorld(RenderTickCounter tickCounter, CallbackInfo ci, @Loca Profilers.get().push(MeteorClient.MOD_ID + "_render"); - // Create renderer and event + // Create renderers if (renderer == null) renderer = new Renderer3D(MeteorRenderPipelines.WORLD_COLORED_LINES, MeteorRenderPipelines.WORLD_COLORED); if (depthRenderer == null) depthRenderer = new Renderer3D(MeteorRenderPipelines.WORLD_COLORED_LINES_DEPTH, MeteorRenderPipelines.WORLD_COLORED_DEPTH); - Render3DEvent event = Render3DEvent.get(matrixStack, renderer, depthRenderer, tickDelta, camera.getCameraPos().x, camera.getCameraPos().y, camera.getCameraPos().z); // Update model view matrix @@ -133,7 +132,6 @@ private void onRenderWorld(RenderTickCounter tickCounter, CallbackInfo ci, @Loca Matrix4f inverseBob = new Matrix4f(matrices.peek().getPositionMatrix()).invert(); RenderSystem.getModelViewStack().mul(inverseBob); - matrices.pop(); // Call utility classes (apply bob correction when Iris shaders are active) @@ -141,13 +139,16 @@ private void onRenderWorld(RenderTickCounter tickCounter, CallbackInfo ci, @Loca RenderUtils.updateScreenCenter(projection, correctedPosition); NametagUtils.onRender(position); - // Render + // use our matrices with bob transform, not vanilla's matrixStack which is identity when Iris is active + Render3DEvent event = Render3DEvent.get(matrices, renderer, depthRenderer, tickDelta, camera.getCameraPos().x, camera.getCameraPos().y, camera.getCameraPos().z); renderer.begin(); depthRenderer.begin(); MeteorClient.EVENT_BUS.post(event); - renderer.render(matrixStack); - depthRenderer.render(matrixStack); + renderer.render(matrices); + depthRenderer.render(matrices); + + matrices.pop(); // Revert model view matrix