Sky: Darker, bluer sky and improved horizon haze at night
authorparamat <mat.gregory@virginmedia.com>
Tue, 24 May 2016 23:56:49 +0000 (00:56 +0100)
committerparamat <mat.gregory@virginmedia.com>
Thu, 9 Jun 2016 00:50:52 +0000 (01:50 +0100)
Add new colours 'skycolour_bright_night', 'bgcolour_bright_night'
and enable these between sunset end and sunrise start
Night sky has same hue as day sky but is darker and more saturated
Night horizon haze (bgcolour) is slightly less saturated and
slightly brighter than night sky, to be consistent with daytime
horizon haze

src/sky.cpp

index 4ee750c556c551d268ff7f982a511a65fbb44b6e..7757120bfea02d6bb9ae1335a7cbcb9b1ae5c349 100644 (file)
@@ -510,11 +510,15 @@ void Sky::update(float time_of_day, float time_brightness,
        //video::SColorf bgcolor_bright_dawn_f(0.666*1.2,0.549*1.0,0.220*1.2,1.0);
        video::SColorf bgcolor_bright_dawn_f
                        (155./255*1.2,193./255,240./255, 1.0);
+       video::SColorf bgcolor_bright_night_f
+                       (64./255, 144./255, 255./255, 1.0);
 
        video::SColorf skycolor_bright_normal_f =
                        video::SColor(255, 140, 186, 250);
        video::SColorf skycolor_bright_dawn_f =
                        video::SColor(255, 180, 186, 250);
+       video::SColorf skycolor_bright_night_f =
+                       video::SColor(255, 0, 107, 255);
        
        video::SColorf cloudcolor_bright_normal_f =
                        video::SColor(255, 240,240,255);
@@ -550,10 +554,18 @@ void Sky::update(float time_of_day, float time_brightness,
                        m_cloudcolor_bright_f = m_cloudcolor_bright_f.getInterpolated(
                                        cloudcolor_bright_dawn_f, color_change_fraction);
                } else {
-                       m_bgcolor_bright_f = m_bgcolor_bright_f.getInterpolated(
-                                       bgcolor_bright_normal_f, color_change_fraction);
-                       m_skycolor_bright_f = m_skycolor_bright_f.getInterpolated(
-                                       skycolor_bright_normal_f, color_change_fraction);
+                       if (time_brightness < 0.07) {  // Night sky
+                               m_bgcolor_bright_f = m_bgcolor_bright_f.getInterpolated(
+                                               bgcolor_bright_night_f, color_change_fraction);
+                               m_skycolor_bright_f = m_skycolor_bright_f.getInterpolated(
+                                               skycolor_bright_night_f, color_change_fraction);
+                       } else {  // Daytime sky
+                               m_bgcolor_bright_f = m_bgcolor_bright_f.getInterpolated(
+                                               bgcolor_bright_normal_f, color_change_fraction);
+                               m_skycolor_bright_f = m_skycolor_bright_f.getInterpolated(
+                                               skycolor_bright_normal_f, color_change_fraction);
+                       }
+
                        m_cloudcolor_bright_f = m_cloudcolor_bright_f.getInterpolated(
                                        cloudcolor_bright_normal_f, color_change_fraction);
                }