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