# Globe

#### new Cesium.Globe(ellipsoid)
engine/Source/Scene/Globe.js 42

The globe rendered in the scene, including its terrain (`Globe#terrainProvider`) and imagery layers (`Globe#imageryLayers`). Access the globe using `Scene#globe`.

Name | Type | Default | Description
--- | --- | --- | ---
`ellipsoid` | Ellipsoid | `Ellipsoid.WGS84` | optional Determines the size and shape of the globe.

### Members

#### atmosphereBrightnessShift : number
engine/Source/Scene/Globe.js 341

The brightness shift to apply to the atmosphere. Defaults to 0.0 (no shift). A brightness shift of -1.0 is complete darkness, which will let space show through.

Default Value: `0.0`

#### atmosphereHueShift : number
engine/Source/Scene/Globe.js 325

The hue shift to apply to the atmosphere. Defaults to 0.0 (no shift). A hue shift of 1.0 indicates a complete rotation of the hues available.

Default Value: `0.0`

#### atmosphereLightIntensity : number
engine/Source/Scene/Globe.js 204

The intensity of the light that is used for computing the ground atmosphere color.

Default Value: `10.0`

#### atmosphereMieAnisotropy : number
engine/Source/Scene/Globe.js 246

The anisotropy of the medium to consider for Mie scattering.

Valid values are between -1.0 and 1.0.

Default Value: `0.9`

#### atmosphereMieCoefficient : Cartesian3
engine/Source/Scene/Globe.js 220

The Mie scattering coefficient used in the atmospheric scattering equations for the ground atmosphere.

Default Value: `Cartesian3(21e-6, 21e-6, 21e-6)`

#### atmosphereMieScaleHeight : number
engine/Source/Scene/Globe.js 236

The Mie scale height used in the atmospheric scattering equations for the ground atmosphere, in meters.

Default Value: `3200.0`

#### atmosphereRayleighCoefficient : Cartesian3
engine/Source/Scene/Globe.js 212

The Rayleigh scattering coefficient used in the atmospheric scattering equations for the ground atmosphere.

Default Value: `Cartesian3(5.5e-6, 13.0e-6, 28.4e-6)`

#### atmosphereRayleighScaleHeight : number
engine/Source/Scene/Globe.js 228

The Rayleigh scale height used in the atmospheric scattering equations for the ground atmosphere, in meters.

Default Value: `10000.0`

#### atmosphereSaturationShift : number
engine/Source/Scene/Globe.js 333

The saturation shift to apply to the atmosphere. Defaults to 0.0 (no shift). A saturation shift of -1.0 is monochrome.

Default Value: `0.0`

#### backFaceCulling : boolean
engine/Source/Scene/Globe.js 378

Whether to cull back-facing terrain. Back faces are not culled when the camera is underground or translucency is enabled.

Default Value: `true`

#### baseColor : Color
engine/Source/Scene/Globe.js 451

Gets or sets the color of the globe when no imagery is available.

#### cartographicLimitRectangle : Rectangle
engine/Source/Scene/Globe.js 481

A property specifying a `Rectangle` used to limit globe rendering to a cartographic area. Defaults to the maximum extent of cartographic coordinates.

Default Value: ``Rectangle.MAX_VALUE``

#### clippingPlanes : ClippingPlaneCollection
engine/Source/Scene/Globe.js 465

A property specifying a `ClippingPlaneCollection` used to selectively disable rendering on the outside of each plane.

#### depthTestAgainstTerrain : boolean
engine/Source/Scene/Globe.js 307

True if primitives such as billboards, polylines, labels, etc. should be depth-tested against the terrain surface, or false if such primitives should always be drawn on top of terrain unless they're on the opposite side of the globe. The disadvantage of depth testing primitives against terrain is that slight numerical noise or terrain level-of-detail switched can sometimes make a primitive that should be on the surface disappear underneath it.

Default Value: `false`

#### dynamicAtmosphereLighting : boolean
engine/Source/Scene/Globe.js 178

Enable dynamic lighting effects on atmosphere and fog. This only takes effect when `enableLighting` is `true`.

Default Value: `true`

#### dynamicAtmosphereLightingFromSun : boolean
engine/Source/Scene/Globe.js 188

Whether dynamic atmosphere lighting uses the sun direction instead of the scene's light direction. This only takes effect when `enableLighting` and `dynamicAtmosphereLighting` are `true`.

Default Value: `false`

#### ellipsoid : Ellipsoid
engine/Source/Scene/Globe.js 399

Gets an ellipsoid describing the shape of this globe.

#### enableLighting : boolean
engine/Source/Scene/Globe.js 159

Enable lighting the globe with the scene's light source.

Default Value: `false`

#### fillHighlightColor : Color
engine/Source/Scene/Globe.js 151

The color to use to highlight terrain fill tiles. If undefined, fill tiles are not highlighted at all. The alpha value is used to alpha blend with the tile's actual color. Because terrain fill tiles do not represent the actual terrain surface, it may be useful in some applications to indicate visually that they are not to be trusted.

Default Value: `undefined`

