diff --git a/game/client/src/main/java/net/minecraft/client/render/renderer/GLRenderer.java b/game/client/src/main/java/net/minecraft/client/render/renderer/GLRenderer.java index ba3709b7e..2f7cb3cd8 100644 --- a/game/client/src/main/java/net/minecraft/client/render/renderer/GLRenderer.java +++ b/game/client/src/main/java/net/minecraft/client/render/renderer/GLRenderer.java @@ -6,6 +6,7 @@ import net.minecraft.client.option.GameSettings; import net.minecraft.client.render.FogManager; import net.minecraft.client.render.Lighting; import net.minecraft.client.render.shader.Shader; +import net.minecraft.client.render.shader.ShaderHelper; import net.minecraft.client.render.tessellator.RenderBuffer; import net.minecraft.client.render.tessellator.TessellatorShader; import net.minecraft.client.render.uniform.UniformBlockManager; @@ -165,6 +166,7 @@ public class GLRenderer { shader.uniformVec4f("uColor", Color.redFromInt(instance.currentColor)/255f, Color.greenFromInt(instance.currentColor)/255f, Color.blueFromInt(instance.currentColor)/255f, Color.alphaFromInt(instance.currentColor)/255f); shader.uniformFloat("uCurrentTick", instance.mc.ticksRan + instance.mc.timer.partialTicks); shader.uniformFloat("uPartialTick", instance.mc.timer.partialTicks); + shader.uniformFloat("frameTimeCounter", ShaderHelper.getFrameTimeCounter()); shader.uniformFloat("uLineWidth", instance.currentLineWidth); double renderScale = (float) GameSettings.RENDER_SCALE.value.scale; diff --git a/game/client/src/main/java/net/minecraft/client/render/shader/ShaderHelper.java b/game/client/src/main/java/net/minecraft/client/render/shader/ShaderHelper.java index 70a0a29bc..3343d9141 100644 --- a/game/client/src/main/java/net/minecraft/client/render/shader/ShaderHelper.java +++ b/game/client/src/main/java/net/minecraft/client/render/shader/ShaderHelper.java @@ -20,7 +20,6 @@ public final class ShaderHelper { private static RenderBuffer fullScreenRect = null; private static final long startTime = System.currentTimeMillis(); - private static float frameTimeCounter = 0.0f; private ShaderHelper() { @@ -63,11 +62,11 @@ public final class ShaderHelper { GL41.glBindVertexArray(0); } - public static void setUniforms(Minecraft minecraft, Shader shader, float partialTicks) { - long now = System.currentTimeMillis(); - int passedTime = (int) (now - startTime); - frameTimeCounter = passedTime / 1000.0f; + public static float getFrameTimeCounter() { + return (System.currentTimeMillis() - startTime) / 1000.0f; + } + public static void setUniforms(Minecraft minecraft, Shader shader, float partialTicks) { if (!shader.isEnabled()) return; shader.bind(); @@ -75,7 +74,7 @@ public final class ShaderHelper { shader.uniformVec2i("windowSize", minecraft.gameWindow.getWidthPixels(), minecraft.gameWindow.getHeightPixels()); OpenGLHelper.checkError("end render world"); shader.uniformFloat("renderScale", (float) GameSettings.RENDER_SCALE.value.scale); - shader.uniformFloat("frameTimeCounter", frameTimeCounter); + shader.uniformFloat("frameTimeCounter", getFrameTimeCounter()); shader.uniformFloat("gamma", GameSettings.GAMMA.value); shader.uniformBool("fxaa", GameSettings.FXAA.value); shader.uniformFloat("heatHaze", (GameSettings.HEAT_HAZE.value != 0) ? minecraft.ppm.lerped.heatHaze : 0.0f);