From f2c96174bc44115725220451759eedf0bf3a984b Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Sun, 17 Apr 2022 11:20:58 +0200 Subject: [PATCH] Fix terrain culling not being updated for omnidirectional rendering Terrain culling is only updated when the camera position or rotation changes. For omnidirectional rendering, we don't change the camera directly though, we rotate way earlier so we can consistently get before any other effects. As a result, the terrain frustum culling wasn't updated between render passes resulting in missing terrain. This was largely masked by the fact that we used to call GameRenderer.onResize every pass (even when the size hadn't changed) but fixing that made this issue become apparent. --- .../replaymod/render/mixin/Mixin_Omnidirectional_Rotation.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/replaymod/render/mixin/Mixin_Omnidirectional_Rotation.java b/src/main/java/com/replaymod/render/mixin/Mixin_Omnidirectional_Rotation.java index 6107028e..e7d567c7 100644 --- a/src/main/java/com/replaymod/render/mixin/Mixin_Omnidirectional_Rotation.java +++ b/src/main/java/com/replaymod/render/mixin/Mixin_Omnidirectional_Rotation.java @@ -83,6 +83,8 @@ public abstract class Mixin_Omnidirectional_Rotation { //#else //$$ GL11.glRotatef(angle, x, y, 0); //#endif + + getMinecraft().worldRenderer.scheduleTerrainUpdate(); } //#if MC<11500 //$$ if (getHandler() != null && getHandler().omnidirectional) {