#### imageryLayers : ImageryLayerCollection
engine/Source/Scene/Globe.js 409

Gets the collection of image layers that will be rendered on this globe.

#### readonly imageryLayersUpdatedEvent : Event
engine/Source/Scene/Globe.js 421

Gets an event that's raised when an imagery layer is added, shown, hidden, moved, or removed.

#### lambertDiffuseMultiplier : number
engine/Source/Scene/Globe.js 169

A multiplier to adjust terrain lambert lighting. This number is multiplied by the result of `czm_getLambertDiffuse` in GlobeFS.glsl. This only takes effect when `enableLighting` is `true`.

Default Value: `0.9`

#### lightingFadeInDistance : number
engine/Source/Scene/Globe.js 264

The distance where lighting resumes. This only takes effect when `enableLighting` or `showGroundAtmosphere` is `true`.

Default Value: `20000000.0`

#### lightingFadeOutDistance : number
engine/Source/Scene/Globe.js 255

The distance where everything becomes lit. This only takes effect when `enableLighting` or `showGroundAtmosphere` is `true`.

Default Value: `10000000.0`

#### loadingDescendantLimit : number
engine/Source/Scene/Globe.js 122

Gets or sets the number of loading descendant tiles that is considered "too many". If a tile has too many loading descendants, that tile will be loaded and rendered before any of its descendants are loaded and rendered. This means more feedback for the user that something is happening at the cost of a longer overall load time. Setting this to 0 will cause each tile level to be loaded successively, significantly increasing load time. Setting it to a large number (e.g. 1000) will minimize the number of tiles that are loaded but tend to make detail appear all at once after a long wait.

Default Value: `20`

#### material : Material|undefined
engine/Source/Scene/Globe.js 561

Gets or sets the material appearance of the Globe. This can be one of several built-in `Material` objects or a custom material, scripted with Fabric.

#### maximumScreenSpaceError : number
engine/Source/Scene/Globe.js 98

The maximum screen-space error used to drive level-of-detail refinement. Higher values will provide better performance but lower visual quality.

Default Value: `2`

#### nightFadeInDistance : number
engine/Source/Scene/Globe.js 284

The distance where the darkness of night from the ground atmosphere fades in to an unlit ground atmosphere. This only takes effect when `showGroundAtmosphere`, `enableLighting`, and `dynamicAtmosphereLighting` are `true`.

Default Value: `50000000.0`

#### nightFadeOutDistance : number
engine/Source/Scene/Globe.js 274

The distance where the darkness of night from the ground atmosphere fades out to a lit ground atmosphere. This only takes effect when `showGroundAtmosphere`, `enableLighting`, and `dynamicAtmosphereLighting` are `true`.

Default Value: `10000000.0`

#### oceanNormalMapUrl : string
engine/Source/Scene/Globe.js 499

The normal map to use for rendering waves in the ocean. Setting this property will only have an effect if the configured terrain provider includes a water mask.

Default Value: `buildModuleUrl('Assets/Textures/waterNormalsSmall.jpg')`

#### preloadAncestors : boolean
engine/Source/Scene/Globe.js 131

Gets or sets a value indicating whether the ancestors of rendered tiles should be preloaded. Setting this to true optimizes the zoom-out experience and provides more detail in newly-exposed areas when panning. The down side is that it requires loading more tiles.

Default Value: `true`

#### preloadSiblings : boolean
engine/Source/Scene/Globe.js 141

Gets or sets a value indicating whether the siblings of rendered tiles should be preloaded. Setting this to true causes tiles with the same parent as a rendered tile to be loaded, even if they are culled. Setting this to true may provide a better panning experience at the cost of loading more tiles.

Default Value: `false`

#### shadows : ShadowMode
engine/Source/Scene/Globe.js 317

Determines whether the globe casts or receives shadows from light sources. Setting the globe to cast shadows may impact performance since the terrain is rendered again from the light's perspective. Currently only terrain that is in view casts shadows. By default the globe does not cast shadows.

Default Value: `ShadowMode.RECEIVE_ONLY`

#### show : boolean
engine/Source/Scene/Globe.js 84

Determines if the globe will be shown.

Default Value: `true`

#### showGroundAtmosphere : boolean
engine/Source/Scene/Globe.js 196

Enable the ground atmosphere, which is drawn over the globe when viewed from a distance between `lightingFadeInDistance` and `lightingFadeOutDistance`.

Default Value: `true`

#### showSkirts : boolean
engine/Source/Scene/Globe.js 370

Whether to show terrain skirts. Terrain skirts are geometry extending downwards from a tile's edges used to hide seams between neighboring tiles. Skirts are always hidden when the camera is underground or translucency is enabled.

Default Value: `true`

#### showWaterEffect : boolean
engine/Source/Scene/Globe.js 294

True if an animated wave effect should be shown in areas of the globe covered by water; otherwise, false. This property is ignored if the `terrainProvider` does not provide a water mask.

Default Value: `true`

#### terrainExaggeration : number
engine/Source/Scene/Globe.js 351

