From 2eba249a3b0ad0933c09843711444edd7acca352 Mon Sep 17 00:00:00 2001 From: Crosby <32882447+crosby-moe@users.noreply.github.com> Date: Mon, 22 Dec 2025 13:16:30 -0500 Subject: [PATCH 1/6] fade from center of entity --- .../meteorclient/systems/modules/render/ESP.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/render/ESP.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/render/ESP.java index cefd1c7170..0c7e0509ef 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/render/ESP.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/render/ESP.java @@ -374,7 +374,7 @@ public Color getColor(Entity entity) { } private double getFadeAlpha(Entity entity) { - double dist = PlayerUtils.squaredDistanceToCamera(entity.getX() + entity.getWidth() / 2, entity.getY() + entity.getEyeHeight(entity.getPose()), entity.getZ() + entity.getWidth() / 2); + double dist = PlayerUtils.squaredDistanceToCamera(entity.getX(), entity.getY() + entity.getEyeHeight(entity.getPose()), entity.getZ()); double fadeDist = Math.pow(fadeDistance.get(), 2); double alpha = 1; if (dist <= fadeDist * fadeDist) alpha = (float) (Math.sqrt(dist) / fadeDist); From 34d4cf982fff2909a9004cb3d0d71ef96c2d0423 Mon Sep 17 00:00:00 2001 From: Crosby <32882447+crosby-moe@users.noreply.github.com> Date: Mon, 22 Dec 2025 18:17:52 -0500 Subject: [PATCH 2/6] refactor post process shader classes --- .../meteorclient/systems/modules/render/Chams.java | 9 --------- .../utils/render/postprocess/ChamsShader.java | 2 ++ .../render/postprocess/EntityOutlineShader.java | 2 +- .../utils/render/postprocess/EntityShader.java | 13 ++++++++++--- .../utils/render/postprocess/PostProcessShader.java | 12 ++++-------- .../render/postprocess/StorageOutlineShader.java | 2 +- 6 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/render/Chams.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/render/Chams.java index c6280df9cc..b1cf4e20de 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/render/Chams.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/render/Chams.java @@ -6,12 +6,10 @@ package meteordevelopment.meteorclient.systems.modules.render; import meteordevelopment.meteorclient.MeteorClient; -import meteordevelopment.meteorclient.renderer.MeteorRenderPipelines; import meteordevelopment.meteorclient.settings.*; import meteordevelopment.meteorclient.systems.modules.Categories; import meteordevelopment.meteorclient.systems.modules.Module; import meteordevelopment.meteorclient.utils.render.color.SettingColor; -import meteordevelopment.meteorclient.utils.render.postprocess.PostProcessShaders; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityType; import net.minecraft.util.Identifier; @@ -37,8 +35,6 @@ public class Chams extends Module { .name("shader") .description("Renders a shader over of the entities.") .defaultValue(Shader.Image) - .onModuleActivated(setting -> updateShader(setting.get())) - .onChanged(this::updateShader) .build() ); @@ -190,11 +186,6 @@ public boolean isShader() { return isActive() && shader.get() != Shader.None; } - public void updateShader(Shader value) { - if (value == Shader.None) return; - PostProcessShaders.CHAMS.init(MeteorRenderPipelines.POST_IMAGE); - } - public enum Shader { Image, None diff --git a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/ChamsShader.java b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/ChamsShader.java index eb15779c8e..09c1f67612 100644 --- a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/ChamsShader.java +++ b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/ChamsShader.java @@ -13,6 +13,7 @@ import meteordevelopment.meteorclient.MeteorClient; import meteordevelopment.meteorclient.events.game.ResourcePacksReloadedEvent; import meteordevelopment.meteorclient.renderer.MeshRenderer; +import meteordevelopment.meteorclient.renderer.MeteorRenderPipelines; import meteordevelopment.meteorclient.renderer.Texture; import meteordevelopment.meteorclient.systems.modules.Modules; import meteordevelopment.meteorclient.systems.modules.render.Chams; @@ -39,6 +40,7 @@ public class ChamsShader extends EntityShader { private static Chams chams; public ChamsShader() { + super(MeteorRenderPipelines.POST_IMAGE); MeteorClient.EVENT_BUS.subscribe(ChamsShader.class); } diff --git a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityOutlineShader.java b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityOutlineShader.java index 53433f4ff1..e6e5f96339 100644 --- a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityOutlineShader.java +++ b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityOutlineShader.java @@ -10,7 +10,7 @@ public class EntityOutlineShader extends EntityShader { private static ESP esp; public EntityOutlineShader() { - init(MeteorRenderPipelines.POST_OUTLINE); + super(MeteorRenderPipelines.POST_OUTLINE); } @Override diff --git a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityShader.java b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityShader.java index 696cbb7050..368928756a 100644 --- a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityShader.java +++ b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityShader.java @@ -1,13 +1,20 @@ package meteordevelopment.meteorclient.utils.render.postprocess; +import com.mojang.blaze3d.pipeline.RenderPipeline; import com.mojang.blaze3d.systems.RenderSystem; import meteordevelopment.meteorclient.mixininterface.IWorldRenderer; - -import java.util.OptionalInt; +import meteordevelopment.meteorclient.utils.render.CustomOutlineVertexConsumerProvider; import static meteordevelopment.meteorclient.MeteorClient.mc; public abstract class EntityShader extends PostProcessShader { + public final CustomOutlineVertexConsumerProvider vertexConsumerProvider; + + protected EntityShader(RenderPipeline pipeline) { + super(pipeline); + this.vertexConsumerProvider = new CustomOutlineVertexConsumerProvider(); + } + @Override public boolean beginRender() { if (super.beginRender()) { @@ -29,6 +36,6 @@ protected void postDraw() { } public void endRender() { - endRender(() -> vertexConsumerProvider.draw()); + endRender(vertexConsumerProvider::draw); } } diff --git a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShader.java b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShader.java index e59585af6a..251dd4112b 100644 --- a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShader.java +++ b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShader.java @@ -7,7 +7,6 @@ import com.mojang.blaze3d.textures.FilterMode; import meteordevelopment.meteorclient.MeteorClient; import meteordevelopment.meteorclient.renderer.MeshRenderer; -import meteordevelopment.meteorclient.utils.render.CustomOutlineVertexConsumerProvider; import net.minecraft.client.gl.DynamicUniformStorage; import net.minecraft.client.gl.Framebuffer; import net.minecraft.client.gl.SimpleFramebuffer; @@ -19,15 +18,12 @@ import static org.lwjgl.glfw.GLFW.glfwGetTime; public abstract class PostProcessShader { - public CustomOutlineVertexConsumerProvider vertexConsumerProvider; - public Framebuffer framebuffer; - protected RenderPipeline pipeline; - - public void init(RenderPipeline pipeline) { - if (vertexConsumerProvider == null) vertexConsumerProvider = new CustomOutlineVertexConsumerProvider(); - if (framebuffer == null) framebuffer = new SimpleFramebuffer(MeteorClient.NAME + " PostProcessShader", mc.getWindow().getFramebufferWidth(), mc.getWindow().getFramebufferHeight(), true); + protected final RenderPipeline pipeline; + public final Framebuffer framebuffer; + protected PostProcessShader(RenderPipeline pipeline) { this.pipeline = pipeline; + this.framebuffer = new SimpleFramebuffer(MeteorClient.NAME + " PostProcessShader " + this.getClass().getSimpleName(), mc.getWindow().getFramebufferWidth(), mc.getWindow().getFramebufferHeight(), true); } protected abstract boolean shouldDraw(); diff --git a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/StorageOutlineShader.java b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/StorageOutlineShader.java index 018ce5eb27..9f4607bd36 100644 --- a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/StorageOutlineShader.java +++ b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/StorageOutlineShader.java @@ -14,7 +14,7 @@ public class StorageOutlineShader extends PostProcessShader { private Framebuffer mcFramebuffer; public StorageOutlineShader() { - init(MeteorRenderPipelines.POST_OUTLINE); + super(MeteorRenderPipelines.POST_OUTLINE); } @Override From e56a4c395fcbdf85b52ca353b65a174bfd7ac3b2 Mon Sep 17 00:00:00 2001 From: Crosby <32882447+crosby-moe@users.noreply.github.com> Date: Mon, 22 Dec 2025 20:57:35 -0500 Subject: [PATCH 3/6] remove redundant framebuffer from storage outline shader --- .../systems/modules/render/StorageESP.java | 2 +- .../render/postprocess/StorageOutlineShader.java | 16 ---------------- 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/render/StorageESP.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/render/StorageESP.java index 5e5c46d886..b6a6382661 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/render/StorageESP.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/render/StorageESP.java @@ -298,7 +298,7 @@ private void onRender(Render3DEvent event) { if (mode.get() == Mode.Shader && count > 0) { PostProcessShaders.STORAGE_OUTLINE.endRender(() -> MeshRenderer.begin() - .attachments(mc.getFramebuffer()) + .attachments(PostProcessShaders.STORAGE_OUTLINE.framebuffer) .clearColor(Color.CLEAR) .pipeline(MeteorRenderPipelines.WORLD_COLORED) .mesh(mesh, event.matrices) diff --git a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/StorageOutlineShader.java b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/StorageOutlineShader.java index 9f4607bd36..ab8bb7ec4b 100644 --- a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/StorageOutlineShader.java +++ b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/StorageOutlineShader.java @@ -1,34 +1,18 @@ package meteordevelopment.meteorclient.utils.render.postprocess; -import meteordevelopment.meteorclient.mixininterface.IMinecraftClient; import meteordevelopment.meteorclient.renderer.MeshRenderer; import meteordevelopment.meteorclient.renderer.MeteorRenderPipelines; import meteordevelopment.meteorclient.systems.modules.Modules; import meteordevelopment.meteorclient.systems.modules.render.StorageESP; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gl.Framebuffer; import net.minecraft.entity.Entity; public class StorageOutlineShader extends PostProcessShader { private static StorageESP storageESP; - private Framebuffer mcFramebuffer; public StorageOutlineShader() { super(MeteorRenderPipelines.POST_OUTLINE); } - @Override - protected void preDraw() { - mcFramebuffer = MinecraftClient.getInstance().getFramebuffer(); - ((IMinecraftClient) MinecraftClient.getInstance()).meteor$setFramebuffer(framebuffer); - } - - @Override - protected void postDraw() { - ((IMinecraftClient) MinecraftClient.getInstance()).meteor$setFramebuffer(mcFramebuffer); - mcFramebuffer = null; - } - @Override protected boolean shouldDraw() { if (storageESP == null) storageESP = Modules.get().get(StorageESP.class); From 7e090d4028a6f8ba685a9448cb7712744b80789d Mon Sep 17 00:00:00 2001 From: Crosby <32882447+crosby-moe@users.noreply.github.com> Date: Mon, 22 Dec 2025 20:59:28 -0500 Subject: [PATCH 4/6] remove `shouldDraw(Entity)` from non-entity post process shaders --- .../meteorclient/utils/render/postprocess/EntityShader.java | 3 +++ .../utils/render/postprocess/PostProcessShader.java | 2 -- .../utils/render/postprocess/StorageOutlineShader.java | 6 ------ 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityShader.java b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityShader.java index 368928756a..11c098b3c1 100644 --- a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityShader.java +++ b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityShader.java @@ -4,6 +4,7 @@ import com.mojang.blaze3d.systems.RenderSystem; import meteordevelopment.meteorclient.mixininterface.IWorldRenderer; import meteordevelopment.meteorclient.utils.render.CustomOutlineVertexConsumerProvider; +import net.minecraft.entity.Entity; import static meteordevelopment.meteorclient.MeteorClient.mc; @@ -15,6 +16,8 @@ protected EntityShader(RenderPipeline pipeline) { this.vertexConsumerProvider = new CustomOutlineVertexConsumerProvider(); } + public abstract boolean shouldDraw(Entity entity); + @Override public boolean beginRender() { if (super.beginRender()) { diff --git a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShader.java b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShader.java index 251dd4112b..ebb542d052 100644 --- a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShader.java +++ b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShader.java @@ -10,7 +10,6 @@ import net.minecraft.client.gl.DynamicUniformStorage; import net.minecraft.client.gl.Framebuffer; import net.minecraft.client.gl.SimpleFramebuffer; -import net.minecraft.entity.Entity; import java.nio.ByteBuffer; @@ -27,7 +26,6 @@ protected PostProcessShader(RenderPipeline pipeline) { } protected abstract boolean shouldDraw(); - public abstract boolean shouldDraw(Entity entity); protected void preDraw() {} protected void postDraw() {} diff --git a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/StorageOutlineShader.java b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/StorageOutlineShader.java index ab8bb7ec4b..84d13dbc8f 100644 --- a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/StorageOutlineShader.java +++ b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/StorageOutlineShader.java @@ -4,7 +4,6 @@ import meteordevelopment.meteorclient.renderer.MeteorRenderPipelines; import meteordevelopment.meteorclient.systems.modules.Modules; import meteordevelopment.meteorclient.systems.modules.render.StorageESP; -import net.minecraft.entity.Entity; public class StorageOutlineShader extends PostProcessShader { private static StorageESP storageESP; @@ -19,11 +18,6 @@ protected boolean shouldDraw() { return storageESP.isShader(); } - @Override - public boolean shouldDraw(Entity entity) { - return true; - } - @Override protected void setupPass(MeshRenderer renderer) { renderer.uniform("OutlineData", OutlineUniforms.write( From 9dc20470149193755a2f0b1b2b08fb115d293375 Mon Sep 17 00:00:00 2001 From: Crosby <32882447+crosby-moe@users.noreply.github.com> Date: Mon, 22 Dec 2025 21:12:00 -0500 Subject: [PATCH 5/6] separate post shaders into vertices & render steps --- .../mixin/WorldRendererMixin.java | 2 +- .../systems/modules/render/StorageESP.java | 8 ++++--- .../render/postprocess/EntityShader.java | 11 ++++----- .../render/postprocess/PostProcessShader.java | 10 ++++---- .../postprocess/PostProcessShaders.java | 23 ++++++++++++++----- 5 files changed, 33 insertions(+), 21 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/mixin/WorldRendererMixin.java b/src/main/java/meteordevelopment/meteorclient/mixin/WorldRendererMixin.java index bfd3c78bba..a520989d80 100644 --- a/src/main/java/meteordevelopment/meteorclient/mixin/WorldRendererMixin.java +++ b/src/main/java/meteordevelopment/meteorclient/mixin/WorldRendererMixin.java @@ -192,7 +192,7 @@ boolean fillEntityRenderStatesIsRenderingReady(boolean original) { @Inject(method = "method_62214", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/OutlineVertexConsumerProvider;draw()V")) private void onRender(CallbackInfo ci) { - PostProcessShaders.endRender(); + PostProcessShaders.submitEntityVertices(); } @Inject(method = "onResized", at = @At("HEAD")) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/render/StorageESP.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/render/StorageESP.java index b6a6382661..8a8ecfe1c1 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/render/StorageESP.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/render/StorageESP.java @@ -25,6 +25,7 @@ import meteordevelopment.meteorclient.utils.render.SimpleBlockRenderer; import meteordevelopment.meteorclient.utils.render.color.Color; import meteordevelopment.meteorclient.utils.render.color.SettingColor; +import meteordevelopment.meteorclient.utils.render.postprocess.PostProcessShader; import meteordevelopment.meteorclient.utils.render.postprocess.PostProcessShaders; import meteordevelopment.meteorclient.utils.world.Dir; import meteordevelopment.orbit.EventHandler; @@ -297,13 +298,14 @@ private void onRender(Render3DEvent event) { } if (mode.get() == Mode.Shader && count > 0) { - PostProcessShaders.STORAGE_OUTLINE.endRender(() -> MeshRenderer.begin() + MeshRenderer.begin() .attachments(PostProcessShaders.STORAGE_OUTLINE.framebuffer) .clearColor(Color.CLEAR) .pipeline(MeteorRenderPipelines.WORLD_COLORED) .mesh(mesh, event.matrices) - .end() - ); + .end(); + + PostProcessShaders.STORAGE_OUTLINE.render(); } } diff --git a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityShader.java b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityShader.java index 11c098b3c1..02a09793db 100644 --- a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityShader.java +++ b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityShader.java @@ -19,13 +19,10 @@ protected EntityShader(RenderPipeline pipeline) { public abstract boolean shouldDraw(Entity entity); @Override - public boolean beginRender() { - if (super.beginRender()) { + public void clearTexture() { + if (this.shouldDraw()) { RenderSystem.getDevice().createCommandEncoder().clearColorTexture(framebuffer.getColorAttachment(), 0); - return true; } - - return false; } @Override @@ -38,7 +35,7 @@ protected void postDraw() { ((IWorldRenderer) mc.worldRenderer).meteor$popEntityOutlineFramebuffer(); } - public void endRender() { - endRender(vertexConsumerProvider::draw); + public void submitVertices() { + submitVertices(vertexConsumerProvider::draw); } } diff --git a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShader.java b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShader.java index ebb542d052..8df5ff7362 100644 --- a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShader.java +++ b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShader.java @@ -32,16 +32,18 @@ protected void postDraw() {} protected abstract void setupPass(MeshRenderer renderer); - public boolean beginRender() { - return shouldDraw(); - } + public void clearTexture() {} - public void endRender(Runnable draw) { + public void submitVertices(Runnable draw) { if (!shouldDraw()) return; preDraw(); draw.run(); postDraw(); + } + + public void render() { + if (!shouldDraw()) return; var renderer = MeshRenderer.begin() .attachments(mc.getFramebuffer()) diff --git a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShaders.java b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShaders.java index ab013c6a67..63201cacf8 100644 --- a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShaders.java +++ b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShaders.java @@ -1,6 +1,9 @@ package meteordevelopment.meteorclient.utils.render.postprocess; +import meteordevelopment.meteorclient.MeteorClient; +import meteordevelopment.meteorclient.events.render.Render2DEvent; import meteordevelopment.meteorclient.utils.PreInit; +import meteordevelopment.orbit.EventHandler; import static meteordevelopment.meteorclient.MeteorClient.mc; @@ -16,17 +19,25 @@ public static void init() { CHAMS = new ChamsShader(); ENTITY_OUTLINE = new EntityOutlineShader(); STORAGE_OUTLINE = new StorageOutlineShader(); + + MeteorClient.EVENT_BUS.subscribe(PostProcessShaders.class); } public static void beginRender() { - CHAMS.beginRender(); - ENTITY_OUTLINE.beginRender(); - STORAGE_OUTLINE.beginRender(); + CHAMS.clearTexture(); + ENTITY_OUTLINE.clearTexture(); + STORAGE_OUTLINE.clearTexture(); + } + + public static void submitEntityVertices() { + CHAMS.submitVertices(); + ENTITY_OUTLINE.submitVertices(); } - public static void endRender() { - CHAMS.endRender(); - ENTITY_OUTLINE.endRender(); + @EventHandler + private static void onRender(Render2DEvent event) { + CHAMS.render(); + ENTITY_OUTLINE.render(); } public static void onResized(int width, int height) { From 7deff872a71e65d895c9bdd2dbe8954778262056 Mon Sep 17 00:00:00 2001 From: Crosby <32882447+crosby-moe@users.noreply.github.com> Date: Mon, 22 Dec 2025 21:16:43 -0500 Subject: [PATCH 6/6] makes more sense to put this here lol --- .../utils/render/postprocess/EntityShader.java | 8 -------- .../utils/render/postprocess/PostProcessShader.java | 6 +++++- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityShader.java b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityShader.java index 02a09793db..b4d99737c4 100644 --- a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityShader.java +++ b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/EntityShader.java @@ -1,7 +1,6 @@ package meteordevelopment.meteorclient.utils.render.postprocess; import com.mojang.blaze3d.pipeline.RenderPipeline; -import com.mojang.blaze3d.systems.RenderSystem; import meteordevelopment.meteorclient.mixininterface.IWorldRenderer; import meteordevelopment.meteorclient.utils.render.CustomOutlineVertexConsumerProvider; import net.minecraft.entity.Entity; @@ -18,13 +17,6 @@ protected EntityShader(RenderPipeline pipeline) { public abstract boolean shouldDraw(Entity entity); - @Override - public void clearTexture() { - if (this.shouldDraw()) { - RenderSystem.getDevice().createCommandEncoder().clearColorTexture(framebuffer.getColorAttachment(), 0); - } - } - @Override protected void preDraw() { ((IWorldRenderer) mc.worldRenderer).meteor$pushEntityOutlineFramebuffer(framebuffer); diff --git a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShader.java b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShader.java index 8df5ff7362..14970409b1 100644 --- a/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShader.java +++ b/src/main/java/meteordevelopment/meteorclient/utils/render/postprocess/PostProcessShader.java @@ -32,7 +32,11 @@ protected void postDraw() {} protected abstract void setupPass(MeshRenderer renderer); - public void clearTexture() {} + public void clearTexture() { + if (this.shouldDraw()) { + RenderSystem.getDevice().createCommandEncoder().clearColorTexture(framebuffer.getColorAttachment(), 0); + } + } public void submitVertices(Runnable draw) { if (!shouldDraw()) return;