# CumulusCloud

#### new Cesium.CumulusCloud()
Scene/CumulusCloud.js 33

A cumulus cloud billboard positioned in the 3D scene, that is created and rendered using a `CloudCollection`. A cloud is created and its initial properties are set by calling `CloudCollection#add`. and `CloudCollection#remove`.
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:

- Cesium Sandcastle Cloud Parameters Demo

##### See:

- CloudCollection
- CloudCollection#add

### Members

#### brightness : Number
Scene/CumulusCloud.js 307

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`

#### maximumSize : Cartesian3
Scene/CumulusCloud.js 209

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 Cesium.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:

- CumulusCloud#scale

#### position : Cartesian3
Scene/CumulusCloud.js 111

Gets or sets the Cartesian position of this cumulus cloud.

#### scale : Cartesian2
Scene/CumulusCloud.js 153

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 Cesium.Cartesian2(12, 8);` | `cloud.scale = new Cesium.Cartesian2(24, 10);`

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

##### See:

- CumulusCloud#maximumSize
- CumulusCloud#slice

#### show : Boolean
Scene/CumulusCloud.js 90

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
Scene/CumulusCloud.js 274

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`