WIP on clouds
This commit is contained in:
parent
14d8b29666
commit
386d9d0258
2 changed files with 7 additions and 6 deletions
|
@ -7,7 +7,8 @@
|
||||||
|
|
||||||
CloudModelStratoCumulus::CloudModelStratoCumulus(CloudLayerDefinition *layer) : BaseCloudsModel(layer) {
|
CloudModelStratoCumulus::CloudModelStratoCumulus(CloudLayerDefinition *layer) : BaseCloudsModel(layer) {
|
||||||
noise = new NoiseFunctionSimplex();
|
noise = new NoiseFunctionSimplex();
|
||||||
base_detail = 0.1;
|
shape_level = 0.1;
|
||||||
|
detail_level = 0.001;
|
||||||
}
|
}
|
||||||
|
|
||||||
CloudModelStratoCumulus::~CloudModelStratoCumulus() {
|
CloudModelStratoCumulus::~CloudModelStratoCumulus() {
|
||||||
|
@ -16,9 +17,8 @@ CloudModelStratoCumulus::~CloudModelStratoCumulus() {
|
||||||
|
|
||||||
void CloudModelStratoCumulus::update() {
|
void CloudModelStratoCumulus::update() {
|
||||||
noise->setState(layer->getNoiseState());
|
noise->setState(layer->getNoiseState());
|
||||||
|
noise->setScaling(layer->scaling);
|
||||||
noise->setScaling(30.0 * layer->scaling);
|
noise->normalizeRange(1.0);
|
||||||
noise->normalizeRange(1.0, base_detail);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CloudModelStratoCumulus::getAltitudeRange(double *min_altitude, double *max_altitude) const {
|
void CloudModelStratoCumulus::getAltitudeRange(double *min_altitude, double *max_altitude) const {
|
||||||
|
@ -37,7 +37,7 @@ BaseCloudsModel::CloudDensityInfo CloudModelStratoCumulus::getDensity(const Vect
|
||||||
} else if (location.y > max_altitude) {
|
} else if (location.y > max_altitude) {
|
||||||
return {0.0, location.y - max_altitude};
|
return {0.0, location.y - max_altitude};
|
||||||
} else {
|
} else {
|
||||||
val = noise->get3d(base_detail, 0.3 * location.x, location.y - min_altitude, 0.3 * location.z);
|
val = noise->get3d(shape_level, location.x * 0.01, (location.y - min_altitude) * 0.03, location.z * 0.01);
|
||||||
val = val - 0.8 + layer->coverage;
|
val = val - 0.8 + layer->coverage;
|
||||||
return {val, fabs(val)};
|
return {val, fabs(val)};
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,8 @@ class CloudModelStratoCumulus : public BaseCloudsModel {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
FractalNoise *noise;
|
FractalNoise *noise;
|
||||||
double base_detail;
|
double shape_level;
|
||||||
|
double detail_level;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue