// Constructor
SGSky::SGSky( void ) {
effective_visibility = visibility = 10000.0;
+ minimum_sky_visibility = 1000;
// near cloud visibility state variables
in_puff = false;
// 180 degrees = darkest midnight
bool SGSky::repaint( const SGSkyColor &sc, const SGEphemeris& eph )
{
- if ( effective_visibility > 1000.0 ) {
+ if ( effective_visibility > minimum_sky_visibility ) {
enable();
dome->repaint( sc.adj_sky_color, sc.sky_color, sc.fog_color,
sc.sun_angle, effective_visibility );
SGCloudField::setUseImpostors(imp);
}
+float SGSky::get_minimum_sky_visibility() const
+{
+ return minimum_sky_visibility;
+}
+
+void SGSky::set_minimum_sky_visibility( float value )
+{
+ minimum_sky_visibility = value;
+}
void SGSky::texture_path( const string& path ) {
tex_path = SGPath( path );
// visibility
float visibility;
float effective_visibility;
+ float minimum_sky_visibility;
int in_cloud;
int cur_layer_pos;
virtual void set_3dCloudWrap(bool wrap);
-};
-
+ /** Get minimum sky visibility */
+ virtual float get_minimum_sky_visibility() const;
+ /** Set minimum sky visibility */
+ virtual void set_minimum_sky_visibility( float value );
+};
#endif // _SG_SKY_HXX