From d0789a19078544af59421528db67969000f250c9 Mon Sep 17 00:00:00 2001 From: Thorsten Renk <thorsten@science-and-fiction.org> Date: Tue, 13 Feb 2018 15:00:21 +0200 Subject: [PATCH] ALS: tentative fix for skydome monolith artifact - apparently this is a numerical accuracy issue (?) --- Shaders/skydome-ALS.vert | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Shaders/skydome-ALS.vert b/Shaders/skydome-ALS.vert index 25336863a..303106a8b 100644 --- a/Shaders/skydome-ALS.vert +++ b/Shaders/skydome-ALS.vert @@ -287,7 +287,10 @@ void main() float mie_magnitude = 0.5 * smoothstep(350000.0, 150000.0, terminator -sqrt(2.0 * EarthRadius * terrain_alt)); cphi = dot(normalize(relVector), normalize(lightHorizon)); float mie_angle = (0.5 * dot(normalize(relVector), normalize(lightFull)) ) + 0.5; - hazeColor = intensity * ((1.0 - mie_magnitude) + mie_magnitude * mie_angle) * normalize(mix(hazeColor, vec3 (0.5, 0.58, 0.65), mie_magnitude * (0.5 - 0.5 * mie_angle)) ); + + float mie_postfactor = clamp(mie_magnitude * (0.5 - 0.5 * mie_angle),0.001,1.0); + + hazeColor = intensity * ((1.0 - mie_magnitude) + mie_magnitude * mie_angle) * normalize(mix(hazeColor, vec3 (0.5, 0.58, 0.65), mie_postfactor ) ); // Transform