Cloud Interface Classes¶
-
class CloudProperties¶
A virtual interface that returns the keyframe-independent cloud properties.
Subclassed by simul::clouds::CellularCloudGrid
Public Functions
-
virtual platform::math::Vector3 GetOrigin(platform::math::Vector3, float cloud_base_z, float w) const = 0¶
get the effective origin in world co-ordinates, including wind offsets:
-
virtual int GetGenerationNumber() const = 0¶
A number that is changed every time the clouds are regenerated.
-
virtual void GetExtents(platform::math::Vector3 &X1, platform::math::Vector3 &X2, float cloud_base_z, float w, float h) const = 0¶
Get the physical extents of the cloud volume in the x, y and z directions.
-
virtual const float *GetTransformToLightspaceMatrix(unsigned axis, const platform::math::Vector3 &dir, const platform::math::Vector3 &orig, const platform::math::Vector3 &scales) const = 0¶
Get a 4x4 matrix to transform from real space to lightspace.
-
virtual const float *GetTransformLightspaceToCloudspaceMatrix(unsigned axis, const platform::math::Vector3 &dir, const platform::math::Vector3 &orig, const platform::math::Vector3 &scales, float cloud_base_z, float w, float h) const = 0¶
Get a 4x4 matrix to transform from lightspace to cloudspace.
-
virtual platform::math::Vector3 GetOrigin(platform::math::Vector3, float cloud_base_z, float w) const = 0¶
-
class CloudInterface¶
The virtual interface for controlling and reading cloud data.
Public Functions
-
virtual float GetOpticalPathLength(float cloud_base_z, float w, float h, const platform::math::Vector3 &X, const platform::math::Vector3 &dir, float time, float cloudiness, float extinction, float diffusivity) const = 0¶
At the 3D Position X, find the optical density of cloud in the direction dir.
-
virtual float GetCloudDensity(float cloud_base_z, float width, float height, const platform::math::Vector3 &X, float time, float cloudiness, float extinction, float diffusivity) const = 0¶
Get the normalized cloud density at real-world position X.
-
virtual platform::math::NoiseInterface *GetNoiseInterface() = 0¶
Get the noise object.
-
virtual float GetOpticalPathLength(float cloud_base_z, float w, float h, const platform::math::Vector3 &X, const platform::math::Vector3 &dir, float time, float cloudiness, float extinction, float diffusivity) const = 0¶
-
class CloudGridInterface¶
The virtual interface for controlling and reading a grid of cloud data.