CumulusCloud

internal constructor new Ditap.CumulusCloud()

A cloud is created and its initial properties are set by calling CloudCollection#add. and CloudCollection#remove. Do not call the constructor directly.
A cumulus cloud billboard positioned in the 3D scene, that is created and rendered using a CloudCollection.


Example cumulus clouds
Performance:

Similar to Billboard, reading a property, e.g., CumulusCloud#show, takes constant time. Assigning to a property is constant time but results in CPU to GPU traffic when CloudCollection#update is called. The per-cloud traffic is the same regardless of how many properties were updated. If most clouds in a collection need to be updated, it may be more efficient to clear the collection with CloudCollection#removeAll and add new clouds instead of modifying each one.

Demo:
See:

Members

brightness : number

Gets or sets the brightness of the cloud. This can be used to give clouds a darker, grayer appearance.

cloud.brightness = 1.0;
cloud.brightness = 0.6;
cloud.brightness = 0.0;
Default Value: 1.0

color : Color

Sets the color of the cloud
Default Value: Color.WHITE

maximumSize : Cartesian3

Gets or sets the maximum size of the cumulus cloud rendered on the billboard. This defines a maximum ellipsoid volume that the cloud can appear in. Rather than guaranteeing a specific size, this specifies a boundary for the cloud to appear in, and changing it can affect the shape of the cloud.

Changing the z-value of maximumSize has the most dramatic effect on the cloud's appearance because it changes the depth of the cloud, and thus the positions at which the cloud-shaping texture is sampled.

cloud.maximumSize = new Ditap.Cartesian3(14, 9, 10);
cloud.maximumSize.x = 25;
cloud.maximumSize.y = 5;
cloud.maximumSize.z = 17;

To modify the billboard's actual size, modify the cloud's scale property.

See:

position : Cartesian3

Gets or sets the Cartesian position of this cumulus cloud.

scale : Cartesian2

Gets or sets the scale of the cumulus cloud billboard in meters. The scale property will affect the size of the billboard, but not the cloud's actual appearance.

cloud.scale = new Ditap.Cartesian2(12, 8);
cloud.scale = new Ditap.Cartesian2(24, 10);

To modify the cloud's appearance, modify its maximumSize and slice properties.

See:

show : boolean

Determines if this cumulus cloud will be shown. Use this to hide or show a cloud, instead of removing it and re-adding it to the collection.
Default Value: true

slice : number

Gets or sets the "slice" of the cloud that is rendered on the billboard, i.e. the specific cross-section of the cloud chosen for the billboard's appearance. Given a value between 0 and 1, the slice specifies how deeply into the cloud to intersect based on its maximum size in the z-direction.

cloud.slice = 0.32;
cloud.slice = 0.5;
cloud.slice = 0.6;

Due to the nature in which this slice is calculated, values below 0.2 may result in cross-sections that are too small, and the edge of the ellipsoid will be visible. Similarly, values above 0.7 will cause the cloud to appear smaller. Values outside the range [0.1, 0.9] should be avoided entirely because they do not produce desirable results.

cloud.slice = 0.08;
cloud.slice = 0.8;

If slice is set to a negative number, the cloud will not render a cross-section. Instead, it will render the outside of the ellipsoid that is visible. For clouds with small values of `maximumSize.z`, this can produce good-looking results, but for larger clouds, this can result in a cloud that is undesirably warped to the ellipsoid volume.

cloud.slice = -1.0;
cloud.maximumSize.z = 18;

cloud.slice = -1.0;
cloud.maximumSize.z = 30;

Default Value: -1.0