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'.master
parent
a29bc8e8ba
commit
dc948382f5
15
src/sky.cpp
15
src/sky.cpp
|
@ -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);
|
||||
}
|
||||
|
||||
float cloud_direct_brightness = 0;
|
||||
float cloud_direct_brightness = 0.0f;
|
||||
if (sunlight_seen) {
|
||||
if (!m_directional_colored_fog) {
|
||||
cloud_direct_brightness = time_brightness;
|
||||
if (time_brightness >= 0.2 && time_brightness < 0.7)
|
||||
cloud_direct_brightness *= 1.3;
|
||||
// Boost cloud brightness relative to sky, at dawn, dusk and at night
|
||||
if (time_brightness < 0.7f)
|
||||
cloud_direct_brightness *= 1.3f;
|
||||
} else {
|
||||
cloud_direct_brightness = MYMIN(m_horizon_blend() * 0.15 +
|
||||
m_time_brightness, 1);
|
||||
cloud_direct_brightness = std::fmin(m_horizon_blend() * 0.15f +
|
||||
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 {
|
||||
cloud_direct_brightness = direct_brightness;
|
||||
|
|
Loading…
Reference in New Issue