X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fsky%2Fsky.cxx;h=5cde898fb29e360e460a0c0f12b50326c597dd53;hb=6531b1ebbc5c82bed5f52869511e880afd05bfcf;hp=38a5f181cacb136bfda7e9f2a78f1fcf847f69a8;hpb=38167ed273a56e4bd3878069d8b5bf7afde5e03a;p=simgear.git diff --git a/simgear/sky/sky.cxx b/simgear/sky/sky.cxx index 38a5f181..5cde898f 100644 --- a/simgear/sky/sky.cxx +++ b/simgear/sky/sky.cxx @@ -44,6 +44,8 @@ SGSky::SGSky( void ) { puff_progression = 0; ramp_up = 0.15; ramp_down = 0.15; + // ramp_up = 4.0; + // ramp_down = 4.0; } @@ -129,7 +131,7 @@ bool SGSky::repaint( sgVec4 sky_color, sgVec4 fog_color, { 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 ); @@ -185,7 +187,7 @@ void SGSky::preDraw() { // 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 @@ -246,10 +248,11 @@ void SGSky::postDraw( float alt ) { } -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(); @@ -270,17 +273,19 @@ void SGSky::add_cloud_layer( double asl, double thickness, double transition, } -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] ); } }