From c75c830ab247f72756287aa1d37ff65e0594d39b Mon Sep 17 00:00:00 2001 From: NULL511 Date: Thu, 17 Aug 2023 13:06:37 -0400 Subject: [PATCH] revert cpu projection inverse fog --- .../core/render/renderer/shaders/FogShader.java | 6 +++--- core/src/main/resources/shaders/fog/fog.frag | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/shaders/FogShader.java b/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/shaders/FogShader.java index 959077b85..5abae934e 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/shaders/FogShader.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/render/renderer/shaders/FogShader.java @@ -49,7 +49,7 @@ public class FogShader extends AbstractShaderRenderer // because disabling fog can cause the GLSL to optimize out most (if not all) uniforms - this.gModelViewProjectionUniform = this.shader.tryGetUniformLocation("gMvmProjInv"); + this.gModelViewProjectionUniform = this.shader.tryGetUniformLocation("gMvmProj"); this.gDepthMapUniform = this.shader.tryGetUniformLocation("gDepthMap"); // Fog uniforms @@ -115,13 +115,13 @@ public class FogShader extends AbstractShaderRenderer return fogColor; } - private Color getSpecialFogColor(float partialTicks) { return MC_RENDER.getSpecialFogColor(partialTicks); } public void setModelViewProjectionMatrix(Mat4f combinedModelViewProjectionMatrix) { this.shader.bind(); - this.shader.setUniform(this.gModelViewProjectionUniform, combinedModelViewProjectionMatrix.invert()); + this.shader.setUniform(this.gModelViewProjectionUniform, combinedModelViewProjectionMatrix); this.shader.unbind(); } + } diff --git a/core/src/main/resources/shaders/fog/fog.frag b/core/src/main/resources/shaders/fog/fog.frag index 6bf4b8467..b5000241a 100644 --- a/core/src/main/resources/shaders/fog/fog.frag +++ b/core/src/main/resources/shaders/fog/fog.frag @@ -5,7 +5,7 @@ out vec4 fragColor; uniform sampler2D gDepthMap; // model view matrix and projection matrix -uniform mat4 gMvmProjInv; +uniform mat4 gMvmProj; uniform float fogScale; uniform float fogVerticalScale; @@ -63,7 +63,7 @@ vec3 calcViewPosition(float fragmentDepth) ndc.xyz = ndc.xyz * 2.0 - 1.0; // TODO: This inverse() should be moved CPU side - vec4 eyeCoord = gMvmProjInv * ndc; + vec4 eyeCoord = inverse(gMvmProj) * ndc; return eyeCoord.xyz / eyeCoord.w; }