Updates to control span (or lateral size of cloud layer square)

This commit is contained in:
curt 2000-07-04 03:32:02 +00:00
parent a29cbc1112
commit dc7bbdce11
2 changed files with 15 additions and 9 deletions

View File

@ -248,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 span, double asl,
double thickness, double transition,
ssgSimpleState *state ) { ssgSimpleState *state ) {
SGCloudLayer *layer = new SGCloudLayer; 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 current = cloud_layers.begin();
layer_list_iterator last = cloud_layers.end(); layer_list_iterator last = cloud_layers.end();
@ -272,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 span, double asl,
double thickness, double transition,
const string &tex_path ) { const string &tex_path ) {
ssgSimpleState *state = SGCloudMakeState( tex_path ); ssgSimpleState *state = SGCloudMakeState( tex_path );
add_cloud_layer( asl, thickness, transition, state ); add_cloud_layer( span, asl, thickness, transition, state );
} }
void SGSky::add_cloud_layer( double asl, double thickness, double transition, void SGSky::add_cloud_layer( double span, double asl,
double thickness, double transition,
SGCloudType type ) { SGCloudType type ) {
if ( type > 0 && type < SG_MAX_CLOUD_TYPES ) { if ( type > 0 && type < SG_MAX_CLOUD_TYPES ) {
add_cloud_layer( asl, thickness, transition, cloud_mats[type] ); add_cloud_layer( span, asl, thickness, transition, cloud_mats[type] );
} }
} }

View File

@ -153,11 +153,14 @@ public:
} }
// add a cloud layer (above sea level in meters) // add a cloud layer (above sea level in meters)
void add_cloud_layer( double asl, double thickness, double transition, void add_cloud_layer( double span, double asl,
double thickness, double transition,
SGCloudType type ); SGCloudType type );
void add_cloud_layer( double asl, double thickness, double transition, void add_cloud_layer( double span, double asl,
double thickness, double transition,
const string &tex_path ); const string &tex_path );
void add_cloud_layer( double asl, double thickness, double transition, void add_cloud_layer( double span, double asl,
double thickness, double transition,
ssgSimpleState *state ); ssgSimpleState *state );
inline int get_num_layers() const { return cloud_layers.size(); } inline int get_num_layers() const { return cloud_layers.size(); }