From: Erik Hofman Date: Sun, 5 Jun 2011 08:20:16 +0000 (+0200) Subject: Add a /rendering/scene/overcast option to color the skydome gray in case of overcast X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=8f3cdc940416cea0c61ddd9a202b612517874fb0;p=flightgear.git Add a /rendering/scene/overcast option to color the skydome gray in case of overcast --- diff --git a/src/Time/light.cxx b/src/Time/light.cxx index 861c496e9..19b996153 100644 --- a/src/Time/light.cxx +++ b/src/Time/light.cxx @@ -78,6 +78,7 @@ FGLight::FGLight () _adj_sky_color(0, 0, 0, 0), _saturation(1.0), _scattering(0.8), + _overcast(0.0), _dt_total(0) { } @@ -145,6 +146,7 @@ void FGLight::bind () { // Write Only prop->tie("/rendering/scene/saturation",SGRawValuePointer(&_saturation)); prop->tie("/rendering/scene/scattering",SGRawValuePointer(&_scattering)); + prop->tie("/rendering/scene/overcast",SGRawValuePointer(&_overcast)); // Read Only prop->tie("/sim/time/sun-angle-rad",SGRawValuePointer(&_sun_angle)); @@ -178,7 +180,7 @@ void FGLight::unbind () { SGPropertyNode *prop = globals->get_props(); prop->untie("/rendering/scene/saturation"); prop->untie("/rendering/scene/scattering"); - prop->untie("/environment/relative-humidity"); + prop->untie("/rendering/scene/overcast"); prop->untie("/sim/time/sun-angle-rad"); prop->untie("/rendering/scene/ambient/red"); @@ -261,9 +263,9 @@ void FGLight::update_sky_color () { gamma_correct_rgb( _fog_color.data() ); // set sky color - _sky_color[0] = base_sky_color[0] * sky_brightness; - _sky_color[1] = base_sky_color[1] * sky_brightness; - _sky_color[2] = base_sky_color[2] * sky_brightness; + _sky_color[0] = (base_sky_color[0] + (1.0f-base_sky_color[0]) * _overcast) * sky_brightness; + _sky_color[1] = (base_sky_color[1] + (1.0f-base_sky_color[1]) * _overcast) * sky_brightness; + _sky_color[2] = (base_sky_color[2] + (1.0f-base_sky_color[2]) * _overcast) * sky_brightness; _sky_color[3] = base_sky_color[3]; gamma_correct_rgb( _sky_color.data() ); diff --git a/src/Time/light.hxx b/src/Time/light.hxx index 69987d337..1880c3dea 100644 --- a/src/Time/light.hxx +++ b/src/Time/light.hxx @@ -100,6 +100,7 @@ private: // input parameters affected by the weather system float _saturation; float _scattering; + float _overcast; double _dt_total;