# Globe

#### new Cesium.Globe(ellipsoid)
Scene/Globe.js 70

  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

#### baseColor : Color
Scene/Globe.js 221

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

#### depthTestAgainstTerrain : Boolean
Scene/Globe.js 189

  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`

#### ellipsoid : Ellipsoid
Scene/Globe.js 201

  Gets an ellipsoid describing the shape of this globe.

#### enableLighting : Boolean
Scene/Globe.js 148

  Enable lighting the globe with the sun as a light source.
  Default Value: `false`

#### imageryLayers : ImageryLayerCollection
Scene/Globe.js 211

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

#### lightingFadeInDistance : Number
Scene/Globe.js 166

  The distance where lighting resumes. This only takes effect when `enableLighting` is `true`.
  Default Value: `9000000.0`

#### lightingFadeOutDistance : Number
Scene/Globe.js 157

  The distance where everything becomes lit. This only takes effect when `enableLighting` is `true`.
  Default Value: `6500000.0`

#### maximumScreenSpaceError : Number
Scene/Globe.js 129

  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`

#### oceanNormalMapUrl : String
Scene/Globe.js 119

  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')`

#### show : Boolean
Scene/Globe.js 110

  Determines if the globe will be shown.
  Default Value: `true`

#### showWaterEffect : Boolean
Scene/Globe.js 176

  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`

#### terrainProvider : TerrainProvider
Scene/Globe.js 102

  The terrain provider providing surface geometry for this globe.

#### tileCacheSize : Number
Scene/Globe.js 140

  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
Scene/Globe.js 236

  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.

### Methods

#### destroy() → undefined
Scene/Globe.js 508

  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.

  ##### Returns:

  ##### Throws:

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

  ##### Example:

      globe = globe && globe.destroy();

  ##### See:

  - Globe#isDestroyed

#### getHeight(cartographic) → Number|undefined
Scene/Globe.js 340

  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
Scene/Globe.js 486

  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
Scene/Globe.js 271

  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
      var ray = viewer.camera.getPickRay(windowCoordinates);
      var intersection = globe.pick(ray, scene);