From c25a4aa69cbababb6c961bcb665841db3ebf127d Mon Sep 17 00:00:00 2001 From: makamys Date: Thu, 30 Jun 2022 12:32:20 +0200 Subject: Implement exponential fog --- src/main/resources/shaders/chunk.vert | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/main/resources') diff --git a/src/main/resources/shaders/chunk.vert b/src/main/resources/shaders/chunk.vert index 823b546..f983323 100644 --- a/src/main/resources/shaders/chunk.vert +++ b/src/main/resources/shaders/chunk.vert @@ -14,6 +14,8 @@ uniform mat4 projInv; uniform vec4 viewport; uniform vec4 fogColor; uniform vec2 fogStartEnd; +uniform int fogMode; +uniform float fogDensity; uniform vec3 playerPos; @@ -49,7 +51,10 @@ void main() vec4 eyePos = (modelView * (vec4(aPos - playerPos, 1.0) + vec4(0, 0.12, 0, 0))); float c = length(eyePos); - float fogFactor = clamp((e - c) / (e - s), 0, 1); + float fogFactor = fogMode == 0x2601 + ? clamp((e - c) / (e - s), 0, 1) /* GL_LINEAR */ + : exp(-fogDensity * c); /* GL_EXP */ + FogFactor = fogFactor; } else { -- cgit