Cloud Interface Classes¶
-
class simul::clouds::CloudProperties¶
A virtual interface that returns the keyframe-independent cloud properties.
Subclassed by simul::clouds::CellularCloudGrid
Public Functions
- virtual see simul::clouds::CloudKeyframe::persistence Density of clouds for rendering Not used by all renderers virtual VIRTUAL_GetAndSet(float, MinimumLightElevationDegrees,"Minimum elevation for lighting - if light direction is below this angle, it will be raised - useful for sunsets.") virtual simul int GetGenerationNumber () const =0
get the effective origin in world co-ordinates, including wind offsets:
A number that is changed every time the clouds are regenerated.
-
virtual void GetExtents(simul::math::Vector3 &X1, simul::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 simul::math::Vector3 &dir, const simul::math::Vector3 &orig, const simul::math::Vector3 &scales) const = 0¶
Get a 4x4 matrix to transform from real space to lightspace.
-
virtual const float *GetTransformLightspaceToCloudspaceMatrix(unsigned axis, const simul::math::Vector3 &dir, const simul::math::Vector3 &orig, const simul::math::Vector3 &scales, float cloud_base_z, float w, float h) const = 0¶
Get a 4x4 matrix to transform from lightspace to cloudspace.
-
class simul::clouds::CloudInterface¶
The virtual interface for controlling and reading cloud data.
Public Functions
-
virtual float GetOpticalPathLength(float cloud_base_z, float w, float h, const simul::math::Vector3 &X, const simul::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 simul::math::Vector3 &X, float time, float cloudiness, float extinction, float diffusivity) const = 0¶
Get the normalized cloud density at real-world position X.
-
virtual simul::math::NoiseInterface *GetNoiseInterface() = 0¶
Get the noise object.
-
virtual float GetOpticalPathLength(float cloud_base_z, float w, float h, const simul::math::Vector3 &X, const simul::math::Vector3 &dir, float time, float cloudiness, float extinction, float diffusivity) const = 0¶
-
class simul::clouds::CloudGridInterface¶
The virtual interface for controlling and reading a grid of cloud data.
Public Functions
- Z (Up-Down) axis grid size of volumetric texture.") virtual void GetGrid(int &width
Get the grid width (x size), length (y size) and height (z size).
-
virtual void SetGrid(int width, int length, int height) = 0¶
Set the grid width (x size), length (y size) and height (z size).