aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources/shaders/chunk_fog.frag
diff options
context:
space:
mode:
authormakamys <makamys@outlook.com>2022-06-08 23:12:52 +0200
committermakamys <makamys@outlook.com>2022-06-08 23:37:36 +0200
commitaa4ef7da768ea2f2f3c4e025d28fe3edb2ae4ea9 (patch)
treea092af7056cfb6967873251fadd2ae8db8a1295d /src/main/resources/shaders/chunk_fog.frag
parent39bbc34b7f9ce1cad8889c4e9c5a082b223574e3 (diff)
downloadNeodymium-aa4ef7da768ea2f2f3c4e025d28fe3edb2ae4ea9.tar.gz
Neodymium-aa4ef7da768ea2f2f3c4e025d28fe3edb2ae4ea9.tar.bz2
Neodymium-aa4ef7da768ea2f2f3c4e025d28fe3edb2ae4ea9.zip
Optimize fog
Now it gets me as much FPS as no fog! (370 fps; prior to this commit fog reduced it to 230)
Diffstat (limited to 'src/main/resources/shaders/chunk_fog.frag')
-rw-r--r--src/main/resources/shaders/chunk_fog.frag18
1 files changed, 2 insertions, 16 deletions
diff --git a/src/main/resources/shaders/chunk_fog.frag b/src/main/resources/shaders/chunk_fog.frag
index 36c10af..160ae65 100644
--- a/src/main/resources/shaders/chunk_fog.frag
+++ b/src/main/resources/shaders/chunk_fog.frag
@@ -8,6 +8,7 @@ in vec4 Viewport;
in mat4 ProjInv;
in vec4 FogColor;
in vec2 FogStartEnd;
+in float FogFactor;
uniform sampler2D atlas;
uniform sampler2D lightTex;
@@ -21,20 +22,5 @@ void main()
vec4 rasterColor = ((texColor * colorMult) * lightyColor);
- float s = FogStartEnd.x;
- float e = FogStartEnd.y;
-
- vec4 ndcPos;
- ndcPos.xy = ((2.0 * gl_FragCoord.xy) - (2.0 * Viewport.xy)) / (Viewport.zw) - 1;
- ndcPos.z = (2.0 * gl_FragCoord.z - gl_DepthRange.near - gl_DepthRange.far) /
- (gl_DepthRange.far - gl_DepthRange.near);
- ndcPos.w = 1.0;
-
- vec4 clipPos = ndcPos / gl_FragCoord.w;
- vec4 eyePos = ProjInv * clipPos;
-
- float z = length(eyePos);
- float f = (e - z) / (e - s);
- f = clamp(f, 0, 1);
- FragColor = mix(FogColor, rasterColor, f);
+ FragColor = vec4(mix(FogColor.xyz, rasterColor.xyz, FogFactor), rasterColor.w);
}