puff_progression = 0;
ramp_up = 0.15;
ramp_down = 0.15;
+ // ramp_up = 4.0;
+ // ramp_down = 4.0;
}
{
if ( effective_visibility > 1000.0 ) {
enable();
- dome->repaint( sky_color, fog_color, sun_angle );
+ dome->repaint( sky_color, fog_color, sun_angle, effective_visibility );
oursun->repaint( sun_angle );
moon->repaint( moon_angle );
planets->repaint( sun_angle, nplanets, planet_data );
// draw translucent clouds ... do this after you've drawn all the
// oapaque elements of your scene.
void SGSky::postDraw( float alt ) {
- float slop = 4.0; // if we are closer than this to a cloud layer,
+ float slop = 5.0; // if we are closer than this to a cloud layer,
// don't draw clouds
int in_cloud = -1; // cloud we are in
}
-void SGSky::add_cloud_layer( double asl, double thickness, double transition,
+void SGSky::add_cloud_layer( double asl, double thickness,
+ double transition, double span,
ssgSimpleState *state ) {
SGCloudLayer *layer = new SGCloudLayer;
- layer->build( 40000.0f, asl, thickness, transition, state );
+ layer->build( span, asl, thickness, transition, state );
layer_list_iterator current = cloud_layers.begin();
layer_list_iterator last = cloud_layers.end();
}
-void SGSky::add_cloud_layer( double asl, double thickness, double transition,
+void SGSky::add_cloud_layer( double asl, double thickness,
+ double transition, double span,
const string &tex_path ) {
ssgSimpleState *state = SGCloudMakeState( tex_path );
- add_cloud_layer( asl, thickness, transition, state );
+ add_cloud_layer( asl, thickness, transition, span, state );
}
-void SGSky::add_cloud_layer( double asl, double thickness, double transition,
+void SGSky::add_cloud_layer( double asl, double thickness,
+ double transition, double span,
SGCloudType type ) {
if ( type > 0 && type < SG_MAX_CLOUD_TYPES ) {
- add_cloud_layer( asl, thickness, transition, cloud_mats[type] );
+ add_cloud_layer( asl, thickness, transition, span, cloud_mats[type] );
}
}