A scalar used to exaggerate the terrain. Defaults to `1.0` (no exaggeration). A value of `2.0` scales the terrain by 2x. A value of `0.0` makes the terrain completely flat. Note that terrain exaggeration will not modify any other primitive as they are positioned relative to the ellipsoid.

Default Value: `1.0`

#### terrainExaggerationRelativeHeight : number
engine/Source/Scene/Globe.js 361

The height from which terrain is exaggerated. Defaults to `0.0` (scaled relative to ellipsoid surface). Terrain that is above this height will scale upwards and terrain that is below this height will scale downwards. Note that terrain exaggeration will not modify any other primitive as they are positioned relative to the ellipsoid. If `Globe#terrainExaggeration` is `1.0` this value will have no effect.

Default Value: `0.0`

#### terrainProvider : TerrainProvider
engine/Source/Scene/Globe.js 516

The terrain provider providing surface geometry for this globe.

#### readonly terrainProviderChanged : Event
engine/Source/Scene/Globe.js 537

Gets an event that's raised when the terrain provider is changed

#### tileCacheSize : number
engine/Source/Scene/Globe.js 109

The size of the terrain tile cache, expressed as a number of tiles. Any additional tiles beyond this number will be freed, as long as they aren't needed for rendering this frame. A larger number will consume more memory but will show detail faster when, for example, zooming out and then back in.

Default Value: `100`

#### tileLoadProgressEvent : Event
engine/Source/Scene/Globe.js 549

Gets an event that's raised when the length of the tile load queue has changed since the last render frame. When the load queue is empty, all terrain and imagery for the current view have been loaded. The event passes the new length of the tile load queue.

#### readonly tilesLoaded : boolean
engine/Source/Scene/Globe.js 433

Returns `true` when the tile load queue is empty, `false` otherwise. When the load queue is empty, all terrain and imagery for the current view have been loaded.

#### translucency : GlobeTranslucency
engine/Source/Scene/Globe.js 636

Properties for controlling globe translucency.

#### undergroundColor : Color
engine/Source/Scene/Globe.js 585

The color to render the back side of the globe when the camera is underground or the globe is translucent, blended with the globe color based on the camera's distance.
To disable underground coloring, set `undergroundColor` to `undefined`.

Default Value: ``Color.BLACK``

##### See:

- Globe#undergroundColorAlphaByDistance

#### undergroundColorAlphaByDistance : NearFarScalar
engine/Source/Scene/Globe.js 611

Gets or sets the near and far distance for blending `Globe#undergroundColor` with the globe color. The alpha will interpolate between the `NearFarScalar#nearValue` and `NearFarScalar#farValue` while the camera distance falls within the lower and upper bounds of the specified `NearFarScalar#near` and `NearFarScalar#far`. Outside of these ranges the alpha remains clamped to the nearest bound. If undefined, the underground color will not be blended with the globe color.
When the camera is above the ellipsoid the distance is computed from the nearest point on the ellipsoid instead of the camera's position.

##### See:

- Globe#undergroundColor

#### vertexShadowDarkness : number
engine/Source/Scene/Globe.js 390

Determines the darkness of the vertex shadow. This only takes effect when `enableLighting` is `true`.

Default Value: `0.3`

### Methods

#### destroy()
engine/Source/Scene/Globe.js 1124

Destroys the WebGL resources held by this object. Destroying an object allows for deterministic release of WebGL resources, instead of relying on the garbage collector to destroy this object.
Once an object is destroyed, it should not be used; calling any function other than `isDestroyed` will result in a `DeveloperError` exception. Therefore, assign the return value (`undefined`) to the object as done in the example.

##### Throws:

- DeveloperError : This object was destroyed, i.e., destroy() was called.

##### Example:

    globe = globe && globe.destroy();

##### See:

- Globe#isDestroyed

#### getHeight(cartographic) → number|undefined
engine/Source/Scene/Globe.js 842

Get the height of the surface at a given cartographic.

Name | Type | Description
--- | --- | ---
`cartographic` | Cartographic | The cartographic for which to find the height.

##### Returns:

The height of the cartographic or undefined if it could not be found.

#### isDestroyed() → boolean
engine/Source/Scene/Globe.js 1104

Returns true if this object was destroyed; otherwise, false.
If this object was destroyed, it should not be used; calling any function other than `isDestroyed` will result in a `DeveloperError` exception.

##### Returns:

True if this object was destroyed; otherwise, false.

##### See:

- Globe#destroy

#### pick(ray, scene, result) → Cartesian3|undefined
engine/Source/Scene/Globe.js 814

Find an intersection between a ray and the globe surface that was rendered. The ray must be given in world coordinates.

Name | Type | Description
--- | --- | ---
`ray` | Ray | The ray to test for intersection.
`scene` | Scene | The scene.
`result` | Cartesian3 | optional The object onto which to store the result.

##### Returns:

The intersection or `undefined` if none was found.

##### Example:

    // find intersection of ray through a pixel and the globe
    const ray = viewer.camera.getPickRay(windowCoordinates);
    const intersection = globe.pick(ray, scene);

Need help? The fastest way to get answers is from the community and team on the Cesium Forum.