Globe顾名思义就是地球的意思吧。
先看构造函数:
function Globe(ellipsoid) { ellipsoid = defaultValue(ellipsoid, Ellipsoid.WGS84); var terrainProvider = new EllipsoidTerrainProvider({ ellipsoid: ellipsoid, }); var imageryLayerCollection = new ImageryLayerCollection(); this._ellipsoid = ellipsoid; this._imageryLayerCollection = imageryLayerCollection; this._surfaceShaderSet = new GlobeSurfaceShaderSet(); this._material = undefined; this._surface = new QuadtreePrimitive({ tileProvider: new GlobeSurfaceTileProvider({ terrainProvider: terrainProvider, imageryLayers: imageryLayerCollection, surfaceShaderSet: this._surfaceShaderSet, }), }); this._terrainProvider = terrainProvider; this._terrainProviderChanged = new Event(); this._undergroundColor = Color.clone(Color.BLACK); this._undergroundColorAlphaByDistance = new NearFarScalar( ellipsoid.maximumRadius / 1000.0, 0.0, ellipsoid.maximumRadius / 5.0, 1.0 ); this._translucency = new GlobeTranslucency(); makeShadersDirty(this); /** * Determines if the globe will be shown. * * @type {Boolean} * @default true */ this.show = true; this._oceanNormalMapResourceDirty = true; this._oceanNormalMapResource = new Resource({ url: buildModuleUrl("Assets/Textures/waterNormalsSmall.jpg"), }); /** * The maximum screen-space error used to drive level-of-detail refinement. Higher * values will provide better performance but lower visual quality. * * @type {Number} * @default 2 */ this.maximumScreenSpaceError = 2; /** * 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. * * @type {Number} * @default 100 */ this.tileCacheSize = 100; /** * 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. * @type {Number} * @default 20 */ this.loadingDescendantLimit = 20; /** * 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. * @type {Boolean} * @default true */ this.preloadAncestors = true; /** * 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. * @type {Boolean} * @default false */ this.preloadSiblings = false; /** * 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. * @type {Color} * @default undefined */ this.fillHighlightColor = undefined; /** * Enable lighting the globe with the scene's light source. * * @type {Boolean} * @default false */ this.enableLighting = false; /** * Enable dynamic lighting effects on atmosphere and fog. This only takes effect * when <code>enableLighting</code> is <code>true</code>. * * @type {Boolean} * @default true */ this.dynamicAtmosphereLighting = true; /** * Whether dynamic atmosphere lighting uses the sun direction instead of the scene's * light direction. This only takes effect when <code>enableLighting</code> and * <code>dynamicAtmosphereLighting</code> are <code>true</code>. * * @type {Boolean} * @default false */ this.dynamicAtmosphereLightingFromSun = false; /** * Enable the ground atmosphere, which is drawn over the globe when viewed from a distance between <code>lightingFadeInDistance</code> and <code>lightingFadeOutDistance</code>. * * @demo {@link https://sandcastle.cesium.com/index.html?src=Ground%20Atmosphere.html|Ground atmosphere demo in Sandcastle} * * @type {Boolean} * @default true */ this.showGroundAtmosphere = true; /** * The distance where everything becomes lit. This only takes effect * when <code>enableLighting</code> or <code>showGroundAtmosphere</code> is <code>true</code>. * * @type {Number} * @default 10000000.0 */ this.lightingFadeOutDistance = 1.0e7; /** * The distance where lighting resumes. This only takes effect * when <code>enableLighting</code> or <code>showGroundAtmosphere</code> is <code>true</code>. * * @type {Number} * @default 20000000.0 */ this.lightingFadeInDistance = 2.0e7; /** * The distance where the darkness of night from the ground atmosphere fades out to a lit ground atmosphere. * This only takes effect when <code>showGroundAtmosphere</code>, <code>enableLighting</code>, and * <code>dynamicAtmosphereLighting</code> are <code>true</code>. * * @type {Number} * @default 10000000.0 */ this.nightFadeOutDistance = 1.0e7; /** * The distance where the darkness of night from the ground atmosphere fades in to an unlit ground atmosphere. * This only takes effect when <code>showGroundAtmosphere</code>, <code>enableLighting</code>, and * <code>dynamicAtmosphereLighting</code> are <code>true</code>. * * @type {Number} * @default 50000000.0 */ this.nightFadeInDistance = 5.0e7; /** * 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 * <code>terrainProvider</code> does not provide a water mask. * * @type {Boolean} * @default true */ this.showWaterEffect = true; /** * 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. * * @type {Boolean} * @default false * */ this.depthTestAgainstTerrain = false; /** * 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. * * @type {ShadowMode} * @default ShadowMode.RECEIVE_ONLY */ this.shadows = ShadowMode.RECEIVE_ONLY; /** * 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. * @type {Number} * @default 0.0 */ this.atmosphereHueShift = 0.0; /** * The saturation shift to apply to the atmosphere. Defaults to 0.0 (no shift). * A saturation shift of -1.0 is monochrome. * @type {Number} * @default 0.0 */ this.atmosphereSaturationShift = 0.0; /** * 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. * @type {Number} * @default 0.0 */ this.atmosphereBrightnessShift = 0.0; /** * 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. * * @type {Boolean} * @default true */ this.showSkirts = true; /** * Whether to cull back-facing terrain. Back faces are not culled when the camera is underground or translucency is enabled. * * @type {Boolean} * @default true */ this.backFaceCulling = true; this._oceanNormalMap = undefined; this._zoomedOutOceanSpecularIntensity = undefined; }
标签:tiles,default,type,Globe,terrain,js,._,Cesium,true From: https://www.cnblogs.com/2008nmj/p/17375696.html