Cloud Keyframe¶
-
struct CloudKeyframe : public simul::sky::BaseKeyframe¶
The keyframe structure for clouds, used by simul::clouds::CloudKeyframer.
Public Functions
-
virtual void Save(simul::sky::Output &os) const¶
Save this keyframe’s values to the stream.
-
virtual void Load(simul::sky::Input &is, simul::base::MemoryInterface *memoryInterface)¶
Load this keyframe’s values from the stream.
-
virtual bool HasFloat(const char *name) const¶
Return true if the keyframe has a float value with the given, case-insensitive, name; return false otherwise.
The properties are:
cloudiness
distributionBaseLayer
distributionTransition
upperDensity
localDensity
persistence
cloudBase
cloudHeight
cloudWidth
cloudWidthKm
cloudWidthMetres
directLight
indirectLight
ambientLight
lightAsymmetry
precipitation
fractalAmplitude
edgeSharpness
churn
extinction
rainToSnow
precipitationBaseKm
precipitationWindEffect
precipitationWaver
diffusivity
cache_built
lightning
maxDensityGm3
baseNoiseFactor
offsetx
offsety
rainCentreXKm
rainCentreYKm
rainRadiusKm
rainEdge
virgaStrength
simulation
WorleyNoise
WorleyScale
EdgeWorleyNoise
scalekm
scalekm.x
scalekm.y
scalekm.z
EdgeWorleyScale
-
virtual float GetFloat(const char *name) const¶
Get a float with the given, case-insensitive, name.
-
virtual void SetFloat(const char *name, float val)¶
Set a float with the given, case-insensitive, name.
-
virtual bool HasInt(const char *name) const¶
Return true if the keyframe has an integer or true/false value with the given, case-insensitive, name; return false otherwise.
Octaves
RegionalPrecipitation
LockRainToClouds
-
virtual int GetInt(const char *name) const¶
Get an int with the given, case-insensitive, name.
-
virtual void SetInt(const char *name, int val)¶
Set an int with the given, case-insensitive, name.
-
virtual unsigned GetPropertiesChecksum() const¶
Check for properties that, if altered in the keyframe, would require regeneration of the cloud volume:
-
crossplatform::Quaterniond GetAbsoluteOrientation(const crossplatform::Quaterniond &rel) const¶
From a relative orientation, get the absolute orientation.
Public Members
-
float cloudiness¶
The density of the cloud layer at this time.
-
float distribution_base_layer¶
Start of the transition from the cloud base to the upper cloud (0 to 1)
-
float distribution_transition¶
The transition from the cloud base to the upper cloud (0 to 1)
-
float upper_density¶
The proportion of cloud density retained in the upper layer, above the distribution_transition.
-
float cloud_base_km¶
The base altitude of this cloud layer.
-
float cloud_height_km¶
The height of the cloud layer, above its base altitude.
-
float cloud_width_km¶
The width of the cloud layer in km, or the repeat-length.
-
vec3 scale_km¶
For non-repeating clouds, the shape scale.
-
int octaves¶
The number of noise octaves used to generate the clouds; default 3.
-
float persistence¶
The fractal persistence for generating the clouds, default 0.45.
-
float fractal_amplitude¶
The strength of the fractal edge effect.
-
float edge_sharpness¶
The sharpness to be applied in rendering a the boundary.
-
float churn¶
The strength of the cloud edge churning effect - larger values for more turbulent clouds.
-
float precipitation¶
The amount of rain/snow etc.
-
float rain_to_snow¶
If zero, precipitation is interpreted as rain. If one, it is snow.
-
float precipitation_base_km¶
The lowest altitude that the precipitation can occur; the highest altitude is dictated by cloud_base_km.
-
float diffusivity¶
How much the edges of clouds should be diffused.
-
float max_density_gm3¶
Grams per cubic metre. Default is 0.5.
-
float base_noise_factor¶
What proportion of noise is applied at the cloudbase, between 0 and 1.0.
-
vec2 offsetKm¶
The calculated position offset of this keyframe due to the accumulation of wind motion.
-
float simulation¶
If 1.0, cloud volume is simulated. If 0.0, it is generated by fractal.
-
float worley_noise¶
How much Worley (cell) noise to apply in cloud generation.
-
float worley_scale¶
Scale of the Worley noise. Will be locked to an integer if clouds are wrapping.
-
float edge_worley_noise¶
The strength of the fractal worley edge noise.
-
crossplatform::Quaterniond origin¶
Origin on the globe for this layer.
-
PrecipitationRegion precipitationRegion¶
Where rain/snow is found.
-
std::map<sky::uid, CloudVolumeState> cloudVolumeStates¶
States for cloud volumes listed in the keyframer.
-
virtual void Save(simul::sky::Output &os) const¶