X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FTime%2Flight.hxx;h=75c23ca93c54cfb7d4e834f5356124c0a0178a01;hb=da73dd97d3d0e36b6078728ac39f0b98cae46ff7;hp=6a7500c9a204d7e47224d0f1a06d04defb78e8c1;hpb=e503591af4f16814d78ded49c5979e273d81a0be;p=flightgear.git diff --git a/src/Time/light.hxx b/src/Time/light.hxx index 6a7500c9a..75c23ca93 100644 --- a/src/Time/light.hxx +++ b/src/Time/light.hxx @@ -36,6 +36,7 @@ #include +#include #include #include @@ -85,8 +86,10 @@ private: SGVec4f _scene_ambient; SGVec4f _scene_diffuse; SGVec4f _scene_specular; + SGVec4f _scene_chrome; // clear sky, fog and cloud color + SGVec4f _sun_color; SGVec4f _sky_color; SGVec4f _fog_color; SGVec4f _cloud_color; @@ -95,11 +98,23 @@ private: SGVec4f _adj_fog_color; SGVec4f _adj_sky_color; + // input parameters affected by the weather system + float _saturation; + float _scattering; + float _overcast; + double _dt_total; void update_sky_color (); void update_adj_fog_color (); + void updateSunPos(); + + // properties for chrome light; not a tie because I want to fire + // property listeners when the values change. + SGPropertyNode_ptr _chromeProps[4]; + + SGPropertyNode_ptr _sunAngleRad; public: FGLight (); @@ -117,13 +132,13 @@ public: inline const SGVec4f& scene_ambient () const { return _scene_ambient; } inline const SGVec4f& scene_diffuse () const { return _scene_diffuse; } inline const SGVec4f& scene_specular () const { return _scene_specular; } + inline const SGVec4f& scene_chrome () const { return _scene_chrome; } inline const SGVec4f& sky_color () const { return _sky_color; } inline const SGVec4f& cloud_color () const { return _cloud_color; } inline const SGVec4f& adj_fog_color () const { return _adj_fog_color; } inline const SGVec4f& adj_sky_color () const { return _adj_sky_color; } - // Sun related functions inline double get_sun_angle () const { return _sun_angle; }