Night clouds: Boost brightness for a moonlit appearence (#7748)

Previously, night clouds were almost indistinguishable from night sky,
especially since a recent commit that made night sky brighter.
They were lacking the beautiful luminosity caused by being lit by the
permanently-full moon.

When 'directional_colored_fog = false' allow the dawn/dusk cloud
brightness boost to apply through the night too.
Set an identical minimum cloud brightness for when
'directional_colored_fog = true'.
This commit is contained in:
Paramat 2018-10-01 19:43:32 +01:00 committed by GitHub
parent a29bc8e8ba
commit dc948382f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -721,15 +721,20 @@ void Sky::update(float time_of_day, float time_brightness,
m_skycolor = m_mix_scolor(m_skycolor, pointcolor, m_horizon_blend() * 0.25); m_skycolor = m_mix_scolor(m_skycolor, pointcolor, m_horizon_blend() * 0.25);
} }
float cloud_direct_brightness = 0; float cloud_direct_brightness = 0.0f;
if (sunlight_seen) { if (sunlight_seen) {
if (!m_directional_colored_fog) { if (!m_directional_colored_fog) {
cloud_direct_brightness = time_brightness; cloud_direct_brightness = time_brightness;
if (time_brightness >= 0.2 && time_brightness < 0.7) // Boost cloud brightness relative to sky, at dawn, dusk and at night
cloud_direct_brightness *= 1.3; if (time_brightness < 0.7f)
cloud_direct_brightness *= 1.3f;
} else { } else {
cloud_direct_brightness = MYMIN(m_horizon_blend() * 0.15 + cloud_direct_brightness = std::fmin(m_horizon_blend() * 0.15f +
m_time_brightness, 1); m_time_brightness, 1.0f);
// Set the same minimum cloud brightness at night
if (time_brightness < 0.5f)
cloud_direct_brightness = std::fmax(cloud_direct_brightness,
time_brightness * 1.3f);
} }
} else { } else {
cloud_direct_brightness = direct_brightness; cloud_direct_brightness = direct_brightness;