OpenStreetMapImageryProvider
usage in comments, change default url and add tile.openstreetmap.org
to RequestScheduler.requestsByServer
. #11407CzmlDataSource
in cases of custom Ellipsoid.WGS84
definitions. #11190KHR_texture_transform
extension. #11411CartographicGeocoderService
from the default geocoder services in GeocoderViewModel
. #11433.This is an npm-only release to fix a dependency issue published in 1.107.1
Model
would not respond to different alpha values in a Cesium3DTileStyle
. #11399tangentEC
in custom shaders. #11394viewer.flyTo
to navigate to an ImageryLayer. #11392depthTestAgainstTerrain
value being overridden when using the base layer picker widget. #11393readyPromise
pattern has been removed across the API. This has been done to facilitate better asynchronous flow and error handling. For example:try {
const tileset = await Cesium.Cesium3DTileset.fromUrl(url);
viewer.scene.primitives.add(tileset);
} catch (error) {
console.log(`Failed to load tileset: ${error}`);
}
try {
const viewer = new Cesium.Viewer("cesiumContainer", {
terrainProvider: await Cesium.createWorldTerrainAsync();
});
} catch (error) {
console.log(`Failed to created terrain: ${error}`);
}
CesiumWidget
constructor option options.imageryProvider
has been removed. Use options.baseLayer
instead.ImageryProvider.ready
and ImageryProvider.readyPromise
have been removed.ImageryProvider.defaultAlpha
, ImageryProvider.defaultNightAlpha
, ImageryProvider.defaultDayAlpha
, ImageryProvider.defaultBrightness
, ImageryProvider.defaultContrast
, ImageryProvider.defaultHue
, ImageryProvider.defaultSaturation
, ImageryProvider.defaultGamma
, ImageryProvider.defaultMinificationFilter
, ImageryProvider.defaultMagnificationFilter
have been removed. Use ImageryLayer.alpha
, ImageryLayer.nightAlpha
, ImageryLayer.dayAlpha
, ImageryLayer.brightness
, ImageryLayer.contrast
, ImageryLayer.hue
, ImageryLayer.saturation
, ImageryLayer.gamma
, ImageryLayer.minificationFilter
, ImageryLayer.magnificationFilter
instead.ImageryLayer.getViewableRectangle
was removed. Use ImageryLayer.getImageryRectangle
instead.ArcGisMapServerImageryProvider
constructor parameter url
,ArcGisMapServerImageryProvider.ready
, and ArcGisMapServerImageryProvider.readyPromise
have been removed. Use ArcGisMapServerImageryProvider.fromUrl
instead.BingMapsImageryProvider
constructor parameter url
,BingMapsImageryProvider.ready
, and BingMapsImageryProvider.readyPromise
have been removed. Use BingMapsImageryProvider.fromUrl
instead.GoogleEarthEnterpriseImageryProvider
constructor parameters options.url
and options.metadata
, GoogleEarthEnterpriseImageryProvider.ready
, and GoogleEarthEnterpriseImageryProvider.readyPromise
have been removed. Use GoogleEarthEnterpriseImageryProvider.fromMetadata
instead.GoogleEarthEnterpriseMapsProvider
constructor parameters options.url
and options.channel
, GoogleEarthEnterpriseMapsProvider.ready
, and GoogleEarthEnterpriseMapsProvider.readyPromise
have been removed. Use GoogleEarthEnterpriseMapsProvider.fromUrl
instead.GridImageryProvider.ready
and GridImageryProvider.readyPromise
have been removed.IonImageryProvider
constructor parameter assetId
,BIonImageryProvider.ready
, and IonImageryProvider.readyPromise
have been removed. Use IonImageryProvider.fromAssetId
instead.MapboxImageryProvider.ready
and MapboxImageryProvider.readyPromise
have been removed.MapboxStyleImageryProvider.ready
and MapboxStyleImageryProvider.readyPromise
have been removed.OpenStreetMapImageryProvider.ready
and OpenStreetMapImageryProvider.readyPromise
have been removed.SingleTileImageryProvider
constructor parameters options.tileHeight
and options.tileWidth
became required in CesiumJS 1.104. Omitting these properties will result in an error in 1.107. Provide options.tileHeight
and options.tileWidth
, or use SingleTileImageryProvider.fromUrl
instead.SingleTileImageryProvider.ready
and SingleTileImageryProvider.readyPromise
have been removed. Use SingleTileImageryProvider.fromUrl
instead.TileCoordinatesImageryProvider.ready
and TileCoordinatesImageryProvider.readyPromise
have been removed.TileMapServiceImageryProvider
constructor parameter options.url
, TileMapServiceImageryProvider.ready
, and TileMapServiceImageryProvider.readyPromise
have been removed. Use TileMapServiceImageryProvider.fromUrl
instead.UrlTemplateImageryProvider.reinitialize
, UrlTemplateImageryProvider.ready
, and UrlTemplateImageryProvider.readyPromise
have been removed.WebMapServiceImageryProvider.ready
, and WebMapServiceImageryProvider.readyPromise
have been removed.WebMapTileServiceImageryProvider.ready
, and WebMapTileServiceImageryProvider.readyPromise
have been removed.TerrainProvider.ready
and TerrainProvider.readyPromise
have been removed.createWorldImagery
was removed. Use createWorldImageryAsync
instead.ArcGISTiledElevationTerrainProvider
constructor parameter options.url
, ArcGISTiledElevationTerrainProvider.ready
, and ArcGISTiledElevationTerrainProvider.readyPromise
have been removed. Use ArcGISTiledElevationTerrainProvider.fromUrl
instead.CesiumTerrainProvider
constructor parameter options.url
, CesiumTerrainProvider.ready
, and CesiumTerrainProvider.readyPromise
have been removed. Use CesiumTerrainProvider.fromIonAssetId
or CesiumTerrainProvider.fromUrl
instead.CustomHeightmapTerrainProvider.ready
, and CustomHeightmapTerrainProvider.readyPromise
were deprecated in CesiumJS 1.104.EllipsoidTerrainProvider.ready
, and EllipsoidTerrainProvider.readyPromise
were deprecated in CesiumJS 1.104.GoogleEarthEnterpriseMetadata
constructor parameter options.url
and GoogleEarthEnterpriseMetadata.readyPromise
have been removed. Use GoogleEarthEnterpriseMetadata.fromUrl
instead.GoogleEarthEnterpriseTerrainProvider
constructor parameters options.url
and options.metadata
, GoogleEarthEnterpriseTerrainProvider.ready
, and GoogleEarthEnterpriseTerrainProvider.readyPromise
have been removed. Use GoogleEarthEnterpriseTerrainProvider.fromMetadata
instead.VRTheWorldTerrainProvider
constructor parameter options.url
, VRTheWorldTerrainProvider.ready
, and VRTheWorldTerrainProvider.readyPromise
have been removed. Use VRTheWorldTerrainProvider.fromUrl
instead.createWorldTerrain
was removed. Use createWorldTerrainAsync
instead.Cesium3DTileset
constructor parameter options.url
, Cesium3DTileset.ready
, and Cesium3DTileset.readyPromise
have been removed. Use Cesium3DTileset.fromUrl
instead.createOsmBuildings
was removed. Use createOsmBuildingsAsync
instead.Model.fromGltf
, Model.readyPromise
, and Model.texturesLoadedPromise
have been removed. Use Model.fromGltfAsync
, Model.readyEvent
, Model.errorEvent
, and Model.texturesReadyEvent
instead. For example:
js
try {
const model = await Cesium.Model.fromGltfAsync({
url: "../../SampleData/models/CesiumMan/Cesium_Man.glb",
});
viewer.scene.primitives.add(model);
model.readyEvent.addEventListener(() => {
// model is ready for rendering
});
} catch (error) {
console.log(`Failed to load model. ${error}`);
}
I3SDataProvider
construction parameter options.url
, I3SDataProvider.ready
, and I3SDataProvider.readyPromise
have been removed. Use I3SDataProvider.fromUrl
instead.TimeDynamicPointCloud.readyPromise
was removed. Use TimeDynamicPointCloud.frameFailed
to track any errors.VoxelProvider.ready
and VoxelProvider.readyPromise
have been removed.VoxelPrimitive.eadyPromise
have been removed.Cesium3DTilesVoxelProvider
construction parameter options.url
, Cesium3DTilesVoxelProvider.ready
, and Cesium3DTilesVoxelProvider.readyPromise
have been removed. Use Cesium3DTilesVoxelProvider.fromUrl
instead.Primitive.readyPromise
, ClassificationPrimitive.readyPromise
, GroundPrimitive.readyPromise
, and GroundPolylinePrimitive.readyPromise
have been removed. Wait for Primitive.ready
, ClassificationPrimitive.ready
, GroundPrimitive.ready
, or GroundPolylinePrimitive.ready
to return true instead.CreditDisplay.addCredit
, CreditDisplay.addDefaultCredit
, and CreditDisplay.removeDefaultCredit
have been removed. Use CreditDisplay.addCreditToNextFrame
, CreditDisplay.addStaticCredit
, and CreditDisplay.removeStaticCredit
respectively instead.Cesium3DTileset.cacheBytes
and Cesium3DTileset.maximumCacheOverflowBytes
to better control memory usage. To replicate previous behavior, convert maximumMemoryUsage
from MB to bytes, assign the value to cacheBytes
, and set maximumCacheOverflowBytes = Number.MAX_VALUE
CzmlDataSource
when a 3D Tileset entity is hidden. #11357PostProcessStage
crash affecting point clouds rendered with attenuation. #11339Cesium3dTilesInspector
. #11355Cesium3DTileset.maximumMemoryUsage
has been deprecated in CesiumJS 1.107. It will be removed in 1.110. Use Cesium3DTileset.cacheBytes
and Cesium3DTileset.maximumCacheOverflowBytes
instead. #11310Viewer
constructor option options.imageryProvider
has been deprecated in CesiumJS 1.104. It will be removed in 1.107. Use options.baseLayer
instead.This is an npm-only release to fix a dependency issue published in 1.106
createGooglePhotorealistic3DTileset
to create a 3D tileset streaming Google Photorealistic 3D Tiles.GoogleMaps
for managing credentials when loading data from the Google Map Tiles API.ArcGisMapServerImagery.fromBasemapType
, and ArcGisBaseMapType
, and ArcGisMapService
for ease of use with the latest ArcGIS Imagery API.#11098CesiumWidget.creditDisplay
to access the onscreen and lightbox credits. #11241CreditDisplay.addStaticCredit
and CreditDisplay.removeStaticCredit
such that Credit.showOnScreen
value is taken into account. #6215options.gltfCallback
to Model.loadGltfAsync
to allow apps to access the loaded glTF JSON. #11240GeocoderService.credit
and and attributions
property to GeocoderService.Result
to allow for geocoder services to attribute results. #11256switchToOrthographicFunction
and camera.flyTo
in immediate succession. #11210undefined
. #11228out_FragColor
layout declarations when translating shaders to WebGL1. #11230CreditDisplay.addCredit
, CreditDisplay.addDefaultCredit
, and CreditDisplay.removeDefaultCredit
have been deprecated in CesiumJS 1.105. They will be removed in 1.107. Use CreditDisplay.addCreditToNextFrame
, CreditDisplay.addStaticCredit
, and CreditDisplay.removeStaticCredit
respectively instead. #11241Viewer.creditDisplay
to access the onscreen and lightbox credits. #11241Geocoder
widget will now display attributions onscreen or in the lightbox for geocoder results if present, otherwise a default credit from a geocoder service if one is provided. #11256ContextOptions
in generated TypeScript definitions. 10963readyPromise
pattern has been deprecated across the API. It will be removed in CesiumJS 1.107. This has been done to facilitate better asynchronous flow and error handling. For example:try {
const tileset = await Cesium.Cesium3DTileset.fromUrl(url);
viewer.scene.primitives.add(tileset);
} catch (error) {
console.log(`Failed to load tileset: ${error}`);
}
ArcGisMapServerImageryProvider.fromUrl
, ArcGISTiledElevationTerrainProvider.fromUrl
, BingMapsImageryProvider.fromUrl
, CesiumTerrainProvider.fromUrl
, CesiumTerrainProvider.fromIonAssetId
, GoogleEarthEnterpriseMetadata.fromUrl
, GoogleEarthEnterpriseImageryProvider.fromMetadata
, GoogleEarthEnterpriseMapsProvider.fromUrl
, GoogleEarthEnterpriseTerrainProvider.fromMetadata
, ImageryLayer.fromProviderAsync
, IonImageryProvider.fromAssetId
, SingleTileImageryProvider.fromUrl
, Terrain
, TileMapServiceImageryProvider.fromUrl
, VRTheWorldTerrainProvider.fromUrl
, createWorldTerrainAsync
, Cesium3DTileset.fromUrl
, Cesium3DTileset.fromIonAssetId
, createOsmBuildingsAsync
, Model.fromGltfAsync
, Model.readyEvent
, Model.errorEvent
,Model.texturesReadyEvent
, I3SDataProvider.fromUrl
, and Cesium3DTilesVoxelProvider.fromUrl
for better async flow and error handling. #11059X-Cesium-*
headers to requests to cesium ion. #11200children
in the Entity constructor options will override children. #11101RequestErrorEvent
in Resource.retryCallback
. #11177OrthographicFrustum
geometry by DebugCameraPrimitive
. #11159RequestScheduler
throttling overrides. #11193SingleTileImageryProvider
fetching image when show
is false
by allowing lazy-loading for SingleTileImageryProvider
if tileWidth
and tileHeight
are provided to the constructor. #9529CesiumWidget
constructor option options.imageryProvider
has been deprecated in CesiumJS 1.104. It will be removed in 1.107. Use options.baseLayer
instead.ImageryProvider.ready
and ImageryProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107.ImageryProvider.defaultAlpha
, ImageryProvider.defaultNightAlpha
, ImageryProvider.defaultDayAlpha
, ImageryProvider.defaultBrightness
, ImageryProvider.defaultContrast
, ImageryProvider.defaultHue
, ImageryProvider.defaultSaturation
, ImageryProvider.defaultGamma
, ImageryProvider.defaultMinificationFilter
, ImageryProvider.defaultMagnificationFilter
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use ImageryLayer.alpha
, ImageryLayer.nightAlpha
, ImageryLayer.dayAlpha
, ImageryLayer.brightness
, ImageryLayer.contrast
, ImageryLayer.hue
, ImageryLayer.saturation
, ImageryLayer.gamma
, ImageryLayer.minificationFilter
, ImageryLayer.magnificationFilter
instead.ImageryLayer.getViewableRectangle
was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use ImageryLayer.getImageryRectangle
instead.ArcGisMapServerImageryProvider
constructor parameter url
,ArcGisMapServerImageryProvider.ready
, and ArcGisMapServerImageryProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use ArcGisMapServerImageryProvider.fromUrl
instead.BingMapsImageryProvider
constructor parameter url
,BingMapsImageryProvider.ready
, and BingMapsImageryProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use BingMapsImageryProvider.fromUrl
instead.GoogleEarthEnterpriseImageryProvider
constructor parameters options.url
and options.metadata
, GoogleEarthEnterpriseImageryProvider.ready
, and GoogleEarthEnterpriseImageryProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use GoogleEarthEnterpriseImageryProvider.fromMetadata
instead.GoogleEarthEnterpriseMapsProvider
constructor parameters options.url
and options.channel
, GoogleEarthEnterpriseMapsProvider.ready
, and GoogleEarthEnterpriseMapsProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use GoogleEarthEnterpriseMapsProvider.fromUrl
instead.GridImageryProvider.ready
and GridImageryProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107.IonImageryProvider
constructor parameter assetId
,BIonImageryProvider.ready
, and IonImageryProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use IonImageryProvider.fromAssetId
instead.MapboxImageryProvider.ready
and MapboxImageryProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107.MapboxStyleImageryProvider.ready
and MapboxStyleImageryProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107.OpenStreetMapImageryProvider.ready
and OpenStreetMapImageryProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107.SingleTileImageryProvider
constructor parameters options.tileHeight
and options.tileWidth
became required in CesiumJS 1.104. Omitting these properties will result in an error in 1.107. Provide options.tileHeight
and options.tileWidth
, or use SingleTileImageryProvider.fromUrl
instead.SingleTileImageryProvider.ready
and SingleTileImageryProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use SingleTileImageryProvider.fromUrl
instead.TileCoordinatesImageryProvider.ready
and TileCoordinatesImageryProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107.TileMapServiceImageryProvider
constructor parameter options.url
, TileMapServiceImageryProvider.ready
, and TileMapServiceImageryProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use TileMapServiceImageryProvider.fromUrl
instead.UrlTemplateImageryProvider.reinitialize
, UrlTemplateImageryProvider.ready
, and UrlTemplateImageryProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107.WebMapServiceImageryProvider.ready
, and WebMapServiceImageryProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107.WebMapTileServiceImageryProvider.ready
, and WebMapTileServiceImageryProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107.TerrainProvider.ready
and TerrainProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107.createWorldImagery
was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use createWorldImageryAsync
instead.ArcGISTiledElevationTerrainProvider
constructor parameter options.url
, ArcGISTiledElevationTerrainProvider.ready
, and ArcGISTiledElevationTerrainProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use ArcGISTiledElevationTerrainProvider.fromUrl
instead.CesiumTerrainProvider
constructor parameter options.url
, CesiumTerrainProvider.ready
, and CesiumTerrainProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use CesiumTerrainProvider.fromIonAssetId
or CesiumTerrainProvider.fromUrl
instead.CustomHeightmapTerrainProvider.ready
, and CustomHeightmapTerrainProvider.readyPromise
were deprecated in CesiumJS 1.104.EllipsoidTerrainProvider.ready
, and EllipsoidTerrainProvider.readyPromise
were deprecated in CesiumJS 1.104.GoogleEarthEnterpriseMetadata
constructor parameter options.url
and GoogleEarthEnterpriseMetadata.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use GoogleEarthEnterpriseMetadata.fromUrl
instead.GoogleEarthEnterpriseTerrainProvider
constructor parameters options.url
and options.metadata
, GoogleEarthEnterpriseTerrainProvider.ready
, and GoogleEarthEnterpriseTerrainProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use GoogleEarthEnterpriseTerrainProvider.fromMetadata
instead.VRTheWorldTerrainProvider
constructor parameter options.url
, VRTheWorldTerrainProvider.ready
, and VRTheWorldTerrainProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use VRTheWorldTerrainProvider.fromUrl
instead.createWorldTerrain
was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use createWorldTerrainAsync
instead.Cesium3DTileset
constructor parameter options.url
, Cesium3DTileset.ready
, and Cesium3DTileset.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use Cesium3DTileset.fromUrl
instead.createOsmBuildings
was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use createOsmBuildingsAsync
instead.Model.fromGltf
, Model.readyPromise
, and Model.texturesLoadedPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use Model.fromGltfAsync
, Model.readyEvent
, Model.errorEvent
, and Model.texturesReadyEvent
instead. For example:
js
try {
const model = await Cesium.Model.fromGltfAsync({
url: "../../SampleData/models/CesiumMan/Cesium_Man.glb",
});
viewer.scene.primitives.add(model);
model.readyEvent.addEventListener(() => {
// model is ready for rendering
});
} catch (error) {
console.log(`Failed to load model. ${error}`);
}
I3SDataProvider
construction parameter options.url
, I3SDataProvider.ready
, and I3SDataProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use I3SDataProvider.fromUrl
instead.TimeDynamicPointCloud.readyPromise
was deprecated in CesiumJS 1.104. It will be removed in 1.107. Use TimeDynamicPointCloud.frameFailed
to track any errors.VoxelProvider.ready
and VoxelProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107.Cesium3DTilesVoxelProvider
construction parameter options.url
, Cesium3DTilesVoxelProvider.ready
, and Cesium3DTilesVoxelProvider.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Use Cesium3DTilesVoxelProvider.fromUrl
instead.Primitive.readyPromise
, ClassificationPrimitive.readyPromise
, GroundPrimitive.readyPromise
, and GroundPolylinePrimitive.readyPromise
were deprecated in CesiumJS 1.104. They will be removed in 1.107. Wait for Primitive.ready
, ClassificationPrimitive.ready
, GroundPrimitive.ready
, or GroundPolylinePrimitive.ready
to return true instead.false
for imageryProvider
in Viewer.ConstructorOptions
. #11179Viewer
constructor option options.imageryProvider
has been deprecated in CesiumJS 1.104. It will be removed in 1.107. Use options.baseLayer
instead.willReadFrequently
option. #11025requestWebgl1
to true
when providing ContextOptions
as shown below:
js
const viewer = new Viewer("cesiumContainer", {
contextOptions: {
requestWebgl1: true,
},
});
FeatureDetection.supportsWebgl2
to detect if a WebGL2 rendering context in the current browser.viewer.flyTo
when flying to a imagery layer with certain terrain providers. #10937requestWebgl1
to true
when providing ContextOptions
as shown below:
js
const viewer = new Viewer("cesiumContainer", {
contextOptions: {
requestWebgl1: true,
},
});
vertexShadowDarkness
parameter to Globe
to control the amount of darkness of the vertex shadow when terrain lighting is enabled. #109143DTILES_content_voxels
extension. The current implementation is intended for development use, as the voxel format has not yet been finalized and is subject to breaking changes without deprecation.PointPrimitive
was incorrect when scaleByDistance
was set to a NearFarScalar
. #10912alignedAxis
properties were not properly aligned in 2D and Columbus View. #10965Model
would sometimes disappear when loaded in Columbus View. #10945GpxDataSource
did not have the owner
property set. #10921Matrix2.multiplyByScalar
, Matrix3.multiplyByScalar
, and several functions in the S2Cell
class. #10899result
parameters were omitted from the TypeScript definitions. #10864ContextOptions.requestWebgl2
was deprecated in CesiumJS 1.101 and will be removed in 1.102. Instead, CesiumJS will default to using a WebGL2 context for rendering. Use ContextOptions.requestWebgl1
to request a WebGL1 or WebGL2 context.viewerVoxelInspectorMixin
and VoxelInspector
to support experimental 3D Tiles voxels.@cesium/engine
and @cesium/widgets
#10824:
packages/engine
and packages/widgets
.Source
folder only contains the following:Cesium.js
Cesium.d.ts
Assets
ThirdParty
Widgets
(CSS files only)cesium
module (import { Cartesian3 } from "cesium";
) or the combined Cesium.js
file (import { Cartesian3 } from "Source/Cesium.js";
);KmlTour.prototype.play
was removed. Instead of a Viewer
, pass a CesiumWidget
instead. #10845@cesium/engine
and @cesium/widgets
#10824:
packages/engine
and packages/widgets
.Source
folder will only contain the following:Cesium.js
Cesium.d.ts
Assets
ThirdParty
Widgets
(CSS files only)cesium
module (import { Cartesian3 } from "cesium";
) or the combined Cesium.js
file (import { Cartesian3 } from "Source/Cesium.js";
);requestAnimationFrame
and cancelAnimationFrame
have been removed. Use the native browser methods instead. #10579KmlTour.prototype.play
was deprecated in Cesium 1.99. It will be removed in 1.100. Instead of a Viewer
, pass a CesiumWidget
instead. #10845Model
was being incorrectly applied to its bounding sphere. #10855Model
with image-based lighting while specular environment maps were unsupported caused a crash. #10859new Model()
is an internal constructor and must not be used directly. Use Model.fromGltf()
instead. #10778.getPropertyNames
methods of Cesium3DTileFeature
, Cesium3DTilePointFeature
, and ModelFeature
have been removed. Use the .getPropertyIds
methods instead.WEB3D_quantized_attributes
extension found in some glTF 1.0 models. #10758i3dm
with scale and without rotation would render incorrectly. #10808Cesium3DTileFeature.setProperty()
was not creating properties for unknown property IDs. #10775pnts
tiles with 3DTILES_draco_point_compression
and <= 8 quantization bits were being rendered incorrectly. #10794Viewer
s. #10828Viewer.trackedEntity
if it had a model with a HeightReference
other than NONE
. #10805removeAll
on a ClippingPlaneCollection
attached to a Model
would cause a crash. #10827Model
's ClippingPlaneCollection
with one of the same length would cause a crash. #10831Vector3DTileContent.getFeature
before a render update could result in no feature being returned. #10819CustomShader
EXT_structural_metadata
, EXT_mesh_features
and EXT_instance_features
EXT_mesh_gpu_instancing
EXT_meshopt_compression
ModelExperimental.fromGltf()
should now use Model.fromGltf()
.enableModelExperimental
flag was removed, as tilesets and entities always use the new architecture.Model
uses the same public API as before, so no other changes are necessary.CustomShader
instead. #10648KHR_techniques_webgl
and KHR_materials_common
are also no longer fully supported. Materials are converted to PBR materials where possible.Model.gltf
, Model.basePath
, Model.pendingTextureLoads
(properties), and Model.dequantizeInShader
(constructor option) have been removed.ModelMesh
and ModelMaterial
have been removed.new Model()
is an internal constructor and must not be used directly. Use Model.fromGltf()
instead. #10778Model
can now classify other assets with a given classificationType
. #10623Model
now supports back face culling for point clouds. #10703package.json
, allowing bundlers to import without additional configuration. #9212sideEffects
field in package.json
is now specified, allowing more conservative bundlers like Webpack to enable tree shaking by default. #10714CustomShader
. #10747Viewer.flyTo
where camera could go underground when target is an Entity
with ModelGraphics
with HeightReference.CLAMP_TO_GROUND
or HeightReference.RELATIVE_TO_GROUND
. #10631Camera.flyTo
with an orientation
and a Rectangle
value for destination
. #10704KHR_mesh_quantization
and normalized positions. #10741Cesium.js
is no longer AMD format. This may or may not be a breaking change depending on how you use Cesium in your app. See our blog post for the full details. #10399
Cesium.js
has gone from 12.5MB
to 8.4MB
unminified and from 4.3MB
to 3.6MB
minified. Cesium.js.map
has gone from 22MB
to 17.2MB
.Build/Cesium/Cesium.js
or Build/CesiumUnminified/Cesium.js
, instead use Build/Cesium/index.js
or Build/CesiumUnminified/index.js
respectively.Source
will require a bundler to resolve third party node dependencies.CESIUM_BASE_URL
should be set to either Build/Cesium
or Build/CesiumUnminified
.Model.boundingSphere
now returns the bounding sphere in ECEF coordinates instead of the local coordinate system. #10589Cesium3DTileStyle.readyPromise
and Cesium3DTileStyle.ready
have been removed. If loading a style from a url, use Cesium3DTileStyle.fromUrl
instead. #10348CESIUM_primitive_outline
extension can now toggle outlines at runtime with the showOutline
property. Furthermore, the color of the outlines can now be controlled by the outlineColor
property. #10506blurActiveElementOnCanvasFocus
option to set the behavior of blurring the active element when interacting with the canvas. #10518ModelExperimental.getNode
to allow users to modify the transforms of model nodes at runtime. #10540ModelExperimental
. #10569EXT_mesh_features
and EXT_structural_metadata
extensions without channels
property. #10511ModelExperimental
. #10514ModelExperimental
. #10507model.color
would not update in the 3D Models Coloring sandcastle when using ModelExperimental
. #10519ModelExperimental
. #10524ModelExperimental
. #10521ModelExperimental
. #10528loadAndExecuteScript
and favorite icon lost in sandcaslte when CesiumJS was running in cross-origin isloated evironment.#10515Viewer.zoomTo
would continuously throw errors if a Cesium3DTileset
failed to load.#10523.i3dm
models with quantized positions were not being correctly loaded by ModelExperimental
. #10598ready
. #10517requestAnimationFrame
and cancelAnimationFrame
have been deprecated and will be removed in 1.99. Use the native browser methods instead. #10579ModelExperimental
must set projectTo2D
to true in order to be accurately projected and rendered in 2D / CV mode. #10440ModelExperimental
now appear in the Cesium3DTilesInspector
. This includes binary metadata memory, which is not counted by Model
. #10397ResourceCache
(used by ModelExperimental
) now appear in the Cesium3DTilesInspector
. #10413ModelExperimental
. #10419ModelExperimental
. #10433modelUpAxis
and modelForwardAxis
constructor options to Cesium3DTileset
#10439heightReference
to ModelExperimental
. #10448silhouetteSize
and silhouetteColor
to ModelExperimental
. #10457ModelExperimental
. #10231distanceDisplayCondition
to ModelExperimental
. #10481AGI_articulations
to ModelExperimental
. #10479credit
to ModelExperimental
. #10489asynchronous
to ModelExperimental.fromGltf
. #10490id
to ModelExperimental
. #10491ExperimentalFeatures.enableModelExperimental
now enables ModelExperimental
for entities and CZML in addition to 3D Tiles. #10492FeatureDetection
for Microsoft Edge. #10429CesiumTerrainProvider
. #7478Cesium3DTile
content.uri property is empty, and load empty tile. #7263ModelExperimental
. #10501.getPropertyNames
methods of Cesium3DTileFeature
, Cesium3DTilePointFeature
, and ModelFeature
have been deprecated and will be removed in 1.98. Use the .getPropertyIds
methods instead.ModelExperimental
. #10419Cesium3DTileColorBlendMode.REPLACE
for certain tilesets. #10424Model
and Cesium3DTileset
. #10388ModelExperimental
must set enableDebugWireframe
to true in order for debugWireframe
to work in WebGL1. #10344ImagerySplitPosition
and Scene.imagerySplitPosition
. Use SplitDirection
and Scene.splitPosition
instead.#10418ImageBasedLighting
instead of as individual options. #10226Cesium3DTileStyle.fromUrl
for loading a style from a url. #10348IndexDatatype.fromTypedArray
. #10350ModelAnimationCollection.animateWhilePaused
and ModelAnimation.animationTime
to allow explicit control over a model's animations. #9339options.gltf
with options.url
in ModelExperimental.fromGltf
. #10371ModelExperimental
. #10384PolygonGraphics.textureCoordinates
, PolygonGeometry.textureCoordinates
, CoplanarPolygonGeometry.textureCoordinates
, which override the default stRotation
-based texture coordinate calculation behaviour with the provided texture coordinates, specified in the form of a PolygonHierarchy
of Cartesian2
points. #10109ModelExperimental
. #10339Cesium3DTileStyle
before its readyPromise
has resolved. #10345region
bounding volumes in a 3D Tileset. #10351Cesium3DTileset.debugShowUrl
so that it works for implicit tiles too. #10372ModelExperimental
. #10405sampleTerrain
over a large area that required lots of tile requests. #10425Cesium3DTileStyle
constructor parameters of string
or Resource
type have been deprecated and will be removed in CesiumJS 1.96. If loading a style from a url, use Cesium3DTileStyle.fromUrl
instead. #10348Cesium3DTileStyle.readyPromise
and Cesium3DTileStyle.ready
have been deprecated and will be removed in CesiumJS 1.96. If loading a style from a url, use Cesium3DTileStyle.fromUrl
instead. #10348Model.gltf
, Model.basePath
, Model.pendingTextureLoads
(properties), and Model.dequantizeInShader
(constructor option) have been deprecated and will be removed in CesiumJS 1.97. #10415KHR_techniques_webgl
has been deprecated and will be removed in CesiumJS 1.97. If custom GLSL shaders are needed, use CustomShader
instead. #10414Model.boundingSphere
currently returns results in the model's local coordinate system, but in CesiumJS 1.96 it will be changed to return results in ECEF coordinates. #10415Scene.orderIndependentTranslucency
by default on iPad and iOS due to a WebGL regression, see #9827. The old default will be restored once the issue has been resolved.ModelExperimental
. #10271ModelExperimental
. #10282ModelExperimental
. #10314debugWireframe
to ModelExperimental
. #10332GeoJsonSource.process
to support adding features without removing existing entities, similar to CzmlDataSource.process
. #9275KmlDataSource
now exposes the camera
and canvas
properties, which are used to provide information about the state of the Viewer
when making network requests for a Link
. Passing these values in the constructor is now optional.GoogleEarthEnterpriseImageryProvider.requestImagery
, GridImageryProvider.requestImagery
, and TileCoordinateImageryProvider.requestImagery
return types to match interface. #10265Event
class was made generic in order to support strongly typed event callbacks. #10292Cesium3dTilesInspector
. #10246ModelExperimental
when loading a Draco-compressed model with tangents. #10294i3dm
tilesets that are loaded using ModelExperimental
. #10302test
and other support tasks from within the release zip file. #10311Cesium.when
. Any Promise
in the Cesium API has changed to the native Promise
API. Code bases using cesium will likely need updates after this change. See the upgrade guide for instructions on how to update your code base to be compliant with native promises.ArcGisMapServerImageryProvider.readyPromise
will not reject if there is a failure unless the request cannot be retried.SingleTileImageryProvider.readyPromise
will not reject if there is a failure unless the request cannot be retried.EXT_structural_metadata
property attributes in CustomShader
#10228EXT_structural_metadata
property textures in CustomShader
#10247minimumPixelSize
, scale
, and maximumScale
to ModelExperimental
. #10092Cesium3DTileset
now has a splitDirection
property, allowing the tileset to only be drawn on the left or right side of the screen. This is useful for visual comparison of tilesets. #10193lightColor
to ModelExperimental
#10207ModelExperimental
. #10234ModelExperimental
. #10250Cartesian2.clamp
, Cartesian3.clamp
, and Cartesian4.clamp
. #10197tileset.metadata
and content.group.metadata
are more symmetric with content.metadata
and tile.metadata
. #10224Scene
documentation for msaaSamples
property. #10205pnts
tiles would crash when Cesium.ExperimentalFeatures.enableModelExperimental
was true. #10183ShadowMap
documentation for options.pointLightRadius
type. #10195minimumLevel
on metadataFailure for TileMapServiceImageryProvider. #10198ImagerySplitDirection
and Scene.imagerySplitPosition
have been deprecated and will be removed in CesiumJS 1.94. Use SplitDirection
and Scene.splitPosition
instead.ImageBasedLighting
instead of as individual options. The individual parameters are deprecated and will be removed in CesiumJS 1.94. #10226when.js
will be removed and replaced with native promises. Cesium.when
is deprecated and will be removed in 1.92. Any Promise
returned from a function as of 1.92 will switch the native Promise
API. Code bases using cesium will likely need updates after this change. See the upgrade guide for instructions on how to update your code base to be compliant with native promises.camera.getPickRay
that arises when the scene is not rendered. camera.getPickRay
can now return undefined. #10139Viewer
constructor with the msaaSamples
option and can be controlled through Scene.msaaSamples
.ModelExperimental
by default. #10055ModelExperimental
. #10070depthPlaneEllipsoidOffset
to Viewer
and Scene
constructors to address rendering artifacts below the WGS84 ellipsoid. #9200debugColorTiles
in ModelExperimental
. #10071ModelExperimental
. #10077packArray
and unpackArray
for matrix types. #10118Matrix2
, Matrix3
, and Matrix4
. #10124
setScale
, setUniformScale
, setRotation
, getRotation
, and multiplyByUniformScale
to Matrix2
.setScale
, setUniformScale
, setRotation
, and multiplyByUniformScale
to Matrix3
.setUniformScale
, setRotation
, getRotation
, and fromRotation
to Matrix4
.AxisAlignedBoundingBox.fromCorners
. #10130BoundingSphere.fromTransformation
. #10130OrientedBoundingBox.fromTransformation
, OrientedBoundingBox.computeCorners
, and OrientedBoundingBox.computeTransformation
. #10130Rectangle.subsection
. #10130ModelExperimental
's model matrix would not update its bounding sphere. #10078ModelExperimental
with opaque features was not being rendered. #10110ModelExperimental
can now be selected via (tileset|model).featureIdIndex
and (tileset|model).instanceFeatureIdIndex
. #10018CustomShader
. #10018CustomShader
into Documentation/CustomShaderGuide/
to make it more discoverable. #10054Cesium3DTileFeature.featureId
and ModelFeature.featureId
so the feature ID or batch ID can be accessed from a picked feature. #10022I3dmLoader
to transcode .i3dm to ModelExperimental
. #9968PntsLoader
to transcode .pnts to ModelExperimental
. #9978ModelExperimental
. #9998stroke
or fill
properties but valid opacity values. #9717scene.pickTranslucentDepth
for translucent point clouds with eye dome lighting. #9991tileset.pointCloudShading
that throws if set to undefined
to clarify that this is disallowed. #9998_BATCHID
accessors in ModelExperimental
#10008 and 10031tileset.imageBasedLightingFactor
has no effect on i3dm tile content. #10020screenSpaceCameraController.minimumDistance
. #9932Scene.debugShowGlobeDepth
. #9965CesiumInspectorViewModel.globeDepth
and CesiumInspectorViewModel.pickDepth
. #9965barycentricCoordinates
returns undefined
when the input triangle is degenerate. #9175pointSize
field to custom vertex shaders for more control over shading point clouds. #9960lambertDiffuseMultiplier
property to Globe object to enhance terrain lighting. #9878getFeatureInfoUrl
option to WebMapServiceImageryProvider
which reads the getFeatureInfo request URL for WMS service if it differs with the getCapabilities URL. #9563tileset.enableModelExperimental
so tilesets with Model
and ModelExperimental
can be mixed in the same scene. #9982ModelExperimental
. #9955ModelExperimental
. #9957CustomShaderPipelineStage
. #9964Camera.changed
handles changes in heading
. #9970Implicit3DTileContent
. #9971ModelExperimental
where indices were not the correct data type after draco decode. #9974GetMap
bbox
parameter so that it follows the axis ordering as defined in the EPSG database. #9797KmlDataSource
so that it can handle relative URLs for additional elements - video, audio, iframe etc. #9328KHR_materials_pbrSpecularGlossiness
extension. #9943ModelExperimental
, a new experimental architecture for loading glTF models. It is disabled by default; set ExperimentalFeatures.enableModelExperimental = true
to enable it.CustomShader
class for styling Cesium3DTileset
or ModelExperimental
with custom GLSL shadersScreenOverlay
support to KmlDataSource
. #9864CumulusCloud.color
for customizing cloud colors. #9877undefined
rather than throwing an error. #9882Rectangle.union
with rectangles that span the entire globe. #9866CameraFlightPath
when using Columbus View. #9192Scene.terrainExaggeration
and options.terrainExaggeration
for CesiumWidget
, Viewer
, and Scene
, which were deprecated in CesiumJS 1.83. Use Globe.terrainExaggeration
instead.CloudCollection
and CumulusCloud
for adding procedurally generated clouds to a scene. #9737BingMapsGeocoderService
now takes an optional Culture Code for localizing results. #9729polylinePositions
getter to Cesium3DTileFeature
that gets the decoded positions of a polyline vector feature. #9684ImageryLayerCollection.pickImageryLayers
, which determines the imagery layers that are intersected by a pick ray. #9651TileBoundingRegion.distanceToCamera
that caused incorrect results when the camera was on the opposite site of the globe. #9678undefined
and Material.DefaultImageId
. #9644polylineVolume
with very close points. #9669PolylineGeometry
that incorrectly shifted colors when duplicate positions were removed. #9676OrientedBoundingBox.distancedSquaredTo
such that they handle halfAxes
with magnitudes near zero. #9670Label
was created with a soft hyphen in its text. #9682distanceSquaredTo
in BoundingSphere
. #9686ktx2ktx2
converter tool to update existing KTX1 files.KHR_texture_basisu
extension.Material
.PixelFormat
and WebGLConstants
enums from WebGL extensions WEBGL_compressed_texture_etc
, WEBGL_compressed_texture_astc
, and EXT_texture_compression_bptc
.Globe.terrainExaggeration
and Globe.terrainExaggerationRelativeHeight
. #9603CustomHeightmapTerrainProvider
, a simple TerrainProvider
that gets height values from a callback function. #9604CESIUM_primitive_outline
extension. #8959ImageBitmap
. #9624options.fadingEnabled
parameter to ShadowMap
to control whether shadows fade out when the light source is close to the horizon. #9565outlineWidth
property will be ignored on all major browsers on Windows platforms. #9600KmlTour
, KmlTourFlyTo
, and KmlTourWait
. Added documentation and a kmlTours
getter to KmlDataSource
. Removed references to KmlTourSoundCues
. #8073geometricError
would fail to load. #9618WebMapTileServiceImageryProvider
where using URL subdomains caused query parameters to be dropped from requests. #9606ScreenSpaceCameraController.tilt3DOnTerrain
that caused unexpected camera behavior when tilting terrain diagonally along the screen. #9562GlobeSurfaceTile
to print terrain tile request errors to console. #9570positionToEyeEC
and tangentToEyeMatrix
properties for custom materials were not set in GlobeFS
. #9597Matrix4.inverse
and Matrix4.inverseTransformation
that used "affine transformation" instead of "rotation and translation" specifically. #9608preferImageBitmap
, which caused them to decode on the main thread and cause frame rate stuttering. #9627color
and show
in Cesium3DTileStyle
. A default color
value is used if no color
conditions are given. The default value for show
, true
, is used if no show
conditions are given. #9633Scene.terrainExaggeration
and options.terrainExaggeration
for CesiumWidget
, Viewer
, and Scene
have been deprecated and will be removed in CesiumJS 1.85. They will be replaced with Globe.terrainExaggeration
.FeatureDetection.supportsBigInt64Array
, FeatureDetection.supportsBigUint64Array
and FeatureDetection.supportsBigInt
.processTerrain
in decodeGoogleEarthEnterprisePacket
to handle a newer terrain packet format that includes water surface meshes after terrain meshes. #9519Camera.flyTo
would not work properly with a non-WGS84 Ellipsoid. #9498ViewportQuad
rectangle after creating the viewport had no effect.#9511ArcGISTiledElevationTerrainProvider
. #9522loadCRN
and loadKTX
have been deprecated and will be removed in CesiumJS 1.83. They will be replaced with support for KTX2. #9478Cesium3DTileset.url
, which was deprecated in CesiumJS 1.78. Use Cesium3DTileset.resource.url
to retrieve the url value.EasingFunction.QUADRACTIC_IN
, which was deprecated in CesiumJS 1.77. Use EasingFunction.QUADRATIC_IN
.EasingFunction.QUADRACTIC_OUT
, which was deprecated in CesiumJS 1.77. Use EasingFunction.QUADRATIC_OUT
.EasingFunction.QUADRACTIC_IN_OUT
, which was deprecated in CesiumJS 1.77. Use EasingFunction.QUADRATIC_IN_OUT
.TaskProcessor.maximumActiveTasks
constructor option to be infinity by default. #9313sampleTerrain
and sampleTerrainMostDetailed
not working for ArcGISTiledElevationTerrainProvider
. #9286polylineVolume
now expects its shape positions to specified using the cartesian2
property. Use of the cartesian
is also supported for backward-compatibility. #9384Cesium3DTileset
is updated. #9366BillboardCollection.show
, EntityCluster.show
, LabelCollection.show
, PointPrimitiveCollection.show
, and PolylineCollection.show
for a convenient way to control show of the entire collection #9307TaskProcessor
now accepts an absolute URL in addition to a worker name as it's first parameter. This makes it possible to use custom web workers with Cesium's task processing system without copying them to Cesium's Workers directory. #9338Cartesian2.cross
which computes the magnitude of the cross product of two vectors whose Z values are implicitly 0. #9305Math.previousPowerOfTwo
. #9310Math.mod
introducing a small amount of floating point error even when the input did not need to be altered. #9354Cesium3DTileset.url
has been deprecated and will be removed in Cesium 1.79. Instead, use Cesium3DTileset.resource.url
to retrieve the url value.ElevationBand
material, which maps colors and gradients to exact elevations. #9132color
, backFaceCulling
, or silhouetteSize
would trigger an error. #9271EasingFunction.QUADRACTIC_IN
was deprecated and will be removed in Cesium 1.79. It has been replaced with EasingFunction.QUADRATIC_IN
. #9220EasingFunction.QUADRACTIC_OUT
was deprecated and will be removed in Cesium 1.79. It has been replaced with EasingFunction.QUADRATIC_OUT
. #9220EasingFunction.QUADRACTIC_IN_OUT
was deprecated and will be removed in Cesium 1.79. It has been replaced with EasingFunction.QUADRATIC_IN_OUT
. #9220tileset.preloadWhenHidden
is true and tileset.show
is false. Also fixed a related issue where styles would be reapplied if the style being set is the same as the active style. #9223EllipsoidTangentPlane.fromPoints
which didn't list a return type. #9227KHR_materials_unlit
extension had the normal attribute disabled. #9173.writeTextToCanvas
which listed incorrect return type. #9196Viewer.globe
constructor option to allow disabling the globe on startup. #9063Matrix3.inverseTranspose
and Matrix4.inverseTranspose
. #9135MapboxApi
, which was deprecated in CesiumJS 1.72. Pass your access token directly to the MapboxImageryProvider
or MapboxStyleImageryProvider
constructors.BingMapsApi
, which was deprecated in CesiumJS 1.72. Pass your access key directly to the BingMapsImageryProvider
or BingMapsGeocoderService
constructors.line-height
specifier in the font
property of a Label
. #8954Viewer
now has default pick handling for Cesium3DTileFeature
data and will display its properties in the default Viewer InfoBox
as well as set Viewer.selectedEntity
to a transient Entity instance representing the data. #9121.data:
scheme for the Cesium ion logo URL. #9085TileAvailability
are not sorted correctly, causing terrain to sometimes fail to achieve its maximum detail. #9098BaseLayerPicker
defaults. If you are using MapboxImageryProvider
or MapboxStyleImageryProvider
, use options.accessToken
when initializing the imagery provider.TEXCOORD_1
. #9075MapboxApi.defaultAccessToken
was deprecated and will be removed in CesiumJS 1.73. Pass your access token directly to the MapboxImageryProvider or MapboxStyleImageryProvider constructors.BingMapsApi
was deprecated and will be removed in CesiumJS 1.73. Pass your access key directly to the BingMapsImageryProvider or BingMapsGeocoderService constructors.Color.fromCssColorString
when color string contains spaces. #9015arcType: ArcType.RHUMB
, including lines drawn via GeoJSON. #9028translucencyByDistance
for label outline color #9003SampledPositionProperty.removeSample
#9017Mali
GPUs that do not support float textures via WebGL #9023WallGeometry
to respect the order of positions passed in, instead of making the positions respect a counter clockwise winding order. This will only affect the look of walls with an image material. If this changed the way your wall is drawing, reverse the order of the positions. #8955backFaceCulling
property to Cesium3DTileset
and Model
to support viewing the underside or interior of a tileset or model. #8981Ellipsoid.surfaceArea
for computing the approximate surface area of a rectangle on the surface of an ellipsoid. #8986Color.toCssHexString
for getting the CSS hex string equivalent for a color. #8987Ellipsoid.geodeticSurfaceNormal
when given the origin as input. undefined
is returned instead. #8986WallGeometry
when there were adjacent positions with very close values. #8952scene.pickFromRay
intersection inaccuracies. #8439Entity
constructor would throw an exception.#8832ScreenSpaceEventHandler.getInputAction
which listed incorrect return type. #9002toString
method to the Resource
class in case an instance gets logged as a string. #8722Transforms.rotationMatrixFromPositionVelocity
method from Cesium's private API. #8927ImageryProvider
types, which were missing defaultNightAlpha
and defaultDayAlpha
properties. #8908MaterialProperty
, which were missing the ability to take primitive types in their constructor. #8904GeometryInstance
instances using XXXGeometry
classes. #8941.buildModuleUrl
, which was accidentally excluded from the official CesiumJS API. #8923EllipsoidGeodesic
which incorrectly listed result
as required. #8904EllipsoidTangentPlane.fromPoints
, which takes an array of Cartesian3
, not a single instance. #8928EntityCollection.getById
and CompositeEntityCollection.getById
, which can both return undefined. #8928Viewer
options parameters.viewer.scene.primitives.add(Cesium.createOsmBuildings())
."types": ["cesium"]
in your tsconfig.json in order for the definitions to be used.Source/Cesium.d.ts
after install.GlobeTranslucency
object including front face alpha, back face alpha, and a translucency rectangle.Globe.undergroundColor
and Globe.undergroundColorAlphaByDistance
for controlling how the back side of the globe is rendered when the camera is underground or the globe is translucent. #8867Cesium3DTileset.extensions
to get the extensions property from the tileset JSON. #8829Camera.completeFlight
, which causes the current camera flight to immediately jump to the final destination and call its complete callback. #8788nightAlpha
and dayAlpha
properties to ImageryLayer
to control alpha separately for the night and day sides of the globe. #8868SkyAtmosphere.perFragmentAtmosphere
to switch between per-vertex and per-fragment atmosphere shading. #8866PostProcessStage
#8798frustumSplits
option to DebugCameraPrimitive
. 8849#rgba
and #rrggbbaa
formats in Color.fromCssColorString
. 8873TerrainProvider
. #8766${feature.propertyName}
and ${feature["propertyName"]}
syntax would cause a crash. Also fixed an issue where property names with non-alphanumeric characters would crash. #8785DebugCameraPrimitive
was ignoring the near and far planes of the Camera
. #8848Scene.sunColor
has been removed. Use scene.light.color
and scene.light.intensity
instead. #8774isArray
. Use the native Array.isArray
function instead. #8779RequestScheduler
to the public API; this allows users to have more control over the requests made by CesiumJS. #8384Scene.cameraUnderground
for checking whether the camera is underneath the globe. #8765skeleton
was considered required by Cesium. #8175update
events should expect one additional event firing as an animation stops. #7387CesiumWidget
instances. #8591CesiumUnminified
build now includes sourcemaps. #8572STEP
animation interpolation. #8786--experimental-modules
. It can still be used in earlier versions as well. #8572TileMapServiceImageryProvider
will now force minimumLevel
to 0 if the tilemapresource.xml
metadata request fails and the rectangle
is too large for the given detail level #8448Cesium3DTileset.skipLevelOfDetail
is now false
by default. #8631LEQUALS
depth test function instead of LESS
. This means that when geometry overlaps, the later geometry will be visible above the earlier, where previously the opposite was true. We believe this is a more sensible default, and makes it easier to render e.g. outlined buildings with glTF. #8646Entity.tileset
for loading a 3D Tiles tileset via the Entity API using the new Cesium3DTilesetGraphics
class. #8580tileset.uri
, tileset.show
, and tileset.maximumScreenSpaceError
properties to CZML processing for loading 3D Tiles. #8580Color.lerp
for linearly interpolating between two RGB colors. #8607CesiumTerrainProvider
now supports terrain tiles using a WebMercatorTilingScheme
by specifying "projection": "EPSG:3857"
in layer.json
. It also now supports numbering tiles from the North instead of the South by specifying "scheme": "slippyMap"
in layer.json
. #8563isNaN
, isFinite
, null
, and undefined
in the 3D Tiles styling GLSL backend for point clouds. #8621sizeInMeters
to ParticleSystem
. #7746isArray
function has been deprecated and will be removed in Cesium 1.69. Use the native Array.isArray
function instead. #8526Scene.sunColor
has been deprecated and will be removed in Cesium 1.69. Use scene.light.color
and scene.light.intensity
instead. #8493useBrowserRecommendedResolution
flag in Viewer
and CesiumWidget
now defaults to true
. This ensures Cesium rendering is fast and smooth by default across all devices. Set it to false
to always render at native device resolution instead at the cost of performance on under-powered devices. #8548powerPreference
value of high-performance
. Some browsers use this setting to enable a second, more powerful, GPU. You can set it back to default
, or opt-in to low-power
mode, by passing the context option when creating a Viewer
or CesiumWidget
instance:var viewer = new Viewer("cesiumContainer", {
contextOptions: {
webgl: {
powerPreference: "default",
},
},
});
Light
, DirectionalLight
, and SunLight
classes for creating custom light sources.Scene.light
for setting the scene's light source, which defaults to a SunLight
.Globe.dynamicAtmosphereLighting
for enabling lighting effects on atmosphere and fog, such as day/night transitions. It is true by default but may be set to false if the atmosphere should stay unchanged regardless of the scene's light direction.Globe.dynamicAtmosphereLightingFromSun
for using the sun direction instead of the scene's light direction when Globe.dynamicAtmosphereLighting
is enabled. See the moonlight example in the Lighting Sandcastle example.Globe.showSkirts
to support the ability to hide terrain skirts when viewing terrain from below the surface. #8489minificationFilter
and magnificationFilter
options to Material
to control texture filtering. #8473PolylineCollection
could result in an instanceIndex
is out of range error. #8546RequestScheduler
double-counted image requests made via createImageBitmap
. #8162Cesium3DTileset
in Picking.js
. #8532EXT_float_blend
being implicitly enabled. #8534PointPrimitiveCollection
was rendered in the middle of the screen instead of being clipped. #8542ReferenceProperty
now returns undefined when the target entity or property does not exist, instead of throwing. #8544Primitive
was being created asynchronously. #8569camera.lookAt
with the origin (0, 0, 0) as the target. This could happen when looking at a tileset with the origin as its center. #8571camera.viewBoundingSphere
was modifying the offset
parameter. #8438BoundingSphere.projectTo2D
when the bounding sphere’s center is at the origin. #8482OrthographicFrustum.getPixelDimensions
, OrthographicOffCenterFrustum.getPixelDimensions
, PerspectiveFrustum.getPixelDimensions
, and PerspectiveOffCenterFrustum.getPixelDimensions
now require a pixelRatio
argument before the result
argument. The previous function definition has been deprecated since 1.63. #8320Matrix4.getRotation
has been renamed to Matrix4.getMatrix3
. Matrix4.getRotation
has been deprecated since 1.62. #8183createTileMapServiceImageryProvider
and createOpenStreetMapImageryProvider
have been removed. Instead, pass the same options to new TileMapServiceImageryProvider
and new OpenStreetMapImageryProvider
respectively. The old functions have been deprecated since 1.62. #8174Globe.backFaceCulling
to support viewing terrain from below the surface. #8470GroundPrimitive
. #4883OrientedBoundingBox.fromRectangle
for rectangles with width greater than 180 degrees. #8475window.devicePixelRatio
greater than 1.0. #8351https://sandcastle.cesium.com
https://cesium.com/learn/cesiumjs/ref-doc/
https://cesium.com/downloads/
https://cesium.com/downloads/cesiumjs/releases/<CesiumJS Version Number>/Build/Cesium/Cesium.js
"type": "module"
to package.json to take advantage of native ES6 module support in newer versions of Node.js. This also enables module-based front-end development for tooling that relies on Node.js module resolution.Build/Cesium/Cesium.js
and Build/CesiumUnminified/Cesium.js
have been upgraded from IIFE to UMD modules that support IIFE, AMD, and commonjs.pixelRatio
parameter to OrthographicFrustum.getPixelDimensions
, OrthographicOffCenterFrustum.getPixelDimensions
, PerspectiveFrustum.getPixelDimensions
, and PerspectiveOffCenterFrustum.getPixelDimensions
. Pass in scene.pixelRatio
for dimensions in CSS pixel units or 1.0
for dimensions in native device pixel units. #8237scene.sampleHeightMostDetailed
and scene.clampToHeightMostDetailed
would not resolve in request render mode. #8281scene.globe.depthTestAgainstTerrain
is false, and primitives are under the globe. #8205innerRadii
, minimumClock
, maximumClock
, minimumCone
or maximumCone
. #8277OrthographicFrustum.getPixelDimensions
, OrthographicOffCenterFrustum.getPixelDimensions
, PerspectiveFrustum.getPixelDimensions
, and PerspectiveOffCenterFrustum.getPixelDimensions
now take a pixelRatio
argument before the result
argument. The previous function definition will no longer work in 1.65. #8237createTileMapServiceImageryProvider
and createOpenStreetMapImageryProvider
have been deprecated and will be removed in Cesium 1.65. Instead, pass the same options to new TileMapServiceImageryProvider
and new OpenStreetMapImageryProvider
respectively.Matrix4.getRotation
has been deprecated and renamed to Matrix4.getMatrix3
. Matrix4.getRotation
will be removed in version 1.65.innerRadii
, minimumClock
, maximumClock
, minimumCone
, and maximumCone
. This affects both EllipsoidGeometry
and EllipsoidOutlineGeometry
. See the updated Sandcastle example. #5995useBrowserRecommendedResolution
flag to Viewer
and CesiumWidget
. When true, Cesium renders at CSS pixel resolution instead of native device resolution. This replaces the workaround in the 1.61 change list. 8215TileMapResourceImageryProvider
and OpenStreetMapImageryProvider
classes to improve API consistency: #4812credit
parameter to CzmlDataSource
, GeoJsonDataSource
, KmlDataSource
and Model
. #8173Matrix3.getRotation
to get the rotational component of a matrix with scaling removed. #8182Camera.flyTo
flies to the correct location in 2D when the destination crosses the international date line #7909BlendingState.ALPHA_BLEND
and BlendingState.ADDITIVE_BLEND
. #8202TileCoordinatesImageryProvider
#8131quadDetails
error from zooming into the map really close. #8011depthFailAppearance
resource freeing for Primitive
#8044index
parameter to PrimitiveCollection.add
. #8041viewer.resolutionScale = 1.0 / window.devicePixelRatio
. #8082getByName
method to DataSourceCollection
allowing to retrieve DataSource
s by their name property from the collectionscene.postProcessStages.fxaa.enabled = true
#7875KHR_texture_transform
without a sampler defined. #7916viewer.scene.highDynamicRange = true
to re-enable. #7966GoogleEarthEnterpriseTerrainProvider
. #8109totalScale
property to Label
which is the total scale of the label taking into account the label's scale and the relative size of the desired font compared to the generated glyph size.PolygonGraphics.hierarchy
now converts constant array values to a PolygonHierarchy
when set, so code that accesses the value of the property can rely on it always being a PolygonHierarchy
.ArcGISTiledElevationTerrainProvider
to support LERC encoded terrain from ArcGIS ImageServer. #7940heightReference
to box
, cylinder
, and ellipsoid
, and added CZML support for classificationType
to corridor
, ellipse
, polygon
, polyline
, and rectangle
. #7899exportKML
function to export Entity
instances with Point, Billboard, Model, Label, Polyline and Polygon graphics. #7921scene.highDynamicRange
is enabled. #7924Math.factorial
to return the correct values. (https://github.com/CesiumGS/cesium/pull/7969)This is an npm-only release to fix a publishing issue.
BingMapsStyle
values ROAD_ON_DEMAND
and AERIAL_WITH_LABELS_ON_DEMAND
. The older versions of these, ROAD
and AERIAL_WITH_LABELS
, have been deprecated by Bing. #7808checkerboard
material to CZML. #7845BingMapsImageryProvider
now uses DiscardEmptyTileImagePolicy
by default to detect missing tiles as zero-length responses instead of inspecting pixel values. #7810layer.json
file.HeightReference
of CLAMP_TO_GROUND
or RELATIVE_TO_GROUND
. This includes when removing a DataSource
.Cesium3DTileset.cullRequestsWhileMoving
option to ignore requests for tiles that will likely be out-of-view due to the camera's movement when they come back from the server.Cesium3DTileset.cullRequestsWhileMovingMultiplier
option to act as a multiplier when used in culling requests while moving. Larger is more aggressive culling, smaller less aggressive culling.Cesium3DTileset.preloadFlightDestinations
option to preload tiles at the camera's flight destination while the camera is in flight.Cesium3DTileset.preferLeaves
option to prefer loading of leaves. Good for additive refinement point clouds. Set to false
by default.Cesium3DTileset.progressiveResolutionHeightFraction
option to load tiles at a smaller resolution first. This can help get a quick layer of tiles down while full resolution tiles continue to load.Cesium3DTileset.foveatedScreenSpaceError
option to prioritize loading tiles in the center of the screen.Cesium3DTileset.foveatedConeSize
option to control the cone size that determines which tiles are deferred for loading. Tiles outside the cone are potentially deferred.Cesium3DTileset.foveatedMinimumScreenSpaceErrorRelaxation
option to control the starting screen space error relaxation for tiles outside the foveated cone.Cesium3DTileset.foveatedInterpolationCallback
option to control how screen space error threshold is interpolated for tiles outside the foveated cone.Cesium3DTileset.foveatedTimeDelay
option to control how long in seconds to wait after the camera stops moving before deferred tiles start loading in.PolylineGlowMaterial
called taperPower
, that works similar to the existing glowPower
parameter, to taper the back of the line away. #7626Cesium3DTileset.preloadWhenHidden
tileset option to preload tiles when tileset.show
is false. Loads tiles as if the tileset is visible but does not render them. #7774KHR_texture_transform
glTF extension. #7549SampledProperty
and SampledPositionProperty
. #7723heightReference
and extrudedHeightReference
for geoemtry types that support it.CesiumMath.toSNorm
documentation changed to reflect the function's implementation. #7774CesiumMath.normalize
to convert a scalar value in an arbitrary range to a scalar in the range [0.0, 1.0]. #7774clampToHeightMostDetailed
or sampleHeightMostDetailed
would crash if entities were created when the promise resolved. #7690WebMercatorTilingScheme
) to be culled unexpectedly in some views. #7702Resource.fetchImage
now takes a preferImageBitmap
option to use createImageBitmap
when supported to move image decode off the main thread. This option defaults to false
.Resource.fetchImage
behavior is now identical to 1.55 and earlier.
Resource.fetchImage
back to return an Image
by default, instead of an ImageBitmap
when supported. Note that an ImageBitmap
cannot be flipped during texture upload. Instead, set flipY : true
during fetch to flip it.flipY
option in Resource.fetchImage
to false. This only has an effect when ImageBitmap is used.Resource.fetchImage
now returns an ImageBitmap
instead of Image
when supported. This allows for decoding images while fetching using createImageBitmap
to greatly speed up texture upload and decrease frame drops when loading models with large textures. #7579Cesium3DTileStyle.style
now has an empty Object
as its default value, instead of undefined
. #7567Scene.clampToHeight
now takes an optional width
argument before the result
argument. #7693Resource
class, addQueryParameters
and addTemplateValues
have been removed. Please use setQueryParameters
and setTemplateValues
instead. #7695Resource.fetchImage
now takes an options object. Use resource.fetchImage({ preferBlob: true })
instead of resource.fetchImage(true)
. The previous function definition will no longer work in 1.57. #7579ScreenSpaceEventHandler.touchHoldDelayMilliseconds
. #7286Resource.fetchImage
now has a flipY
option to vertically flip an image during fetch & decode. It is only valid when ImageBitmapOptions
is supported by the browser. #7579backFaceCulling
and normalShading
options to PointCloudShading
. Both options are only applicable for point clouds containing normals. #7399Cesium3DTileStyle.style
reacts to updates and represents the current state of the style. #7567BlendFunction.ONE_MINUS_CONSTANT_COLOR
. #7624HeadingPitchRoll.pitch
being NaN
when using .fromQuaternion
due to a rounding error for pitches close to +/- 90°. #7654Resource
when used with template replacements using numeric keys. #7668Cesium3DTilePointFeature
where anchorLineColor
used the same color instance instead of cloning the color #7686czm_materialInput.slope
is now an angle in radians between 0 and pi/2 (flat to vertical), rather than a projected length 1 to 0 (flat to vertical).czm_materialInput.aspect
was added as an angle in radians between 0 and 2pi (east, north, west to south).arcType
support for polyline
and polygon
, which supersedes followSurface
. followSurface
is still supported for compatibility with existing documents. #7582Resource
class and any functionality using it internally.EllipsoidRhumbLines.findIntersectionWithLongitude
when longitude was IDL. #7551EXT_texture_webp
glTF extension. #7486HeightReference.CLAMP_TO_GROUND
are now clamped to both terrain and 3D Tiles. #7434classificationType
for GroundPrimitive
, CorridorGraphics
, EllipseGraphics
, PolygonGraphics
and RectangleGraphics
is now ClassificationType.BOTH
. #7434ModelAnimation.speedup
and ModelAnimationCollection.speedup
have been removed. Use ModelAnimation.multiplier
and ModelAnimationCollection.multiplier
respectively instead. #7494Scene.clampToHeight
now takes an optional width
argument before the result
argument. The previous function definition will no longer work in 1.56. #7287PolylineGeometry.followSurface
has been superceded by PolylineGeometry.arcType
. The previous definition will no longer work in 1.57. Replace followSurface: false
with arcType: Cesium.ArcType.NONE
and followSurface: true
with arcType: Cesium.ArcType.GEODESIC
. #7492SimplePolylineGeometry.followSurface
has been superceded by SimplePolylineGeometry.arcType
. The previous definition will no longer work in 1.57. Replace followSurface: false
with arcType: Cesium.ArcType.NONE
and followSurface: true
with arcType: Cesium.ArcType.GEODESIC
. #7492height
) and GroundPrimitives
on 3D Tiles. #7434classificationType
property to PolylineGraphics
and GroundPolylinePrimitive
which specifies whether a polyline clamped to ground should be clamped to terrain, 3D Tiles, or both. #7437Scene.sampleHeight
, Scene.clampToHeight
, Scene.sampleHeightMostDetailed
, and Scene.clampToHeightMostDetailed
. #7287nodeTransformations
to rotate a model's wheels based on its velocity. #7361EllipsoidRhumbLine
class as a rhumb line counterpart to EllipsoidGeodesic
. #7484PolygonGeometry
, PolygonOutlineGeometry
, PolylineGeometry
, GroundPolylineGeometry
, and SimplePolylineGeometry
. #7492NODE_ENV
is specifically set to development
.QuantizedMeshTerrainData.interpolateHeight
. #7508EXT_texture_webp
extension. #7486CESIUM_3D_TILE
classification type would render on terrain. #7422scene.globe.cartographicLimitRectangle
to undefined
would cause a crash. #7477PrimitiveCollection.removeAll
to no longer contain
removed primitives. #7491GeoJsonDataSource
to use polygons and polylines that use rhumb lines. #7492Scene.specularEnvironmentMaps
is a url to a KTX file that contains the specular environment map and convoluted mipmaps for image-based lighting of all PBR models in the scene.Scene.sphericalHarmonicCoefficients
is an array of 9 Cartesian3
spherical harmonics coefficients for the diffuse irradiance of all PBR models in the scene.specularEnvironmentMaps
and sphericalHarmonicCoefficients
properties of Model
and Cesium3DTileset
can be used to override the values from the scene for specific models and tilesets.luminanceAtZenith
property of Model
and Cesium3DTileset
adjusts the luminance of the procedural image-based lighting.highDynamicRange
is enabled. #7427highDynamicRange
is toggled. #7451TerrainProviders
that implement availability
must now also implement the loadTileDataAvailability
method.ModelAnimation.speedup
has been deprecated and renamed to ModelAnimation.multiplier
. speedup
will be removed in version 1.54. #7393Scene.sampleHeightMostDetailed
, an asynchronous version of Scene.sampleHeight
that uses the maximum level of detail for 3D Tiles.Scene.clampToHeightMostDetailed
, an asynchronous version of Scene.clampToHeight
that uses the maximum level of detail for 3D Tiles.Scene.highDynamicRange
. #7017Scene.invertClassificationSupported
for checking if invert classification is supported.computeLineSegmentLineSegmentIntersection
to Intersections2D
. #7228cutoutRectangle
to ImageryLayer
, which allows cutting out rectangular areas in imagery layers to reveal underlying imagery. #7056atmosphereHueShift
, atmosphereSaturationShift
, and atmosphereBrightnessShift
properties to Globe
which shift the color of the ground atmosphere to match the hue, saturation, and brightness shifts of the sky atmosphere. #4195lightColor
property to Cesium3DTileset
, Model
, and ModelGraphics
to change the intensity of the light used when shading model. #7025imageBasedLightingFactor
property to Cesium3DTileset
, Model
, and ModelGraphics
to scale the diffuse and specular image-based lighting contributions to the final color. #7025Transforms.fixedFrameToHeadingPitchRoll
, a helper function for extracting a HeadingPitchRoll
from a fixed frame transform. #7164Ray.clone
. #7174perPositionHeight
. #7188pickPosition
would return incorrect results when called after sampleHeight
or clampToHeight
. #7113sampleHeight
and clampToHeight
would crash if picking a primitive that doesn't write depth. #7120BingMapsGeocoderService
. #7143VelocityOrientationProperty
. #6641KHR_materials_common
lights extension. #7206javascript
clippingPlanes.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(
tileset.boundingSphere.center
);
Scene.sampleHeight
to get the height of geometry in the scene. May be used to clamp objects to the globe, 3D Tiles, or primitives in the scene.Scene.clampToHeight
to clamp a cartesian position to the scene geometry.WEBGL_depth_texture
or WEBKIT_WEBGL_depth_texture
). Added Scene.sampleHeightSupported
and Scene.clampToHeightSupported
functions for checking if height sampling is supported.Cesium3DTileset.initialTilesLoaded
to indicate that all tiles in the initial view are loaded. #6934cartographicLimitRectangle
to Globe
. Use this to limit terrain and imagery to a specific Rectangle
area. #6987OpenCageGeocoderService
, which provides geocoding via OpenCage. #7015Globe.showGroundAtmosphere
. 6877
Globe.nightFadeOutDistance
and Globe.nightFadeInDistance
to configure when ground atmosphere night lighting fades in and out. 6877onStop
event to Clock
that fires each time stopTime is reached. #7066Resource
requests in recent versions of Edge #7085.ClippingPlaneCollection.clone
. #6872Globe.pick
to return a position in ECEF coordinates regardless of the current scene mode. This will only effect you if you were working around a bug to make Globe.pick
work in 2D and Columbus View. Use Globe.pickWorldCoordinates
to get the position in world coordinates that correlate to the current scene mode. #6859frameState
parameter in evaluate
and evaluateColor
functions in Expression
, StyleExpression
, ConditionsExpression
and all other places that call the functions. #6890PostProcessStageLibrary.createLensFlarStage
. Use PostProcessStageLibrary.createLensFlareStage
instead. #6972Scene.fxaa
. Use Scene.postProcessStages.fxaa.enabled
instead. #6980heightReference
to BoxGraphics
, CylinderGraphics
and EllipsoidGraphics
, which can be used to clamp these entity types to terrain. #6932GeocoderViewModel.destinationFound
for specifying a function that is called upon a successful geocode. The default behavior is to fly to the destination found by the geocoder. #6915ClippingPlaneCollection.planeAdded
and ClippingPlaneCollection.planeRemoved
events. planeAdded
is raised when a new plane is added to the collection and planeRemoved
is raised when a plane is removed. #6875Matrix4.setScale
for setting the scale on an affine transformation matrix #6888width
and height
to Scene.drillPick
for specifying a search area. #6922Cesium3DTileset.root
for getting the root tile of a tileset. #6944Cesium3DTileset.extras
and Cesium3DTile.extras
for getting application specific metadata from 3D Tiles. #6974skipLevelOfDetail
is false.skipLevelOfDetail
is true.getPickRay
in 2D. #2480Globe.pick
for 2D and Columbus View. #6859ClippingPlaneCollection
to be created every frame when used with a model entity. #6872Plane
entities so they are better aligned with the globe surface. #6887fromLightSource
to false. #6883false
on a polyline clamped to the ground. #6912Cesium3DTileset
wasn't using the correct tilesetVersion
. #6933scene.pick
after setting a new terrain provider. #6918drillPick
on a polyline clamped to the ground. 6907createGroundPolylineGeometry
web worker no longer depends on GroundPolylinePrimitive
, making the worker smaller and potentially avoiding a hanging build in some webpack configurations. #6946height
) and GroundPrimitives
to fail when crossing the international date line. #6951CylinderGeometry
when the top radius is not equal to the bottom radius #6863TimeDynamicPointCloud
for playback of time-dynamic point cloud data, where each frame is a 3D Tiles Point Cloud tile. #6721CoplanarPolygonGeometry
and CoplanarPolygonGeometryOutline
for drawing polygons composed of coplanar positions that are not necessarily on the ellipsoid surface. #6769perPositionHeight
, including supporting vertical polygons. This also improves KML compatibility. #6791Cartesian3.midpoint
to compute the midpoint between two Cartesian3
positions #6836equalsEpsilon
methods to OrthographicFrustum
, PerspectiveFrustum
, OrthographicOffCenterFrustum
and PerspectiveOffCenterFrustum
.content.url
is deprecated to reflect updates to the 3D Tiles spec. Use content.uri instead
. Support for content.url
will remain for backwards compatibility. #67443DTILES_batch_table_hierarchy
extension instead. Support for the deprecated batch table hierarchy will remain for backwards compatibility. #6780PostProcessStageLibrary.createLensFlarStage
is deprecated due to misspelling and will be removed in Cesium 1.49. Use PostProcessStageLibrary.createLensFlareStage
instead.region
bounding volume don't get transformed when the tileset's modelMatrix
changes. #6755WebMercatorProjection
. #6809PolygonGeometry
when using VertexFormat.POSITION_ONLY
, perPositionHeight
and extrudedHeight
[#6790](expect(https://github.com/CesiumGS/cesium/pull/6790)PolygonGeometry
and EllipseGeometry
tangent and bitangent attributes when a texture rotation is used #6788Viewer
is passed the option geocoder: true
#6833CallbackProperty
. #6815tsd-jsdoc
#6767requestRenderMode
was enabled. #6812heightReference
and extrudedHeightReference
properties to CorridorGraphics
, EllipseGraphics
, PolygonGraphics
and RectangleGraphics
. #6717PostProcessStage
has a selected
property which is an array of primitives used for selectively applying a post-process stage. #6476matrix
is [0,0,1,0,0,1,0,0,-1,0,0,0,0,0,0,1]
.orientation
using the Entity API or from within CZML. See #6738 for more details.PolylineGraphics
instead of CorridorGraphics
for polylines on terrain. #6706clampToGround
option for PolylineGraphics
(polyline entities).WEBGL_depth_texture
or WEBKIT_WEBGL_depth_texture
), otherwise clampToGround
will be ignored. Use Entity.supportsPolylinesOnTerrain
to check for support.GroundPolylinePrimitive
and GroundPolylineGeometry
.PostProcessStage
has a selected
property which is an array of primitives used for selectively applying a post-process stage. #6476
PostProcessStageLibrary.createBlackAndWhiteStage
and PostProcessStageLibrary.createSilhouetteStage
have per-feature support.zIndex
with corridor
, ellipse
, polygon
, polyline
and rectangle
. #6708clampToGround
option for polyline
. #6706RTC_CENTER
property in batched 3D model tilesets to conform to the updated 3D Tiles spec. #6488heightReference
and extrudedHeightReference
properties to CorridorGraphics
, EllipseGraphics
, PolygonGraphics
and RectangleGraphics
. #6717
height
and/or extrudedHeight
properties to clamp the geometry to terrain or set the height relative to terrain.Geometry
crossing the IDL. Attributes will be barycentrically interpolated. #6644colorMode
of random
could return the exact same color on successive calls to Color.fromRandom()
.Iso8601.MAXIMUM_VALUE
now formats to a string which can be parsed by fromIso8601
.height
) and GroundPrimitives
. #6393zIndex
for ground geometry, including corridor, ellipse, polygon and rectangle entities. #6362ParticleSystem
no longer uses forces
. #6510Particle
no longer uses size
, rate
, lifeTime
, life
, minimumLife
, maximumLife
, minimumWidth
, minimumHeight
, maximumWidth
, and maximumHeight
. #6510Scene.copyGlobeDepth
. Globe depth will now be copied by default when supported. #6393classificationType
for GroundPrimitive
, CorridorGraphics
, EllipseGraphics
, PolygonGraphics
and RectangleGraphics
is now ClassificationType.TERRAIN
. If you wish the geometry to color both terrain and 3D tiles, pass in the option classificationType: Cesium.ClassificationType.BOTH
.options
argument for Credit
#6373. Pass in an html string instead.Scene.fxaa
property has been deprecated and will be removed in Cesium 1.47. Use Scene.postProcessStages.fxaa.enabled
.height
) and GroundPrimitives
. #6393
ClassificationType.TERRAIN
at this time. Adding a material to a terrain Entity
will cause it to behave as if it is ClassificationType.TERRAIN
.WEBGL_depth_texture
or WEBKIT_WEBGL_depth_texture
), so materials on terrain entities and GroundPrimitives
are not supported in Internet Explorer.SingleTileImageryProvider
.GroundPrimitive.supportsMaterials
and Entity.supportsMaterialsforEntitiesOnTerrain
, both of which can be used to check if materials on terrain entities and GroundPrimitives
is supported. #6393Scene.postProcessStages
which is a collection of post-process stages to be run in order.ambientOcclusion
property which will apply screen space ambient occlusion to the scene and run before all stages.bloom
property which applies a bloom filter to the scene before all other stages but after the ambient occlusion stage.fxaa
property which applies Fast Approximate Anti-aliasing (FXAA) to the scene after all other stages.PostProcessStageLibrary
which contains several built-in stages that can be added to the collection.PostProcessStageComposite
for multi-stage post-processes like depth of field.Post Processing
to showcase the different built-in post-process stages.zIndex
for ground geometry, including corridor, ellipse, polygon and rectangle entities. #6362Rectangle.equalsEpsilon
for comparing the equality of two rectangles #6533ProviderViewModel
s with no category are displayed in an untitled group in BaseLayerPicker
instead of being labeled as 'Other'
#6574perPositionHeight
and extrudedHeight
. #6595createTileMapServiceImageryProvider
. #5818ClippingPlaneCollection
now uses ClippingPlane
objects instead of Plane
objects. #6498BingMapsImageryProvider
is no longer the default base imagery layer. (Bing imagery itself is still the default, however it is provided through Cesium ion)BingMapsGeocoderService
is no longer the default geocoding service.javascript
Cesium.BingMapsApi.defaultKey = "yourBingKey";
var viewer = new Cesium.Viewer("cesiumContainer", {
imageryProvider: new Cesium.BingMapsImageryProvider({
url: "https://dev.virtualearth.net",
}),
geocoder: [
new Cesium.CartographicGeocoderService(),
new Cesium.BingMapsGeocoderService(),
],
});
Particle.size
, ParticleSystem.rate
, ParticleSystem.lifeTime
, ParticleSystem.life
, ParticleSystem.minimumLife
, and ParticleSystem.maximumLife
have been renamed to Particle.imageSize
, ParticleSystem.emissionRate
, ParticleSystem.lifetime
, ParticleSystem.particleLife
, ParticleSystem.minimumParticleLife
, and ParticleSystem.maximumParticleLife
. Use of the size
, rate
, lifeTime
, life
, minimumLife
, and maximumLife
parameters is deprecated and will be removed in Cesium 1.46.ParticleSystem.forces
array has been switched out for singular function ParticleSystems.updateCallback
. Use of the forces
parameter is deprecated and will be removed in Cesium 1.46.ParticleSystem
will no longer be individual components. ParticleSystem.minimumWidth
and ParticleSystem.minimumHeight
will now be ParticleSystem.minimumImageSize
, ParticleSystem.maximumWidth
and ParticleSystem.maximumHeight
will now be ParticleSystem.maximumImageSize
, and ParticleSystem.width
and ParticleSystem.height
will now be ParticleSystem.imageSize
. Use of the minimumWidth
, minimumHeight
, maximumWidth
, maximumHeight
, width
, and height
parameters is deprecated and will be removed in Cesium 1.46.logarithmicDepthBuffer
to Scene
. With this option there is typically a single frustum using logarithmic depth rendered. This increases performance by issuing less draw calls to the GPU and helps to avoid artifacts on the connection of two frustums. #58510.1
and 1e10
respectively.IonGeocoderService
and made it the default geocoding service for the Geocoder
widget.createWorldImagery
which provides Bing Maps imagery via a Cesium ion account.PeliasGeocoderService
, which provides geocoding via a Pelias server.BaseLayerPicker
to group layers by category. ProviderViewModel.category
was also added to support this feature.Math.log2
to compute the base 2 logarithm of a number.GeocodeType
enum and use it as an optional parameter to all GeocoderService
instances to differentiate between autocomplete and search requests.initWebAssemblyModule
function to TaskProcessor
to load a Web Assembly module in a web worker. #6420supportsWebAssembly
function to FeatureDetection
to check if a browser supports loading Web Assembly modules. #6420MapboxImageryProvider
performance by 300% via tiles.mapbox.com
subdomain switching. #6426sampleTerrain
from node.js to enable offline terrain samplingParticleSystem
class constructor. When defined the variables override startColor and endColor and startScale and endScale. #6429TimeIntervalCollection.removeInterval
. #6418.GroundPrimitive
s and ClassificationPrimitive
s will become ready when show
is false
. #6428TimeInterval
so now it throws if fromIso8601
is given an ISO 8601 string with improper formatting. #6164New in X.X
which will include all new Sandcastle demos added for the current release. #6384DataSourceCollection
. #6316GeometryVisualizer
now requires primitive
and groundPrimitive
parameters. #6316Resource
instance, all additional parameters that are part of the Resource
class have been removed. This generally includes proxy
, headers
and query
parameters. #6368loadArrayBuffer
, loadBlob
, loadImage
, loadJson
, loadJsonp
, loadText
, loadXML
and loadWithXhr
have been removed. Please use the equivalent fetch
functions on the Resource
class. #6368ClippingPlaneCollection
is now supported in Internet Explorer, so ClippingPlaneCollection.isSupported
has been deprecated and will be removed in Cesium 1.45.ClippingPlaneCollection
should now be used with ClippingPlane
objects instead of Plane
. Use of Plane
objects has been deprecated and will be removed in Cesium 1.45.Credit
now takes an html
and showOnScreen
parameters instead of an options
object. Use of the options
parameter is deprecated and will be removed in Cesium 1.46.Credit.text
, Credit.imageUrl
and Credit.link
properties have all been deprecated and will be removed in Cesium 1.46. Use Credit.html
to retrieve the credit content.Credit.hasImage
and Credit.hasLink
functions have been deprecated and will be removed in Cesium 1.46.New in X.X
which will include all new Sandcastle demos added for the current release. #6384dequantizeInShader
option parameter to Model
and Model.fromGltf
to specify if Draco compressed glTF assets should be dequantized on the GPU.DataSourceCollection
. #6316
DataSource
will render in front of all ground geometry from another DataSource
in the same collection with a lower index.DataSourceCollection.raise
, DataSourceCollection.lower
, DataSourceCollection.raiseToTop
and DataSourceCollection.lowerToBottom
functions to change the ordering of a DataSource
in the collection.ClippingPlaneCollection
updates #6201:
ClippingPlane
object to be used with ClippingPlaneCollection
.Credit
has been modified to take an HTML string as the credit content. #6331WebMapServiceImageryProvider
so it can take an srs or crs string to pass to the resource query parameters based on the WMS version. #6223sourceType
specifies the type of data source if the URL doesn't have a known file extension.flyTo=false
optionally disables the automatic flyTo
after loading the data source.alphaCutoff
in glTF models. #6346BLEND
enabled. #6371invertClassification
. #6349globe.show
is false
. #6374GeometryUpdater.perInstanceColorAppearanceType
and GeometryUpdater.materialAppearanceType
. #6239GeometryVisualizer
no longer uses a type
parameter. #6239GeometryVisualizer
no longer displays polylines. Use PolylineVisualizer
instead. #6239CesiumIon
object has been completely refactored and renamed to Ion
.assets.agi.com
are deprecated and will be available until September 1, 2018. To continue using them, access them via Cesium ionResource
class, addQueryParameters
and addTemplateValues
have been deprecated and will be removed in Cesium 1.45. Please use setQueryParameters
and setTemplateValues
instead.Ion
, IonResource
, and IonImageryProvider
objects for loading data hosted on Cesium ion.createWorldTerrain
helper function for easily constructing the new Cesium World Terrain.CesiumTerrainProvider
, createTileMapServiceImageryProvider
and Cesium3DTileset
#6204Cesium.Math.cbrt
. #6222PolylineVisualizer
for displaying polyline entities #6239Resource
class #6205
put
, patch
, delete
, options
and head
methods, so it can be used for all XHR requests.preserveQueryParameters
parameter to getDerivedResource
, to allow us to append query parameters instead of always replacing them.setQueryParameters
and appendQueryParameters
to allow for better handling of query strings.CesiumViewer
demo application #6198Globe.tilesLoaded
getter property to determine if all terrain and imagery is loaded. #6194classificationType
property to entities which specifies whether an entity on the ground, like a polygon or rectangle, should be clamped to terrain, 3D Tiles, or both. #6195options.ellipsoid
to pass the ellipsoid to KmlDataSource constructors / loaders. #6176CESIUM_BASE_URL
wouldn't work without a trailing /
. #6225AxisAlignedBoundingBox
did not copy over center value when cloning an undefined result. #6183Resource.fetch
when called with no arguments #6206Resource.clone
to clone the Request
object, so resource can be used in parallel. #6208Material
so it can now take a Resource
object as an image. #6199Cesium.Math
class. #6233_This is an npm-only release to fix an issue with using Cesium in Node.js.__
CesiumIon
utility class for working with the Cesium ion beta API. #6136Cesium3DTileset
, KMLDataSource
, CZMLDataSource
, GeoJsonDataSource
, Model
, and Billboard
.shouldAnimate
option to true
when creating the Viewer to enable animation.Resource
instance, all additional parameters that are part of the Resource
class have been deprecated and will be removed in Cesium 1.44. This generally includes proxy
, headers
and query
parameters.loadArrayBuffer
, loadBlob
, loadImage
, loadJson
, loadJsonp
, loadText
, loadXML
and loadWithXhr
have been deprecated and will be removed in Cesium 1.44. Please use the equivalent fetch
functions on the Resource
class.Cesium3DTileStyle
has expanded to include styling point features. See the styling specification for details.Cesium3DTileFeature
can modify color
and show
properties for polygon, polyline, and geometry features.Cesium3DTilePointFeature
can modify the styling options for a point feature.Scene.requestRenderMode
enables a mode which will only request new render frames on changes to the scene, or when the simulation time change exceeds scene.maximumRenderTimeChange
.Scene.requestRender
will explicitly request a new render frame when in request render mode.Scene.preUpdate
and Scene.postUpdate
events that are raised before and after the scene updates respectively. The scene is always updated before executing a potential render. Continue to listen to Scene.preRender
and Scene.postRender
events for when the scene renders a frame.CreditDisplay.update
, which updates the credit display before a new frame is rendered.Globe.imageryLayersUpdatedEvent
, which is raised when an imagery layer is added, shown, hidden, moved, or removed on the globe.Cesium3DTileset.classificationType
to specify if a tileset classifies terrain, another 3D Tiles tileset, or both. This only applies to vector, geometry and batched 3D model tilesets. The limitations on the glTF contained in the b3dm tile are:
POSITION
and _BATCHID
semantics are required.CESIUM_RTC
and WEB3D_quantized_attributes
.Viewer.zoomTo
and Viewer.flyTo
to take a Cesium3DTileset
as a target. #6104shouldAnimate
option to the Viewer
constructor to indicate if the clock should begin animating on startup. #6154Cesium3DTileset.ellipsoid
determining the size and shape of the globe. This can be set at construction and defaults to a WGS84 ellipsoid.Plane.projectPointOntoPlane
for projecting a Cartesian3
position onto a Plane
. #6092Cartesian3.projectVector
for projecting one vector to another. #6093Cesium3DTileset.tileFailed
event that will be raised when a tile fails to load. The object passed to the event listener will have a url and message property. If there are no event listeners, error messages will be logged to the console. #6088AttributeCompression.zigZagDeltaDecode
which will decode delta and ZigZag encoded buffers in place.pack
and unpack
functions to OrientedBoundingBox
for packing to and unpacking from a flat buffer.tileset.colorBlendMode
is MIX
or REPLACE
. #5874ClippingPlaneCollection.isSupported
function for checking if rendering with clipping planes is supported.#6084Cartographic.toCartesian
to convert from Cartographic
to Cartesian3
. #6163BoundingSphere.volume
for computing the volume of a BoundingSphere
. #6069Camera.move*
and Camera.look*
functions in 2D mode. #5884Camera.moveStart
and Camera.moveEnd
events not being raised when camera is close to the ground. #4753OrientedBoundingBox
documentation. #6147https://cesiumjs.org
and https://cesium.com
.text
, imageUrl
, and link
parameters from Credit
, which were deprecated in Cesium 1.40. Use options.text
, options.imageUrl
, and options.link
instead.clippingPlanes
property to ModelGraphics
, Model
, Cesium3DTileset
, and Globe
, which specifies a ClippingPlaneCollection
to selectively disable rendering.PlaneGeometry
, PlaneOutlineGeometry
, PlaneGeometryUpdater
, PlaneOutlineGeometryUpdater
, PlaneGraphics
, and Entity.plane
to visualize planes.Plane.transformPlane
to apply a transformation to a plane.Globe.enableLighting
was false
. #6042invertClassification
was enabled, the invert color had an alpha less than 1.0
, and the window was resized. #6046text
, imageUrl
and link
parameters from Credit
have been deprecated and will be removed in Cesium 1.41. Use options.text
, options.imageUrl
and options.link
instead.Globe.material
to apply materials to the globe/terrain for shading such as height- or slope-based color ramps. See the new Sandcastle example. #5919polyline.depthFailMaterial
, label.scaleByDistance
, distanceDisplayCondition
, and disableDepthTestDistance
. #5986xsi
namespace declarations. #6003clampAnimations
parameter to Model
and Entity.model
. Setting this to false
allows different length animations to loop asynchronously over the duration of the longest animation.Invalid asm.js: Invalid member of stdlib
console error by recompiling crunch.js with latest emscripten toolchain. #5847file:
scheme compatibility to joinUrls
. #5989@experimental
tag to the documentation. A small subset of the Cesium API tagged as such are subject to breaking changes without deprecation. See the Coding Guide for further explanation. #6010Cesium.Label.enableRightToLeftDetection = true
at the start of your application. #5771xsi
namespace declarations. #5860ImageryLayer
that allow for adjusting the texture sampler used for up and down-sampling of imagery tiles, namely minificationFilter
and magnificationFilter
with possible values LINEAR
(the default) and NEAREST
defined in TextureMinificationFilter
and TextureMagnificationFilter
. #5846Fog.minimumBrightness
to affect how bright the fog will be when in complete darkness. #5934parentUrl
property in CesiumTerrainProvider
to allow for compositing of tilesets. #5864invertClassification
and invertClassificationColor
to Scene
. When invertClassification
is true
, any 3D Tiles geometry that is not classified by a ClassificationPrimitive
or GroundPrimitive
will have its color multiplied by invertClassificationColor
. #5836customTags
property to the UrlTemplateImageryProvider to allow custom keywords in the template URL. #5696eyeSeparation
and focalLength
properties to Scene
to configure VR settings. #5917Scene/CullingVolume
has been removed. Use Core/CullingVolume
.Scene/OrthographicFrustum
has been removed. Use Core/OrthographicFrustum
.Scene/OrthographicOffCenterFrustum
has been removed. Use Core/OrthographicOffCenterFrustum
.Scene/PerspectiveFrustum
has been removed. Use Core/PerspectiveFrustum
.Scene/PerspectiveOffCenterFrustum
has been removed. Use Core/PerspectiveOffCenterFrustum
.orientation
as the velocity vector of an entity, using velocityReference
syntax. #5807velocityReference
within an interval. #5738ModelAnimationCollection
by its index. #5815ModelAnimationCollection
that caused adding an animation by its name to throw an error. #5815PolylineCollection
preventing the display of more than 16K points in a single collection. #5538buildApps
now creates a built version of Sandcastle which uses the built version of Cesium for better performance.skipLevelOfDetail
optimization is off. #5869options.clock
when creating a new Viewer
instance is removed, pass options.clockViewModel
instead.GoogleEarthImageryProvider
, use GoogleEarthEnterpriseMapsProvider
instead.throttleRequest
parameter from TerrainProvider.requestTileGeometry
and inherited terrain providers. It is replaced with an optional Request
object. Set the request's throttle
property to true
to throttle requests.options.url
parameter of loadWithXhr
and for the url
parameter of loadArrayBuffer
, loadBlob
, loadImageViaBlob
, loadText
, loadJson
, loadXML
, loadImage
, loadCRN
, loadKTX
, and loadCubeMap
. Instead url
must be a string.classificationType
to ClassificationPrimitive
and GroundPrimitive
to choose whether terrain, 3D Tiles, or both are classified. #5770replaceState
bug that was causing the CesiumViewer
demo application to crash in Safari and iOS. #5691Entity
id type to be String
in EntityCollection
and CompositeEntityCollection
#5791Model
and BillboardCollection
would throw an error if the globe is undefined. #5638Model
glTF cache loses reference to the model's buffer data. #5720disableDepthTestDistance
. #5501 #5331 #5621CANVAS_DARK
, CANVAS_LIGHT
, and CANVAS_GRAY
. #5737Cesium3DTileset.loadJson
to support overriding the default tileset loading behavior. #5685KHR_materials_common
extension. #57733D Tiles Interactivity
Sandcastle demo. #5703Quaternion.fromHeadingPitchRoll(heading, pitch, roll, result)
was removed. Use Quaternion.fromHeadingPitchRoll(hpr, result)
instead where hpr
is a HeadingPitchRoll
.Transforms.headingPitchRollToFixedFrame(origin, headingPitchRoll, ellipsoid, result)
was removed. Use Transforms.headingPitchRollToFixedFrame(origin, headingPitchRoll, ellipsoid, fixedFrameTransform, result)
instead where fixedFrameTransform
is a a 4x4 transformation matrix (see Transforms.localFrameToFixedFrameGenerator
).Transforms.headingPitchRollQuaternion(origin, headingPitchRoll, ellipsoid, result)
was removed. Use Transforms.headingPitchRollQuaternion(origin, headingPitchRoll, ellipsoid, fixedFrameTransform, result)
instead where fixedFrameTransform
is a a 4x4 transformation matrix (see Transforms.localFrameToFixedFrameGenerator
).color
, show
, and pointSize
properties of Cesium3DTileStyle
are no longer initialized with default values.Scene/CullingVolume
is deprecated and will be removed in 1.38. Use Core/CullingVolume
.Scene/OrthographicFrustum
is deprecated and will be removed in 1.38. Use Core/OrthographicFrustum
.Scene/OrthographicOffCenterFrustum
is deprecated and will be removed in 1.38. Use Core/OrthographicOffCenterFrustum
.Scene/PerspectiveFrustum
is deprecated and will be removed in 1.38. Use Core/PerspectiveFrustum
.Scene/PerspectiveOffCenterFrustum
is deprecated and will be removed in 1.38. Use Core/PerspectiveOffCenterFrustum
.ClassificationPrimitive
which defines a volume and draws the intersection of the volume and terrain or 3D Tiles. #5625tileLoad
event to Cesium3DTileset
. #5628HeightReference.CLAMP_TO_GROUND
and no position #5648width
and height
to scene.pick
. #5602Viewer.flyTo
not respecting zoom limits, and resetting minimumZoomDistance if the camera zoomed past the minimumZoomDistance. 5573Cesium3DTilesInspector
that selects the first tileset hovered over if no tilest is specified. #5139Entity.computeModelMatrix
which returns the model matrix representing the entity's transformation. #5584color
, show
, or pointSize
with a string or object literal. show
may also take a boolean and pointSize
may take a number. #5412KmlDataSource.name
to specify a name for the datasource #5660.GeoJsonDataSource.name
to specify a name for the datasource #5653Cesium3DTilesInspectorViewModel
and removing a tileset #5607Billboard
, Label
and PointPrimitive
constructors to clone NearFarScale
parameters #5654FrustumGeometry
and FrustumOutlineGeometry
. #5649options
parameter to the constructors of PerspectiveFrustum
, PerspectiveOffCenterFrustum
, OrthographicFrustum
, and OrthographicOffCenterFrustum
to set properties. #5649OrthographicFrustum
. #5586JulianDate.fromIso8601
will default to midnight UTC if no time is provided to match the Javascript Date
specification. You must specify a local time of midnight to achieve the old behavior.GoogleEarthImageryProvider
has been deprecated and will be removed in Cesium 1.37, use GoogleEarthEnterpriseMapsProvider
instead.throttleRequest
parameter for TerrainProvider.requestTileGeometry
, CesiumTerrainProvider.requestTileGeometry
, VRTheWorldTerrainProvider.requestTileGeometry
, and EllipsoidTerrainProvider.requestTileGeometry
is deprecated and will be replaced with an optional Request
object. The throttleRequests
parameter will be removed in 1.37. Instead set the request's throttle
property to true
to throttle requests.options.url
parameter of loadWithXhr
and for the url
parameter of loadArrayBuffer
, loadBlob
, loadImageViaBlob
, loadText
, loadJson
, loadXML
, loadImage
, loadCRN
, loadKTX
, and loadCubeMap
is deprecated. This will be removed in 1.37, instead url
must be a string.Cesium3DTileset
Cesium3DTileStyle
, StyleExpression
, Expression
, and ConditionsExpression
Cesium3DTile
Cesium3DTileContent
Cesium3DTileFeature
Cesium3DTilesInspector
, Cesium3DTilesInspectorViewModel
, and viewerCesium3DTilesInspectorMixin
Cesium3DTileColorBlendMode
ParticleSystem
, Particle
, ParticleBurst
, BoxEmitter
, CircleEmitter
, ConeEmitter
, ParticleEmitter
, and SphereEmitter
, and the new Sandcastle examples: Particle System and Particle System Fireworks. #5212options.clock
, options.times
and options.dimensions
to WebMapTileServiceImageryProvider
in order to handle time dynamic and static values for dimensions.options.request
parameter to loadWithXhr
and a request
parameter to loadArrayBuffer
, loadBlob
, loadImageViaBlob
, loadText
, loadJson
, loadJsonp
, loadXML
, loadImageFromTypedArray
, loadImage
, loadCRN
, and loadKTX
.CzmlDataSource
and KmlDataSource
load functions now take an optional query
object, which will append query parameters to all network requests. #5419, #5434fromIso8601
, fromIso8601DateArray
, and fromIso8601DurationArray
to TimeIntervalCollection
for handling various ways groups of intervals can be specified in ISO8601 format.fromJulianDateArray
to TimeIntervalCollection
for generating intervals from a list of dates.Cesium.Math.randomBetween
.defaultValue
to check for both undefined
and null
. #5551throttleRequestByServer
function has been removed. Instead pass a Request
object with throttleByServer
set to true
to any of following load functions: loadWithXhr
, loadArrayBuffer
, loadBlob
, loadImageViaBlob
, loadText
, loadJson
, loadJsonp
, loadXML
, loadImageFromTypedArray
, loadImage
, loadCRN
, and loadKTX
.options.clock
when creating a new Viewer
instance has been deprecated and will be removed in Cesium 1.37, pass options.clockViewModel
instead.PolylineCollection
would ignore the far distance when updating the distance display condition. #5283Camera.pickEllipsoid
with a canvas of size 0.BoundingSphere.fromOrientedBoundingBox
. #5334PolylineCollection
model matrix was updated. #5327EllipsoidGeometry
and EllipsoidOutlineGeometry
were given floating point values when expecting integers. #5260sizeInMeters
set to true would move upwards when zooming out. #5373SampledProperty.setInterpolationOptions
does not ignore undefined options
. #3575basePath
option to Cesium.Model.fromGltf
. #5320OrthographicFrustum
. Use OrthographicOffCenterFrustum
instead. #5109GoogleEarthEnterpriseTerrainProvider
and GoogleEarthEnterpriseImageryProvider
to read data from Google Earth Enterprise servers. #5189.PolylineDash
Material type.PolylineDashMaterialProperty
to the Entity API.polylineDash
property .disableDepthTestDistance
to billboards, points and labels. This sets the distance to the camera where the depth test will be disabled. Setting it to zero (the default) will always enable the depth test. Setting it to Number.POSITVE_INFINITY
will never enabled the depth test. Also added scene.minimumDisableDepthTestDistance
to change the default value from zero. #5166depthFailMaterial
property to line entities, which is the material used to render the line when it fails the depth test. #5160MapboxImageryProvider
default token error message. #5191Matrix3.fromHeadingPitchRoll
. #5195Scene.pickPosition
now caches results per frame to increase performance. #5117left
, right
, bottom
, and top
properties of OrthographicFrustum
are deprecated and will be removed in 1.33. Use OrthographicOffCenterFrustum
instead.ArcGisImageServerTerrainProvider
.properties
in an Entity
created by GeoJsonDataSource
are now instances of ConstantProperty
instead of raw values.projectionPicker
to true
in the options when creating a Viewer
to add a widget that will switch projections. #5021switchToOrthographicFrustum
or switchToPerspectiveFrustum
on Camera
to change projections.Camera.flyTo
and Camera.flyToBoundingSphere
: flyOverLongitude
, flyOverLongitudeWeight
, and pitchAdjustHeight
. #5070Viewer.trackedEntityChanged
, which is raised when the value of viewer.trackedEntity
changes. #5060Camera.DEFAULT_OFFSET
for default view of objects with bounding spheres. #4936TileBoundingBox
that caused the terrain to disappear in certain places 4032PinBuilder
where inset images could have low-alpha fringes against an opaque background. #5099GroundPrimitive
rendering in 2D and Columbus View. #5078ModelAnimationCache
causing different animations to reference the same animation. #5064ConstantProperty
now provides valueOf
and toString
methods that return the constant value.Quaternion.fromHeadingPitchRoll
that made it erroneously throw an exception when passed individual angles in an unminified / debug build.CesiumInspectorViewModel
when using the NW / NE / SW / SE / Parent buttons to navigate to a terrain tile that is not yet loaded.QuadtreePrimitive
now uses frameState.afterRender
to fire tileLoadProgressEvent
#3450Quaternion.fromHeadingPitchRoll(heading, pitch, roll, result)
will be removed in 1.33. Use Quaternion.fromHeadingPitchRoll(hpr, result)
instead where hpr
is a HeadingPitchRoll
. #4896Transforms.headingPitchRollToFixedFrame(origin, headingPitchRoll, ellipsoid, result)
will be removed in 1.33. Use Transforms.headingPitchRollToFixedFrame(origin, headingPitchRoll, ellipsoid, fixedFrameTransform, result)
instead where fixedFrameTransform
is a a 4x4 transformation matrix (see Transforms.localFrameToFixedFrameGenerator
). #4896Transforms.headingPitchRollQuaternion(origin, headingPitchRoll, ellipsoid, result)
will be removed in 1.33. Use Transforms.headingPitchRollQuaternion(origin, headingPitchRoll, ellipsoid, fixedFrameTransform, result)
instead where fixedFrameTransform
is a a 4x4 transformation matrix (see Transforms.localFrameToFixedFrameGenerator
). #4896ArcGisImageServerTerrainProvider
will be removed in 1.32 due to missing TIFF support in web browsers. #4981Color.FUCHSIA
from Color.FUSCHIA
. #4977MIDDLE_DOUBLE_CLICK
and RIGHT_DOUBLE_CLICK
from ScreenSpaceEventType
have been removed. #5052GeometryPipeline.computeBinormalAndTangent
. Use GeometryPipeline.computeTangentAndBitangent
instead. #5053url
and key
properties from GeocoderViewModel
. #5056BingMapsGeocoderServices
now requires options.scene
. #5056loadKTX
, to load KTX textures, and loadCRN
to load crunch compressed textures.PixelFormat
and WebGLConstants
enums from WebGL extensions WEBGL_compressed_s3tc
, WEBGL_compressed_texture_pvrtc
, and WEBGL_compressed_texture_etc1
.CompressedTextureBuffer
.Scene.pickPosition
in Columbus view and 2D. #4990Scene.pickTranslucentDepth
is true
. #4979GroundPrimitives
on hardware without the EXT_frag_depth
extension; however, this could cause artifacts for certain viewing angles. #4930Transforms.localFrameToFixedFrameGenerator
to generate a function that computes a 4x4 transformation matrix from a local reference frame to fixed reference frame. #4896Label.scaleByDistance
to control minimum/maximum label size based on distance from the camera. #5019DebugCameraPrimitive
to draw multifrustum planes. The attribute debugShowFrustumPlanes
of Scene
and frustumPlanes
of CesiumInspector
toggle this. #4932RectangleGeometry
by skipping unnecessary logic in the code. #4948VertexArray
attributes not being set correctly. #4995Viewer.selectedEntityChanged
, which is raised when the value of viewer.selectedEntity
changes. #5043url
and key
will be removed from GeocoderViewModel
in 1.31. These properties will be available on geocoder services that support them, like BingMapsGeocoderService
.GeometryPipeline.computeBinormalAndTangent
will be removed in 1.31. Use GeometryPipeline.createTangentAndBitangent
instead. #4856MIDDLE_DOUBLE_CLICK
and RIGHT_DOUBLE_CLICK
from ScreenSpaceEventType
have been deprecated and will be removed in 1.31. #4910heading
, pitch
, roll
parameters from Transform.headingPitchRollToFixedFrame
and Transform.headingPitchRollQuaternion
. Pass a HeadingPitchRoll
object instead. #4843binormal
has been renamed to bitangent
for Geometry
and VertexFormat
. #4856CesiumInspectorViewModel
properties were removed or changed from variables to functions. #4857ShadowMap
constructor has been made private. #4010sampleTerrainMostDetailed
to sample the height of an array of positions using the best available terrain data at each point. This requires a TerrainProvider
with the availability
property.blendOption
property to BillboardCollection
, LabelCollection
, and PointPrimitiveCollection
. The default is BlendOption.OPAQUE_AND_TRANSLUCENT
; however, if all billboards, labels, or points are either completely opaque or completely translucent, blendOption
can be changed to BlendOption.OPAQUE
or BlendOption.TRANSLUCENT
, respectively, to increase performance by up to 2x.GeocoderService
, an interface for geocoders, and BingMapsGeocoderService
and CartographicGeocoderService
implementations. #4723ImageryLayer
with a splitter to allow layers to only display to the left or right of a splitter. See ImageryLayer.splitDirection
, Scene.imagerySplitPosition
, and the Sandcastle example.GroundPrimitives
where rendering incorrectly or disappearing at different zoom levels. #4161, #4326TerrainProvider
now optionally exposes an availability
property that can be used to query the terrain level that is available at a location or in a rectangle. Currently only CesiumTerrainProvider
exposes this property.Geocoder
autocomplete drop down visibility in Firefox. #4916Rectangle.fromRadians
.perInstanceAttribute
of DebugAppearance
has been made optional and defaults to false
.debugShowFrustums
is enabled with OIT. #4864npm run test-webgl-stub
.Model
with a color/translucency. Added color
, colorBlendMode
, and colorBlendAmount
properties to Model
, ModelGraphics
, and CZML. Also added ColorBlendMode
enum. #4547Model
with a silhouette. Added silhouetteColor
and silhouetteSize
properties to Model
, ModelGraphics
, and CZML. #4314Label
properties showBackground
, backgroundColor
, and backgroundPadding
to the primitive, Entity, and CZML layers.\n
) in Cesium Label
s and CZML. [#2402]VerticalOrigin.BASELINE
. Previously, VerticalOrigin.BOTTOM
would sometimes align to the baseline depending on the contents of a label.
(https://github.com/CesiumGS/cesium/issues/2402)RectangleGeometry
. #2737globe.getHeight
incorrectly returned undefined
. #3411GroundPrimitive
to render incorrectly on systems without the WEBGL_depth_texture
extension. #4747bindShapeMatrix
. #4722Rectangle.union
to correctly account for rectangles that cross the IDL. #4732result
properties when its properties are undefined
. #4029divideComponents
function to Cartesian2
, Cartesian3
, and Cartesian4
. #4750WebGLConstants
enum. Previously, this was part of the private Renderer API. #4731Billboard
, Label
, and PointPrimitive
visual quality. #4675
LESS
to LEQUAL
, allowing label glyphs of equal depths to overlap.TextureAtlas.borderWidthInPixels
has always been applied to the upper and right edges of each internal texture, but is now also applied to the bottom and left edges of the entire TextureAtlas, guaranteeing borders on all sides regardless of position within the atlas.Cartographic.fromCartesian
when the cartesian is not on the ellipsoid surface. #4611Transforms.headingPitchRollToFixedFrame
and Transforms.headingPitchRollQuaternion
have been deprecated and will be removed in 1.30. Pass the new HeadingPitchRoll
object instead. #4498scene
parameter for creating BillboardVisualizer
, LabelVisualizer
, and PointVisualizer
has been removed. Instead, pass an instance of EntityCluster
. #4514KmlDataSource
and GeoJsonDataSource
were not honoring the clampToGround
option for billboards and labels and was instead always clamping, reducing performance in cases when it was unneeded. #4459KmlDataSource
features to respect timespan
and timestamp
properties of its parents (e.g. Folders or NetworkLinks). #4041KmlDataSource
bug where features had duplicate IDs and only one was drawn. #3941GeoJsonDataSource
now treats null crs values as a no-op instead of failing to load. #4456GeoJsonDataSource
now gracefully handles missing style icons instead of failing to load. #4452HeadingPitchRoll
#4047
HeadingPitchRoll.fromQuaternion
function for retrieving heading-pitch-roll angles from a quaternion.HeadingPitchRoll.fromDegrees
function that returns a new HeadingPitchRoll instance from angles given in degrees.HeadingPitchRoll.clone
function to duplicate HeadingPitchRoll instance.HeadingPitchRoll.equals
and HeadingPitchRoll.equalsEpsilon
functions for comparing two instances.Matrix3.fromHeadingPitchRoll
Computes a 3x3 rotation matrix from the provided headingPitchRoll.BoundingSphere
computation for Primitive
instances with a modelMatrix. #4428@2x.png
, via the MapboxImageryProvider
format
option. #4453.rectangle
option. https://github.com/CesiumGS/cesium/issues/4377distanceDisplayCondition
properties. #4403blendFuncSeparate
parameters were loaded in the wrong order. #4435RectangleGeometry
rotation when the rectangle is close to the international date line #3874clusterBillboards
, clusterLabels
, and cluserPoints
properties to EntityCluster
to selectively cluster screen space entities.Transforms.northUpEastToFixedFrame
to compute a 4x4 local transformation matrix from a reference frame with a north-west-up axes.Geocoder
usability by selecting text on click #4464Rectangle.simpleIntersection
which is an optimized version of Rectangle.intersection
for more constrained input. #4339scene
parameter for creating BillboardVisualizer
, LabelVisualizer
, and PointVisualizer
has been deprecated and will be removed in 1.28. Instead, pass an instance of EntityCluster
.castShadows
and receiveShadows
properties from Model
, Primitive
, and Globe
. Instead, use shadows
with the ShadowMode
enum, e.g. model.shadows = ShadowMode.ENABLED
.Viewer.terrainShadows
now uses the ShadowMode
enum instead of a Boolean, e.g. viewer.terrainShadows = ShadowMode.RECEIVE_ONLY
.Billboard
, Label
and Point
entities. #4240DistanceDisplayCondition
s to all primitives to determine the range interval from the camera for when it will be visible.defaultGamma
property of your BingMapsImageryProvider
instance to 1.3.HeightmapTerrainData
with an encoding in which actual heights were equal to the minimum representable height.AttributeCompression.compressTextureCoordinates
and decompressTextureCoordinates
that could cause a small inaccuracy in the encoded texture coordinates.TrustedServer
collection that controls which servers should have withCredential
set to true
on XHR Requests.backgroundColor
and borderWidth
properties to writeTextToCanvas
.CesiumMath.clampToLatitudeRange
. A convenience function to clamp a passed radian angle to valid Latitudes.DebugCameraPrimitive
to visualize the view frustum of a camera.KmlDataSource
unsupportedNodeEvent
listeners have changed to allow better handling of unsupported KML Features.verticalOrigin
set to CENTER
by default instead of BOTTOM
.castShadows
and receiveShadows
properties from Model
, Primitive
, and Globe
. They will be removed in 1.26. Use shadows
instead with the ShadowMode
enum, e.g. model.shadows = ShadowMode.ENABLED
.Viewer.terrainShadows
now uses the ShadowMode
enum instead of a Boolean, e.g. viewer.terrainShadows = ShadowMode.RECEIVE_ONLY
. Boolean support will be removed in 1.26.shadows
property to the entity API for Box
, Corridor
, Cylinder
, Ellipse
, Ellipsoid
, Polygon
, Polyline
, PoylineVolume
, Rectangle
, and Wall
. #4005Camera.cancelFlight
to cancel the existing camera flight if it exists.KmlDataSource
defaulting KML Feature node to hidden unless all ancestors are visible. This better matches the KML specification.relativeToGround
and clampToGround
.GeocoderViewModel.keepExpanded
which when set to true will always keep the Geocoder in its expanded state.INT
and UNSIGNED_INT
in ComponentDatatype
.ComponentDatatype.fromName
for getting a ComponentDatatype
from its name.BillboardGraphics.alignedAxis
as the velocity vector of an entity, using velocityReference
syntax.urlSchemeZeroPadding
property to UrlTemplateImageryProvider
to allow the numeric parts of a URL, such as {x}
, to be padded with zeros to make them a fixed width.VelocityVectorProperty
is now optional.rangeMax
parameter to Math.toSNorm
and Math.fromSNorm
. #4121MapQuest OpenStreetMap
from the list of demo base layers since direct tile access has been discontinued. See the MapQuest Developer Blog for details.GroundPrimitive.initializeTerrainHeights()
must be called and have the returned promise resolve before a GroundPrimitive
can be added synchronously.heightReference
property to point, billboard and model entities.GroundPrimitive
if its material is a ColorMaterialProperty
instance and it doesn't have a height
or extrudedHeight
. Entities with any other type of material are not clamped to terrain.KMLDataSource
altitudeMode
.clampToGround
property. When true
, clamps Polygon
, LineString
and LinearRing
features to the ground if their altitudeMode
is clampToGround
. For this case, lines use a corridor instead of a polyline.GeoJsonDataSource
clampToGround
property. When true
, clamps Polygon
and LineString
features to the ground. For this case, lines use a corridor instead of a polyline.Box
, Corridor
and Cylinder
. Added new CZML properties:
Billboard
: width
, height
, heightReference
, scaleByDistance
, translucencyByDistance
, pixelOffsetScaleByDistance
, imageSubRegion
Label
: heightReference
, translucencyByDistance
, pixelOffsetScaleByDistance
Model
: heightReference
, maximumScale
Point
: heightReference
, scaleByDistance
, translucencyByDistance
Ellipsoid
: subdivisions
, stackPartitions
, slicePartitions
rotatable2D
property to to Scene
, CesiumWidget
and Viewer
to enable map rotation in 2D mode. #3897Camera.setView
and Camera.flyTo
now use the orientation.heading
parameter in 2D if the map is rotatable.Camera.changed
event that will fire whenever the camera has changed more than Camera.percentageChanged
. percentageChanged
is in the range [0, 1].GroundPrimitive
performance.unsupportedNodeEvent
to KmlDataSource
that is fired whenever an unsupported node is encountered.Clock
now keeps its configuration settings self-consistent. Previously, this was done by AnimationViewModel
and could become inconsistent in certain cases. #4007IntersectionTests.rayTriangleParametric
.packArray
and unpackArray
functions to Cartesian2
, Cartesian3
, and Cartesian4
.KmlDataSource
now requires options.camera
and options.canvas
.Viewer.shadows
and Viewer.terrainShadows
. Both are off by default.Viewer.shadowMap
and Scene.shadowMap
for accessing the scene's shadow map.castShadows
and receiveShadows
properties to Model
and Entity.model
, and options to the Model
constructor and Model.fromGltf
.castShadows
and receiveShadows
properties to Primitive
, and options to the Primitive
constructor.castShadows
and receiveShadows
properties to Globe
.heightReference
to models so they can be drawn on terrain.Globe.enableLighting
is true
. 3439Url
tag. #3895.VelocityVectorProperty
so billboard's aligned axis can follow the velocity vector. #3908terrainProviderChanged
event to Scene
and Globe
SkyAtmosphere
. See the new Sandcastle example: Atmosphere Color. #3439Billboard.computeScreenSpacePosition
returning the wrong y coordinate. #3920Matrix4.fromCamera
was taking eye/target instead of position/direction. #3927Scene.nearToFarDistance2D
that determines the size of each frustum of the multifrustum in 2D.Matrix4.computeView
.CullingVolume.fromBoundingSphere
.debugShowShadowVolume
to GroundPrimitive
.ImageryMaterialProperty.alpha
. Use ImageryMaterialProperty.color.alpha
instead.OpenStreetMapImageryProvider
. Use createOpenStreetMapImageryProvider
instead.PolygonGraphics.closeTop
, PolygonGraphics.closeBottom
, and PolygonGeometry
options for creating an extruded polygon without a top or bottom. #3879CzmlDataSource
#3860Camera.flyTo
would not work with a rectangle in 2D. #3688ArcGisMapServerImageryProvider
to connect to a MapServer specifying the Web Mercator projection and a fullExtent bigger than the valid extent of the projection. #3854TileMapServiceImageryProvider
. Use createTileMapServiceImageryProvider
instead.GroundPrimitive.geometryInstance
. Use GroundPrimitive.geometryInstances
instead.definedNotNull
. Use defined
instead.ImageryMaterialProperty.alpha
. It will be removed in 1.21. Use ImageryMaterialProperty.color.alpha
instead.NetworkLink
to not append a ?
if there isn't a query string.styleUrl
references within a StyleMap
.GeoJsonDataSource
now handles CRS urn:ogc:def:crs:EPSG::4326
TimeIntervalCollection.removeInterval
bug that resulted in too many intervals being removed.GroundPrimitive
throws a DeveloperError
when passed an unsupported geometry type instead of crashing.GroundPrimitive
volume was being clipped by the far plane. #3706Camera.computeViewRectangle
was incorrect when crossing the international date line. #3717Rectangle
result parameter to Camera.computeViewRectangle
.EntityCollection.collectionChanged
. #3739Entity
with a path without ever actually rendering it. #3738Color.fromCssColorString
from reusing the input result
alpha value in some cases.PolygonGeometry
now changes the input Cartesian3
values of options.positions
so that they are on the ellipsoid surface. This only affects polygons created synchronously with options.perPositionHeight = false
when the positions have a non-zero height and the same positions are used for multiple entities. In this case, make a copy of the Cartesian3
values used for the polygon positions.KmlDataSource
taking a proxy object. It will throw an exception in 1.21. It now should take a options
object with required camera
and canvas
parameters.definedNotNull
. It will be removed in 1.20. Use defined
instead, which now checks for null
as well as undefined
.NetworkLink
refresh modes onInterval
, onExpire
and onStop
. Includes support for viewboundScale
, viewFormat
, httpQuery
.NetworkLinkControl
including minRefreshPeriod
, cookie
and expires
.StyleMap
. The highlight
style is still ignored.root://
URLs.Viewer.zoomTo
and Viewer.flyTo
now accept an ImageryLayer
instance as a valid parameter and will zoom to the extent of the imagery.Camera.flyHome
function for resetting the camera to the home view.Camera.flyTo
now honors max and min zoom settings in ScreenSpaceCameraController
.show
property to CzmlDataSource
, GeoJsonDataSource
, KmlDataSource
, CustomDataSource
, and EntityCollection
for easily toggling display of entire data sources.owner
property to CompositeEntityCollection
.DataSouceDisplay.ready
for determining whether or not static data associated with the Entity API has been rendered.GroundPrimitive
with an EllipseGeometry
from having a rotation
.CorridorGeometry
and CorridorOutlineGeometry
synchronously.DeveloperError
, undefined
is returned.latitude, longitude, height
in the Geocoder.IntersectionTests.lineSegmentSphere
where the ray origin was not set.length
to Matrix2
, Matrix3
and Matrix4
so these can be used as array-like objects.Color.add
, Color.subtract
, Color.multiply
, Color.divide
, Color.mod
, Color.multiplyByScalar
, and Color.divideByScalar
functions to perform arithmetic operations on colors.result
parameter to Color.fromRgba
, Color.fromHsl
and Color.fromCssColorString
.navigator is not defined
reference error when Cesium is used with Node.js.CESIUM_binary_glTF
. Use KHR_binary_glTF
instead, which is the default for the online COLLADA-to-glTF converter.GroundPrimitive.geometryInstance
. It will be removed in 1.20. Use GroundPrimitive.geometryInstances
instead.TileMapServiceImageryProvider
. It will be removed in 1.20. Use createTileMapServiceImageryProvider
instead.VRButton
which is a simple, single-button widget that toggles VR mode. It is off by default. To enable the button, set the vrButton
option to Viewer
to true
. Only Cardboard for mobile is supported. More VR devices will be supported when the WebVR API is more stable.Scene.useWebVR
to switch the scene to use stereoscopic rendering.window.devicePixelRatio
on browsers that support the CSS imageRendering
attribute. This greatly improves performance on mobile devices and high DPI displays by rendering at the browser-recommended resolution. This also reduces bandwidth usage and increases battery life in these cases. To enable the previous behavior, use the following code:
javascript
if (Cesium.FeatureDetection.supportsImageRenderingPixelated()) {
viewer.resolutionScale = window.devicePixelRatio;
}
GroundPrimitive
now supports batching geometry for better performance.ImageryLayer.getViewableRectangle
to make it easy to get the effective bounds of an imagery layer.GroundPrimitive
s whose containing rectangle has a width greater than pi.UrlTemplateImageryProvider.reinitialize
for changing imagery provider options without creating a new instance.UrlTemplateImageryProvider
now accepts a promise to an options
object in addition to taking the object directly.Scene.useDepthPicking
to enable or disable picking using the depth buffer. #3390BoundingSphere.fromEncodedCartesianVertices
to create bounding volumes from parallel arrays of the upper and lower bits of EncodedCartesian3
s.getExtensionFromUri
, getAbsoluteUri
, and Math.logBase
.Rectangle.union
and Rectangle.expand
.createTileMapServiceImageryProvider
. Tilesets generated with older gdal2tiles.py versions may need to have the flipXY : true
option set to load correctly.Camera.viewRectangle
. Use Camera.setView({destination: rectangle})
instead.RectanglePrimitive
. Use RectangleGeometry
or Entity.rectangle
instead.Polygon
. Use PolygonGeometry
or Entity.polygon
instead.OrthographicFrustum.getPixelSize
. Use OrthographicFrustum.getPixelDimensions
instead.PerspectiveFrustum.getPixelSize
. Use PerspectiveFrustum.getPixelDimensions
instead.PerspectiveOffCenterFrustum.getPixelSize
. Use PerspectiveOffCenterFrustum.getPixelDimensions
instead.Scene\HeadingPitchRange
. Use Core\HeadingPitchRange
instead.jsonp
. Use loadJsonp
instead.HeightmapTessellator
from the public API. It is an implementation details.TerrainMesh
from the public API. It is an implementation details.Model
node transformations via CZML and the Entity API. See the new Sandcastle example: CZML Model - Node Transformations. #3316Globe.tileLoadProgressEvent
, which is raised when the length of the tile load queue changes, enabling incremental loading indicators.GetFeatureInfoFormat
and WebMapServiceImageryProvider
.enableFeaturePicking
toggle to all ImageryProviders that support feature picking.CorridorGeometry
and PolylineVolumeGeometry
. #3293CorridorGeometry
with nearly colinear points. #3320EllipseGeometry
and EllipseOutlineGeometry
. #3078Rectangle.fromCartographicArray
now uses the smallest rectangle regardess of whether or not it crosses the international date line. #3227TranslationRotationScale
property, which represents an affine transformation defined by a translation, rotation, and scale.Matrix4.fromTranslationRotationScale
.NodeTransformationProperty
, which is a Property
value that is defined by independent translation
, rotation
, and scale
Property
instances.PropertyBag
, which is a Property
whose value is a key-value mapping of property names to the computed value of other properties.ModelGraphics.runAnimations
which is a boolean Property
indicating if all model animations should be started after the model is loaded.ModelGraphics.nodeTransformations
which is a PropertyBag
of TranslationRotationScale
properties to be applied to a loaded model.runAnimations
and nodeTransformations
properties on the model
packet.HeightmapTessellator
. It will be removed in 1.17.TerrainMesh
. It will be removed in 1.17.OpenStreetMapImageryProvider
. It will be removed in 1.18. Use createOpenStreetMapImageryProvider
instead.Scene.fog
for options. #3154terrainExaggeration
option.ImageMaterialProperty.image
now accepts an HTMLVideoElement
. You can also assign a video element directly to an Entity material
property.Material
image uniforms now accept and HTMLVideoElement
anywhere it could previously take a Canvas
element.VideoSynchronizer
helper object for keeping an HTMLVideoElement
in sync with a scene's clock.Cartographic.fromCartesian
function.createOpenStreetMapImageryProvider
function to replace the OpenStreetMapImageryProvider
class. This function returns a constructed UrlTemplateImageryProvider
.GeoJsonDataSource.load
now takes an optional describeProperty
function for generating feature description properties. #3140ImageryProvider.readyPromise
and TerrainProvider.readyPromise
and implemented it in all terrain and imagery providers. This is a promise which resolves when ready
becomes true and rejected if there is an error during initialization. #3175Entity.parent
to undefined
to throw an exception. #3169Entity
polyline graphics to be incorrect when a scene's ellipsoid was not WGS84. #3174CompositeEntityCollection
).ImageMaterialProperty.alpha
and a alpha
uniform to Image
and Material
types to control overall image opacity. It defaults to 1.0, fully opaque.Camera.getPixelSize
function to get the size of a pixel in meters based on the current view.Camera.distanceToBoundingSphere
function.BoundingSphere.fromOrientedBoundingBox
function.getBaseUri
, which given a URI with or without query parameters, returns the base path of the URI.Queue.peek
to return the item at the front of a Queue.JulianDate.fromIso8601
so that it correctly parses the YYYY-MM-DDThh:mmTZD
format.Model.maximumScale
and ModelGraphics.maximumScale
properties, giving an upper limit for minimumPixelSize.jsonp
that prevented it from returning a promise. Its replacement, loadJsonp
, was unaffected.<subfolder>/package.json
and *.profile.js
files, not used since Cesium moved away from a Dojo-based build years ago. This will allow future compatibility with newer systems like Browserify and Webpack.Camera.viewRectangle
. It will be removed in 1.17. Use Camera.setView({destination: rectangle})
instead.Camera.setView
have been deprecated and will be removed in 1.17:position
. Use destination
instead.positionCartographic
. Convert to a Cartesian3
and use destination
instead.heading
, pitch
and roll
. Use orientation.heading/pitch/roll
instead.CESIUM_binary_glTF
extension support for glTF models. KHR_binary_glTF should be used instead. CESIUM_binary_glTF
will be removed in 1.18. Reconvert models using the online model converter.RectanglePrimitive
. It will be removed in 1.17. Use RectangleGeometry
or Entity.rectangle
instead.EllipsoidPrimitive
. It will be removed in 1.17. Use EllipsoidGeometry
or Entity.ellipsoid
instead.EllipsoidPrimitive
private, use EllipsoidGeometry
or Entity.ellipsoid
instead.BoxGeometry.minimumCorner
and BoxGeometry.maximumCorner
. These will be removed in 1.17. Use BoxGeometry.minimum
and BoxGeometry.maximum
instead.BoxOutlineGeometry.minimumCorner
and BoxOutlineGeometry.maximumCorner
. These will be removed in 1.17. Use BoxOutlineGeometry.minimum
and BoxOutlineGeometry.maximum
instead.OrthographicFrustum.getPixelSize
. It will be removed in 1.17. Use OrthographicFrustum.getPixelDimensions
instead.PerspectiveFrustum.getPixelSize
. It will be removed in 1.17. Use PerspectiveFrustum.getPixelDimensions
instead.PerspectiveOffCenterFrustum.getPixelSize
. It will be removed in 1.17. Use PerspectiveOffCenterFrustum.getPixelDimensions
instead.Scene\HeadingPitchRange
. It will be removed in 1.17. Use Core\HeadingPitchRange
instead.jsonp
. It will be removed in 1.17. Use loadJsonp
instead.BillboardCollection
and LabelCollection
by using WebGL instancing.Camera.setView
to take the same parameter options as Camera.flyTo
. options.destination
takes a rectangle, options.orientation
works with heading/pitch/roll or direction/up, and options.endTransform
was added. #3100ArcGisMapServerImageryProvider
.ImageryLayerFeatureInfo
now has an imageryLayer
property, indicating the layer that contains the feature.TileMapServiceImageryProvider
and CesiumTerrainProvider
work properly when the provided base url contains query parameters and fragments.failIfMajorPerformanceCaveat
now defaults to false
, which is the WebGL default. This improves compatibility with out-of-date drivers and remote desktop sessions. Cesium will run slower in these cases instead of simply failing to load. #3108BoxOutlineGeometry.fromAxisAlignedBoundingBox
and BoxGeometry.fromAxisAlignedBoundingBox
functions.Java
and ant
are no longer required to develop Cesium. #3106requirejs
from 2.1.9 to 2.1.20. #3107almond
from 0.2.6 to 0.3.1. #3107ScreenSpaceCameraController.minimumZoomDistance
default from 20.0
to 1.0
.Billboard.sizeInMeters
. true
sets the billboard size to be measured in meters; otherwise, the size of the billboard is measured in pixels. Also added support for billboard sizeInMeters
to entities and CZML.AssociativeArray
that would cause unbounded memory growth when adding and removing lots of items.WebGLRenderingContext
. Now constants are hard-coded in WebGLConstants
. #2989subdomains
option to the WebMapTileServiceImageryProvider
constructor.subdomains
option to the WebMapServiceImageryProvider
constructor.options.credit
parameter to MapboxImageryProvider
.setView
from working across all scene modes.camera.positionWC
to occasionally return the incorrect value.AxisAlignedBoundingBox.intersect
and BoundingSphere.intersect
. Use BoundingSphere.intersectPlane
instead.getFeatureInfoAsGeoJson
and getFeatureInfoAsXml
constructor parameters from WebMapServiceImageryProvider
.GroundPrimitive
which works much like Primitive
but drapes geometry over terrain. Valid geometries that can be draped on terrain are CircleGeometry
, CorridorGeometry
, EllipseGeometry
, PolygonGeometry
, and RectangleGeometry
. Because of the cutting edge nature of this feature in WebGL, it requires the EXT_frag_depth extension, which is currently only supported in Chrome, Firefox, and Edge. Apple support is expected in iOS 9 and MacOS Safari 9. Android support varies by hardware and IE11 will most likely never support it. You can use webglreport.com to verify support for your hardware. Finally, this feature is currently only supported in Primitives and not yet available via the Entity API. #2865Added Scene.groundPrimitives
, which is a primitive collection like Scene.primitives
, but for GroundPrimitive
instances. It allows custom z-ordering. #2960 For example:
// draws the ellipse on top of the rectangle
var ellipse = scene.groundPrimitives.add(new Cesium.GroundPrimitive({...}));
var rectangle = scene.groundPrimitives.add(new Cesium.GroundPrimitive({...}));
// move the rectangle to draw on top of the ellipse
scene.groundPrimitives.raise(rectangle);
Added reverseZ
tag to UrlTemplateImageryProvider
. #2961
Added BoundingSphere.isOccluded
and OrientedBoundingBox.isOccluded
to determine if the volumes are occluded by an Occluder
.
Added distanceSquaredTo
and computePlaneDistances
functions to OrientedBoundingBox
.
Fixed a GLSL precision issue that enables Cesium to support Mali-400MP GPUs and other mobile GPUs where GLSL shaders did not previously compile. #2984
Fixed an issue where extruded PolygonGeometry
was always extruding to the ellipsoid surface instead of specified height. #2923
Fixed an issue where non-feature nodes prevented KML documents from loading. #2945
Fixed an issue where JulianDate
would not parse certain dates properly. #405
ObjectOrientedBoundingBox
. Use OrientedBoundingBox
instead.MapboxImageryProvider
to load imagery from Mapbox.maximumHeight
option to Viewer.flyTo
. #2868UrlTemplateImageryProvider
.ArcGisMapServerImageryProvider
.ArcGisMapServerImageryProvider
for pickFeatures
requests.CTRL + Left Click Drag
mouse behavior is now duplicated for CTRL + Right Click Drag
for better compatibility with Firefox on Mac OS #2872.WallGeometry
#2872WallGeometry
bug that caused walls covering a short distance not to render. #2897PolygonGeometry
clockwise winding order bug.RectangleGeometry
bug for small heights. #2823BillboardCollection
bounding sphere for billboards with a non-center vertical origin. #2894Camera.positionCartographic
to be incorrect. #2838Scene.pickPosition
after calling Scene.drillPick
. #2813Scene.depthTestAgainstTerrain
is true
so objects behind terrain are not picked.Scene.fxaaOrderIndependentTranslucency
, which was deprecated in 1.10. Use Scene.fxaa
which is now true
by default.Camera.clone
, which was deprecated in 1.10.cesiumjs.org/stk-terrain/world
has been deprecated, use assets.agi.com/stk-terrain/world
instead. A redirect will be in place until 1.14.AxisAlignedBoundingBox.intersect
and BoundingSphere.intersect
. These will be removed in 1.13. Use AxisAlignedBoundingBox.intersectPlane
and BoundingSphere.intersectPlane
instead.ObjectOrientedBoundingBox
. It will be removed in 1.12. Use OrientedBoundingBox
instead.OrientedBoundingBox
for view frustum culling. See Terrain Culling with Oriented Bounding Boxes.UrlTemplateImageryProvider
. This new imagery provider allows access to a wide variety of imagery sources, including OpenStreetMap, TMS, WMTS, WMS, WMS-C, and various custom schemes, by specifying a URL template to use to request imagery tiles.Camera.viewRectangle
so that the specified rectangle is now better centered on the screen. #2764viewer.zoomTo
or viewer.flyTo
were called immediately before or during a scene morph. #2775Camera
functions would throw an exception if used from within a Scene.morphComplete
callback. #2776Model
can now load Binary glTF from a Uint8Array
.ImageryLayer
that could cause an exception and the render loop to stop when the base layer did not cover the entire globe.scene.debugShowFramesPerSecond === true
can now be styled using the cesium-performanceDisplay
CSS classes in shared.css
#2779.Plane.fromCartesian4
.Plane.ORIGIN_XY_PLANE
/ORIGIN_YZ_PLANE
/ORIGIN_ZX_PLANE
constants for commonly-used planes.Matrix2
/Matrix3
/Matrix4.ZERO
constants.Matrix2
/Matrix3.multiplyByScale
for multiplying against non-uniform scales.projectPointToNearestOnPlane
and projectPointsToNearestOnPlane
to EllipsoidTangentPlane
to project 3D points to the nearest 2D point on an EllipsoidTangentPlane
.EllipsoidTangentPlane.plane
property to get the Plane
for the tangent plane.EllipsoidTangentPlane.xAxis
/yAxis
/zAxis
properties to get the local coordinate system of the tangent plane.QuantizedMeshTerrainData
constructor argument orientedBoundingBox
.TerrainMesh.orientedBoundingBox
which holds the OrientedBoundingBox
for the mesh for a single terrain tile.InfoBoxViewModel.defaultSanitizer
, InfoBoxViewModel.sanitizer
, and Cesium.sanitize
, which was deprecated in 1.7.InfoBoxViewModel.descriptionRawHtml
, which was deprecated in 1.7. Use InfoBoxViewModel.description
instead.GeoJsonDataSource.fromUrl
, which was deprecated in 1.7. Use GeoJsonDataSource.load
instead. Unlike fromUrl, load can take either a url or parsed JSON object and returns a promise to a new instance, rather than a new instance.GeoJsonDataSource.prototype.loadUrl
, which was deprecated in 1.7. Instead, pass a url as the first parameter to GeoJsonDataSource.prototype.load
.CzmlDataSource.prototype.loadUrl
, which was deprecated in 1.7. Instead, pass a url as the first parameter to CzmlDataSource.prototype.load
.CzmlDataSource.prototype.processUrl
, which was deprecated in 1.7. Instead, pass a url as the first parameter to CzmlDataSource.prototype.process
.sourceUri
parameter to all CzmlDataSource
load and process functions, which was deprecated in 1.7. Instead pass an options
object with sourceUri
property.PolygonGraphics.positions
which was deprecated in 1.6. Instead, use PolygonGraphics.hierarchy
.WebMapServiceImageryProvider
constructor parameters options.getFeatureInfoAsGeoJson
and options.getFeatureInfoAsXml
were deprecated and will be removed in Cesium 1.13. Use options.getFeatureInfoFormats
instead.Camera.clone
. It will be removed in 1.11.Scene.fxaaOrderIndependentTranslucency
. It will be removed in 1.11. Use Scene.fxaa
which is now true
by default..bgltf
). Cesium will also include the models as plain glTF (.gltf
) until 1.13. Cesium support for .gltf
will not be removed.view
query parameter to the CesiumViewer app, which sets the initial camera position using longitude, latitude, height, heading, pitch and roll. For example: http://cesiumjs.org/Cesium/Build/Apps/CesiumViewer/index.html/index.html?view=-75.0,40.0,300.0,9.0,-13.0,3.0
Billboard.heightReference
and Label.heightReference
to clamp billboards and labels to terrain.Model
. See Faster 3D Models with Binary glTF.Model
.PointPrimitive
and PointPrimitiveCollection
, which are faster and use less memory than billboards with circles.Entity.point
to use the new PointPrimitive
instead of billboards. This does not change the Entity.point
API.Scene.pickPosition
to reconstruct the WGS84 position from window coordinates.Camera.moveStart
and Camera.moveEnd
events.GeocoderViewModel.complete
event. Triggered after the camera flight is completed.KmlDataSource
can now load a KML file that uses explicit XML namespacing, e.g. kml:Document
.Entity.show
now properly toggles the display of all descendant entities, previously it only affected its direct children.Entity
instances with show
set to false to reappear when new Entity
geometry is added. #2686Rotation
object which, when passed to SampledProperty
, always interpolates values towards the shortest angle. Also hooked up CZML to use Rotation
for all time-dynamic rotations.TileProviderError
now optionally takes an error
parameter with more details of the error or exception that occurred. ImageryLayer
passes that information through when tiles fail to load. This allows tile provider error handling to take a different action when a tile returns a 404 versus a 500, for example.ArcGisMapServerImageryProvider
now has a maximumLevel
constructor parameter.ArcGisMapServerImageryProvider
picking now works correctly when the layers
parameter is specified. Previously, it would pick from all layers even if only displaying a subset.WebMapServiceImageryProvider.pickFeatures
now works with WMS servers, such as Google Maps Engine, that can only return feature information in HTML format.WebMapServiceImageryProvider
now accepts an array of GetFeatureInfoFormat
instances that it will use to obtain information about the features at a given position on the globe. This enables an arbitrary info_format
to be passed to the WMS server, and an arbitrary JavaScript function to be used to interpret the response.ImageryLayer
attempting to generate mipmaps for textures that are not a power-of-two size.ImageryLayerCollection.pickImageryLayerFeatures
would return incorrect results when picking from a terrain tile that was partially covered by correct-level imagery and partially covered by imagery from an ancestor level.debug.tilesWaitingForChildren
in QuadtreePrimitive
.throttleRequestsByServer.maximumRequestsPerServer
property.createGeometry
to load individual-geometry workers using a CommonJS-style require
when run in a CommonJS-like environment.buildModuleUrl.setBaseUrl
function to allow the Cesium base URL to be set without the use of the global CESIUM_BASE_URL variable.ThirdParty/zip
to defer its call to buildModuleUrl
until it is needed, rather than executing during module loading.Scene.drillPick
.ellipsoid
parameter to construction options of imagery and terrain providers that were lacking it. Note that terrain bounding spheres are precomputed on the server, so any supplied terrain ellipsoid must match the one used by the server.Scene
to show the depth buffer information for a specified view frustum slice and exposed capability in CesiumInspector
widget.ColorMaterialProperty.fromColor
, previously deprecated in 1.6. Pass a Color
directly to the ColorMaterialProperty
constructor instead.CompositeEntityCollection.entities
and EntityCollection.entities
, both previously deprecated in 1.6. Use CompositeEntityCollection.values
and EntityCollection.values
instead.DataSourceDisplay.getScene
and DataSourceDisplay.getDataSources
, both previously deprecated in 1.6. Use DataSourceDisplay.scene
and DataSourceDisplay.dataSources
instead.Entity
no longer takes a string id as its constructor argument. Pass an options object with id
property instead. This was previously deprecated in 1.6.Model.readyToRender
, previously deprecated in 1.6. Use Model.readyPromise
instead.material
properties and Material
uniform values can now take a canvas
element in addition to an image or url. #2667Entity.viewFrom
to be ignored when flying to, zooming to, or tracking an Entity. #2628Corridor
and PolylineVolume
geometry to be incorrect for sharp corners #2626Geocoder
styling issue in Safari. #2658.Viewer
or CesiumWidget
was resized to 0 while the camera was in motion. #2662InfoBox
title from updating if the name of viewer.selectedEntity
changed. #2644result
parameter to computeScreenSpacePosition
on both Billboard
and Label
.CesiumInspector
debugging widget.Primitive.modelMatrix
is not the identity matrix when in in 2D or Columbus View.eye
, target
, and up
parameters to Camera.lookAt
which were deprecated in Cesium 1.6. Use the target
and offset
.Camera.setTransform
, which was deprecated in Cesium 1.6. Use Camera.lookAtTransform
.Camera.transform
, which was deprecated in Cesium 1.6. Use Camera.lookAtTransform
.direction
and up
options to Camera.flyTo
, which were deprecated in Cesium 1.6. Use the orientation
option.Camera.flyToRectangle
, which was deprecated in Cesium 1.6. Use Camera.flyTo
.smallterrain
tileset. It will be removed in 1.11. Use the STK World Terrain tileset.Entity.show
, a boolean for hiding or showing an entity and its children.Entity.isShowing
, a read-only property that indicates if an entity is currently being drawn.visibility
element.PolylineArrowMaterialProperty
to allow entities materials to use polyline arrows.VelocityOrientationProperty
to easily orient Entity graphics (such as a model) along the direction it is moving.VelocityOrientationProperty
to orient an aircraft in flight.viewer.zoomTo
and viewer.flyTo
so they are now "best effort" and work even if some entities being zoomed to are not currently in the scene.PointerEvent
detection so that it works with older implementations of the specification. This also fixes lack of mouse handling when detection failed, such as when using Cesium in the Windows WebBrowser
control.GeoJSON
data.ArcGisMapServerImagerProvider
.ArcGisMapServerImagerProvider
constructor.layers
parameter to the ArcGisMapServerImagerProvider
constructor.ArcGisMapServerImageProvider
with a "singleFusedMapCache" in the geographic projection (EPSG:4326).CesiumWidget
and Viewer
, for skyBox
, skyAtmosphere
, and globe
.InfoBox
that would occur when attempting to display plain text.ExtendedData
node.in Color.fromCssColorString
where undefined would be returned for the CSS color transparent
.Color.TRANSPARENT
.TimeStamp
nodes.errorEvent
and rejecting their load promise.viewerEntityMixin
, which was deprecated in Cesium 1.5. Its functionality is now directly part of the Viewer
widget.Camera.tilt
, which was deprecated in Cesium 1.6. Use Camera.pitch
.Camera.heading
and Camera.tilt
. They were deprecated in Cesium 1.6. Use Camera.setView
.Camera.setPositionCartographic
, which was was deprecated in Cesium 1.6. Use Camera.setView
.InfoBoxViewModel.defaultSanitizer
, InfoBoxViewModel.sanitizer
, and Cesium.sanitize
. They will be removed in 1.10.InfoBoxViewModel.descriptionRawHtml
, it will be removed in 1.10. Use InfoBoxViewModel.description
instead.GeoJsonDataSource.fromUrl
, it will be removed in 1.10. Use GeoJsonDataSource.load
instead. Unlike fromUrl, load can take either a url or parsed JSON object and returns a promise to a new instance, rather than a new instance.GeoJsonDataSource.prototype.loadUrl
, it will be removed in 1.10. Instead, pass a url as the first parameter to GeoJsonDataSource.prototype.load
.CzmlDataSource.prototype.loadUrl
, it will be removed in 1.10. Instead, pass a url as the first parameter to CzmlDataSource.prototype.load
.CzmlDataSource.prototype.processUrl
, it will be removed in 1.10. Instead, pass a url as the first parameter to CzmlDataSource.prototype.process
.sourceUri
parameter to all CzmlDataSource
load and process functions. Support will be removed in 1.10. Instead pass an options
object with sourceUri
property.KmlDataSource
. Check out the new Sandcastle Demo and the reference documentation for more details.InfoBox
sanitization now relies on iframe sandboxing. This allows for much more content to be displayed in the InfoBox (and still be secure).InfoBox.frame
which is the instance of the iframe that is used to host description content. Sanitization can be controlled via the frame's sandbox
attribute. See the above link for additional information.ElipseOutlineGeometry
and CircleOutlineGeometry
to be extruded to the ground when they should have instead been drawn at height. #2499.PolylineGeometry
and SimplePolylineGeometry
when used asynchronously. #2516Entity
objects were modified in quick succession. #2514.camera.flyToBoundingSphere
would ignore range if the bounding sphere radius was 0. #2519InfoBox
and BaseLayerPicker
caused by using Bootstrap with Cesium. #2487pack
and unpack
functions to Matrix2
and Matrix3
.ScreenSpaceCameraController.enableCollisionDetection
to enable/disable camera collision detection with terrain.CzmlDataSource.load
and GeoJsonDataSource.load
to make it easy to create and load data in a single line.Promise
to a DataSource
to DataSourceCollection.add
. The DataSource
will not actually be added until the promise resolves.Promise
to a target to viewer.zoomTo
and viewer.flyTo
.CzmlDataSource
and GeoJsonDataSource
loading functions now return Promise
instances that resolve to the instances after data is loaded.CzmlDataSource
and GeoJsonDataSource
loading functions is now more consistent. Rather than a mix of exceptions and Promise
rejections, all errors are raised via Promise
rejections.Geocoder
widget now allows input of longitude, latitude, and an optional height in degrees and meters. Example: -75.596, 40.038, 1000
or -75.596 40.038
.Rectangle.intersectWith
was deprecated in Cesium 1.5. Use Rectangle.intersection
, which is the same but returns undefined
when two rectangles do not intersect.Rectangle.isEmpty
was deprecated in Cesium 1.5.sourceUri
parameter to GeoJsonDatasource.load
was deprecated in Cesium 1.4 and has been removed. Use options.sourceUri instead.PolygonGraphics.positions
created by GeoJSONDataSource
now evaluate to a PolygonHierarchy
object instead of an array of positions.Camera.tilt
was deprecated in Cesium 1.6. It will be removed in Cesium 1.7. Use Camera.pitch
.Camera.heading
and Camera.tilt
were deprecated in Cesium 1.6. They will become read-only in Cesium 1.7. Use Camera.setView
.Camera.setPositionCartographic
was deprecated in Cesium 1.6. It will be removed in Cesium 1.7. Use Camera.setView
.direction
and up
options to Camera.flyTo
have been deprecated in Cesium 1.6. They will be removed in Cesium 1.8. Use the orientation
option.Camera.flyToRectangle
has been deprecated in Cesium 1.6. They will be removed in Cesium 1.8. Use Camera.flyTo
.Camera.setTransform
was deprecated in Cesium 1.6. It will be removed in Cesium 1.8. Use Camera.lookAtTransform
.Camera.transform
was deprecated in Cesium 1.6. It will be removed in Cesium 1.8. Use Camera.lookAtTransform
.eye
, target
, and up
parameters to Camera.lookAt
were deprecated in Cesium 1.6. It will be removed in Cesium 1.8. Use the target
and offset
.PolygonGraphics.positions
was deprecated and replaced with PolygonGraphics.hierarchy
, whose value is a PolygonHierarchy
instead of an array of positions. PolygonGraphics.positions
will be removed in Cesium 1.8.Model.readyToRender
event was deprecated and will be removed in Cesium 1.9. Use the new Model.readyPromise
instead.ColorMaterialProperty.fromColor(color)
has been deprecated and will be removed in Cesium 1.9. The constructor can now take a Color directly, for example new ColorMaterialProperty(color)
.DataSourceDisplay
methods getScene
and getDataSources
have been deprecated and replaced with scene
and dataSources
properties. They will be removed in Cesium 1.9.Entity
constructor taking a single string value for the id has been deprecated. The constructor now takes an options object which allows you to provide any and all Entity
related properties at construction time. Support for the deprecated behavior will be removed in Cesium 1.9.EntityCollection.entities
and CompositeEntityCollect.entities
properties have both been renamed to values
. Support for the deprecated behavior will be removed in Cesium 1.9.GeoJsonDataSource
now supports polygons with holes.Primitive
will succeed, but not render. #2375viewer.entities
which allows you to easily create and manage Entity
instances without a corresponding DataSource
. This is just a shortcut to viewer.dataSourceDisplay.defaultDataSource.entities
viewer.zoomTo
and viewer.flyTo
which takes an entity, array of entities, EntityCollection
, or DataSource
as a parameter and zooms or flies to the corresponding visualization.viewer.trackedEntity
to undefined
will now restore the camera controls to their default states.InfoBox
, you can now stop tracking by clicking the button a second time.Quaternion.fromHeadingPitchRoll
to create a rotation from heading, pitch, and roll angles.Transforms.headingPitchRollToFixedFrame
to create a local frame from a position and heading/pitch/roll angles.Transforms.headingPitchRollQuaternion
which is the quaternion rotation from Transforms.headingPitchRollToFixedFrame
.Color.fromAlpha
and Color.withAlpha
to make it easy to create translucent colors from constants, i.e. var translucentRed = Color.RED.withAlpha(0.95)
.PolylineVolumeGraphics
and Entity.polylineVolume
Camera.lookAtTransform
which sets the camera position and orientation given a transformation matrix defining a reference frame and either a cartesian offset or heading/pitch/range from the center of that frame.Camera.setView
(which use heading, pitch, and roll) and Camera.roll
.Camera.flyTo
that can be either direction and up unit vectors or heading, pitch and roll angles.BillboardGraphics.imageSubRegion
, to enable custom texture atlas use for Entity
instances.CheckerboardMaterialProperty
to enable use of the checkerboard material with the entity API.PolygonHierarchy
to make defining polygons with holes clearer.PolygonGraphics.hierarchy
for supporting polygons with holes via data sources.BoundingSphere.fromBoundingSpheres
, which creates a BoundingSphere
that encloses the specified array of BoundingSpheres.Model.readyPromise
and Primitive.readyPromise
which are promises that resolve when the primitives are ready.ConstantProperty
can now hold any value; previously it was limited to values that implemented equals
and clones
functions, as well as a few special cases.EllipsoidGeodesic
that caused it to modify the height
of the positions passed to the constructor or to to setEndPoints
.WebMapTileServiceImageryProvider
now supports RESTful requests (by accepting a tile-URL template).Camera.roll
to be around 180 degrees, indicating the camera was upside-down, when in the Southern hemisphere.Primitive.getGeometryInstanceAttributes
now contains the instance's bounding sphere and repeated calls will always now return the same object instance.SelectionIndicator
widget now works for all entity visualization and uses the center of visualization instead of entity.position. This produces more accurate results, especially for shapes, volumes, and models.CustomDataSource
which makes it easy to create and manage a group of entities without having to manually implement the DataSource interface in a new class.DataSourceDisplay.defaultDataSource
which is an instance of CustomDataSource
and allows you to easily add custom entities to the display.Camera.viewBoundingSphere
and Camera.flyToBoundingSphere
, which as the names imply, sets or flies to a view that encloses the provided BoundingSphere
Property
values, there is no longer a need to create an instance of ConstantProperty
or ConstantPositionProperty
, you can now assign a value directly to the corresponding property. The same is true for material images and colors.GeometryPipeline.wrapLongitude
, which was deprecated in 1.4. Use GeometryPipeline.splitLongitude
instead.GeometryPipeline.combine
, which was deprecated in 1.4. Use GeometryPipeline.combineInstances
instead.viewerEntityMixin
was deprecated. It will be removed in Cesium 1.6. Its functionality is now directly part of the Viewer
widget.Rectangle.intersectWith
was deprecated. It will be removed in Cesium 1.6. Use Rectangle.intersection
, which is the same but returns undefined
when two rectangles do not intersect.Rectangle.isEmpty
was deprecated. It will be removed in Cesium 1.6.Model
to save memory and improve loading speed when several models with the same url are created.ModelNode.show
for per-node show/hide.Viewer
and CesiumWidget
: imageryLayers
, terrainProvider
, and camera
. This avoids the need to access viewer.scene
in some cases.BoxGraphics
and Entity.box
.CorridorGraphics
and Entity.corridor
.CylinderGraphics
and Entity.cylinder
.Rectangle.computeWidth
, Rectangle.computeHeight
, Rectangle.width
, and Rectangle.height
. #2195ConstantProperty
now accepts HTMLElement
instances as valid values.BillboardGraphics.image
and ImageMaterialProperty.image
now accept Property
instances that represent an Image
or Canvas
in addition to a url.PolylineGeometry
that would cause gaps in the line. #2136upsampleQuantizedTerrainMesh
rounding errors that had occasionally led to missing terrain skirt geometry in upsampled tiles.Math.mod
which computes m % n
but also works when m
is negative.TerrainProvider
are now required to implement the getTileDataAvailable
function. Backwards compatibility for this was deprecated in Cesium 1.2.sourceUri
parameter to GeoJsonDatasource.load
was deprecated and will be removed in Cesium 1.6 on February 3, 2015 (#2257). Use options.sourceUri
instead.GeometryPipeline.wrapLongitude
was deprecated. It will be removed in Cesium 1.5 on January 2, 2015. Use GeometryPipeline.splitLongitude
. (#2272)GeometryPipeline.combine
was deprecated. It will be removed in Cesium 1.5. Use GeometryPipeline.combineInstances
.DataSource
layer. This is exposed via the new outlineWidth
property on EllipseGraphics
, EllipsoidGraphics
, PolygonGraphics
, RectangleGraphics
, and WallGraphics
.outlineWidth
support to CZML geometry packets.stroke-width
support to the GeoJSON simple-style implementation.CallbackProperty
to support lazy property evaluation as well as make custom properties easier to create.GeoJsonDataSource.load
, GeoJsonDataSource.loadUrl
, and GeoJsonDataSource.fromUrl
to allow for basic per-instance styling. Sandcastle example.EllipseGeometry
, EllipseOutlineGeometry
, CircleGeometry
, and CircleOutlineGeometry
.tileMatrixLabels
option to WebMapTileServiceImageryProvider
.PolylineGeometry
that would cause the geometry to be split across the IDL for 3D only scenes. #1197modelMatrix
and cull
options to Primitive
constructor.translation
parameter to Matrix4.fromRotationTranslation
now defaults to Cartesian3.ZERO
.ModelNode.matrix
when a node is targeted for animation.Camera.tilt
now clamps to [-pi / 2, pi / 2] instead of [0, pi / 2].distanceSquared
to Cartesian2
, Cartesian3
, and Cartesian4
.Matrix4.multiplyByMatrix3
.Model
where the WebGL shader optimizer in Linux was causing mesh loading to fail.CesiumTerrainProvider
for terrain tiles with more than 64K vertices, which is common for sub-meter terrain.Primitive.compressVertices
. When true (default), geometry vertices are compressed to save GPU memory.culture
option to BingMapsImageryProvider
constructor.rectangle
to be stretched to the edges of imagery tiles. #416Globe.pick
that caused it to return incorrect results when using terrain data with vertex normals. The bug manifested itself as strange behavior when navigating around the surface with the mouse as well as incorrect results when using Camera.viewRectangle
.sampleTerrain
that could cause it to produce undefined heights when sampling for a position very near the edge of a tile.ReferenceProperty
instances now retain their last value if the entity being referenced is removed from the target collection. The reference will be automatically reattached if the target is reintroduced.TerrainProvider
interface should now include the new getTileDataAvailable
function. The function will be required starting in Cesium 1.4.Model
where the wrong animations could be used when the model was created from glTF JSON instead of a url to a glTF file. #2078GeoJsonDataSource
which was causing polygons with height values to be drawn onto the surface.GeoJsonDataSource.fromUrl
to make it easy to add a data source in less code.PinBuilder
class for easy creation of map pins. (Sandcastle example)Color.brighten
and Color.darken
to make it easy to brighten or darker a color instance.Scene
, CesiumWidget
, and Viewer
to disable order independent translucency.ArcGisMapServerImageryProvider
.TerrainProvider.getTileDataAvailable
to improve tile loading performance when camera starts near globe.Globe.showWaterEffect
to enable/disable the water effect for supported terrain providers.Globe.baseColor
to set the color of the globe when no imagery is available.GeoJSON
Point feature graphics to use BillboardGraphics
with a blue map pin instead of color PointGraphics
.PinBuilder
and GeoJSON simplestyle support.WebMapTileServiceImageryProvider
, for accessing tiles on a WMTS 1.0.0 server.pickFeatures
function to the ImageryProvider
interface. With supporting imagery providers, such as WebMapServiceImageryProvider
, it can be used to determine the rasterized features under a particular location.ImageryLayerCollection.pickImageryLayerFeatures
. It determines the rasterized imagery layer features intersected by a given pick ray by querying supporting layers using ImageryProvider.pickFeatures
.tileWidth
, tileHeight
, minimumLevel
, and tilingScheme
parameters to the WebMapServiceImageryProvider
constructor.id
property to Scene
which is a readonly unique identifier associated with each instance.FeatureDetection.supportsWebWorkers
.viewerEntityMixin
now automatically queries for imagery layer features on click and shows their properties in the InfoBox
panel.SceneTransforms.wgs84ToWindowCoordinates
to incorrectly return undefined
when in 2D.ImageryLayer
that caused layer images to be rendered twice for each terrain tile that existed prior to adding the imagery layer.Camera.pickEllipsoid
that caused it to return the back side of the ellipsoid when near the surface.loadWithXhr
from working with older browsers, such as Internet Explorer 9.Breaking changes (why so many?)
Matrix2
, Matrix3
, Matrix4
and Quaternion
functions that take a result
parameter now require the parameter, except functions starting with from
.Removed Billboard.imageIndex
and BillboardCollection.textureAtlas
. Instead, use Billboard.image
.
Code that looked like:
var billboards = new Cesium.BillboardCollection();
var textureAtlas = new Cesium.TextureAtlas({
scene : scene,
images : images // array of loaded images
});
billboards.textureAtlas = textureAtlas;
billboards.add({
imageIndex : 0,
position : //...
});
should now look like:
var billboards = new Cesium.BillboardCollection();
billboards.add({
image : '../images/Cesium_Logo_overlay.png',
position : //...
});
Updated the Model Converter and Model
to support glTF 0.8. See the forum post for full details.
Model
primitives are now rotated to be Z
-up to match Cesium convention; glTF stores models with Y
up.
SimplePolylineGeometry
and PolylineGeometry
now curve to follow the ellipsoid surface by default. To disable this behavior, set the option followSurface
to false
.
Renamed DynamicScene
layer to DataSources
. The following types were also renamed:
DynamicBillboard
-> BillboardGraphics
DynamicBillboardVisualizer
-> BillboardVisualizer
CompositeDynamicObjectCollection
-> CompositeEntityCollection
DynamicClock
-> DataSourceClock
DynamicEllipse
-> EllipseGraphics
DynamicEllipsoid
-> EllipsoidGraphics
DynamicObject
-> Entity
DynamicObjectCollection
-> EntityCollection
DynamicObjectView
-> EntityView
DynamicLabel
-> LabelGraphics
DynamicLabelVisualizer
-> LabelVisualizer
DynamicModel
-> ModelGraphics
DynamicModelVisualizer
-> ModelVisualizer
DynamicPath
-> PathGraphics
DynamicPathVisualizer
-> PathVisualizer
DynamicPoint
-> PointGraphics
DynamicPointVisualizer
-> PointVisualizer
DynamicPolygon
-> PolygonGraphics
DynamicPolyline
-> PolylineGraphics
DynamicRectangle
-> RectangleGraphics
DynamicWall
-> WallGraphics
viewerDynamicObjectMixin
-> viewerEntityMixin
Removed DynamicVector
and DynamicVectorVisualizer
.
Renamed DataSource.dynamicObjects
to DataSource.entities
.
EntityCollection.getObjects()
and CompositeEntityCollection.getObjects()
are now properties named EntityCollection.entities
and CompositeEntityCollection.entities
.
Renamed Viewer.trackedObject
and Viewer.selectedObject
to Viewer.trackedEntity
and Viewer.selectedEntity
when using the viewerEntityMixin
.
Renamed functions for consistency:
BoundingSphere.getPlaneDistances
-> BoundingSphere.computePlaneDistances
Cartesian[2,3,4].getMaximumComponent
-> Cartesian[2,3,4].maximumComponent
Cartesian[2,3,4].getMinimumComponent
-> Cartesian[2,3,4].minimumComponent
Cartesian[2,3,4].getMaximumByComponent
-> Cartesian[2,3,4].maximumByComponent
Cartesian[2,3,4].getMinimumByComponent
-> Cartesian[2,3,4].minimumByComponent
CubicRealPolynomial.realRoots
-> CubicRealPolynomial.computeRealRoots
CubicRealPolynomial.discriminant
-> CubicRealPolynomial.computeDiscriminant
JulianDate.getTotalDays
-> JulianDate.totalDyas
JulianDate.getSecondsDifference
-> JulianDate.secondsDifference
JulianDate.getDaysDifference
-> JulianDate.daysDifference
JulianDate.getTaiMinusUtc
-> JulianDate.computeTaiMinusUtc
Matrix3.getEigenDecompostion
-> Matrix3.computeEigenDecomposition
Occluder.getVisibility
-> Occluder.computeVisibility
Occluder.getOccludeePoint
-> Occluder.computerOccludeePoint
QuadraticRealPolynomial.discriminant
-> QuadraticRealPolynomial.computeDiscriminant
QuadraticRealPolynomial.realRoots
-> QuadraticRealPolynomial.computeRealRoots
QuarticRealPolynomial.discriminant
-> QuarticRealPolynomial.computeDiscriminant
QuarticRealPolynomial.realRoots
-> QuarticRealPolynomial.computeRealRoots
Quaternion.getAxis
-> Quaternion.computeAxis
Quaternion.getAngle
-> Quaternion.computeAngle
Quaternion.innerQuadrangle
-> Quaternion.computeInnerQuadrangle
Rectangle.getSouthwest
-> Rectangle.southwest
Rectangle.getNorthwest
-> Rectangle.northwest
Rectangle.getSoutheast
-> Rectangle.southeast
Rectangle.getNortheast
-> Rectangle.northeast
Rectangle.getCenter
-> Rectangle.center
CullingVolume.getVisibility
-> CullingVolume.computeVisibility
Replaced PerspectiveFrustum.fovy
with PerspectiveFrustum.fov
which will change the field of view angle in either the X
or Y
direction depending on the aspect ratio.
Removed the following from the Cesium API: Transforms.earthOrientationParameters
, EarthOrientationParameters
, EarthOrientationParametersSample
, Transforms.iau2006XysData
, Iau2006XysData
, Iau2006XysSample
, IauOrientationAxes
, TimeConstants
, Scene.frameState
, FrameState
, EncodedCartesian3
, EllipsoidalOccluder
, TextureAtlas
, and FAR
. These are still available but are not part of the official API and may change in future versions.
Removed DynamicObject.vertexPositions
. Use DynamicWall.positions
, DynamicPolygon.positions
, and DynamicPolyline.positions
instead.
Removed defaultPoint
, defaultLine
, and defaultPolygon
from GeoJsonDataSource
.
Removed Primitive.allow3DOnly
. Set the Scene
constructor option scene3DOnly
instead.
SampledProperty
and SampledPositionProperty
no longer extrapolate outside of their sample data time range by default.
Changed the following functions to properties:
TerrainProvider.hasWaterMask
CesiumTerrainProvider.hasWaterMask
ArcGisImageServerTerrainProvider.hasWaterMask
EllipsoidTerrainProvider.hasWaterMask
VRTheWorldTerrainProvider.hasWaterMask
Removed ScreenSpaceCameraController.ellipsoid
. The behavior that depended on the ellipsoid is now determined based on the scene state.
Sandcastle examples now automatically wrap the example code in RequireJS boilerplate. To upgrade any custom examples, copy the code into an existing example (such as Hello World) and save a new file.
Removed CustomSensorVolume
, RectangularPyramidSensorVolume
, DynamicCone
, DynamicConeVisualizerUsingCustomSensor
, DynamicPyramid
and DynamicPyramidVisualizer
. This will be moved to a plugin in early August. #1887
If Primitive.modelMatrix
is changed after creation, it only affects primitives with one instance and only in 3D mode.
ImageryLayer
properties alpha
, brightness
, contrast
, hue
, saturation
, and gamma
may no longer be functions. If you need to change these values each frame, consider moving your logic to an event handler for Scene.preRender
.
Removed closeTop
and closeBottom
options from RectangleGeometry
.
CZML changes:
CZML is now versioned using the . scheme. For example, any CZML 1.0 implementation will be able to load any 1. document (with graceful degradation). Major version number increases will be reserved for breaking changes. We fully expect these major version increases to happen, as CZML is still in development, but we wanted to give developers a stable target to work with.
A "1.0"
version string is required to be on the document packet, which is required to be the first packet in a CZML file. Previously the document
packet was optional; it is now mandatory. The simplest document packet is:
{
"id":"document",
"version":"1.0"
}
The vertexPositions
property has been removed. There is now a positions
property directly on objects that use it, currently polyline
, polygon
, and wall
.
cone
, pyramid
, and vector
have been removed from the core CZML schema. They are now treated as extensions maintained by Analytical Graphics and have been renamed to agi_conicSensor
, agi_customPatternSensor
, and agi_vector
respectively.
The orientation
property has been changed to match Cesium convention. To update existing CZML documents, conjugate the quaternion values.
pixelOffset
now uses the top-left of the screen as the origin; previously it was the bottom-left. To update existing documents, negate the y
value.
Removed color
, outlineColor
, and outlineWidth
properties from polyline
and path
. There is a new material
property that allows you to specify a variety of materials, such as solidColor
, polylineOutline
and polylineGlow
.
See the CZML Schema for more details. We plan on greatly improving this document in the coming weeks.
Added camera collision detection with terrain to the default mouse interaction.
Modified the default camera tilt mouse behavior to tilt about the point clicked, taking into account terrain.
Modified the default camera mouse behavior to look about the camera's position when the sky is clicked.
Cesium can now render an unlimited number of imagery layers, no matter how few texture units are supported by the hardware.
Added support for rendering terrain lighting with oct-encoded per-vertex normals. Added CesiumTerrainProvider.requestVertexNormals
to request per vertex normals. Added hasVertexNormals
property to all terrain providers to indicate whether or not vertex normals are included in the requested terrain tiles.
Added Globe.getHeight
and Globe.pick
for finding the terrain height at a given Cartographic coordinate and picking the terrain with a ray.
Added scene3DOnly
options to Viewer
, CesiumWidget
, and Scene
constructors. This setting optimizes memory usage and performance for 3D mode at the cost of losing the ability to use 2D or Columbus View.
Added forwardExtrapolationType
, forwardExtrapolationDuration
, backwardExtrapolationType
, and backwardExtrapolationDuration
to SampledProperty
and SampledPositionProperty
which allows the user to specify how a property calculates its value when outside the range of its sample data.
Prevent primitives from flashing off and on when modifying static DataSources.
Added the following methods to IntersectionTests
: rayTriangle
, lineSegmentTriangle
, raySphere
, and lineSegmentSphere
.
Matrix types now have add
and subtract
functions.
Matrix3
type now has a fromCrossProduct
function.
Added CesiumMath.signNotZero
, CesiumMath.toSNorm
and CesiumMath.fromSNorm
functions.
DataSource & CZML models now default to North-East-Down orientation if none is provided.
TileMapServiceImageryProvider
now works with tilesets created by tools that better conform to the TMS specification. In particular, a profile of global-geodetic
or global-mercator
is now supported (in addition to the previous geodetic
and mercator
) and in these profiles it is assumed that the X coordinates of the bounding box correspond to the longitude direction.
EntityCollection
and CompositeEntityCollection
now include the array of modified entities as the last parameter to their onCollectionChanged
event.
RectangleGeometry
, RectangleOutlineGeometry
and RectanglePrimitive
can cross the international date line.
Breaking changes (why so many?)
#
symbol to separate identifier from property path. objectId.position
should now be objectId#position
.Cartesian2
, Cartesian3
, Cartesian4
, TimeInterval
, and JulianDate
functions that take a result
parameter now require the parameter (except for functions starting with from
).Transforms.pointToWindowCoordinates
and SceneTransforms.wgs84ToWindowCoordinates
to return window coordinates with origin at the top left corner.Billboard.pixelOffset
and Label.pixelOffset
now have their origin at the top left corner.Replaced CameraFlightPath.createAnimation
with Camera.flyTo
and replaced CameraFlightPath.createAnimationRectangle
with Camera.flyToRectangle
. Code that looked like:
scene.animations.add(Cesium.CameraFlightPath.createAnimation(scene, {
destination : Cesium.Cartesian3.fromDegrees(-117.16, 32.71, 15000.0)
}));
should now look like:
scene.camera.flyTo({
destination : Cesium.Cartesian3.fromDegrees(-117.16, 32.71, 15000.0)
});
Camera.flyTo
and Camera.flyToRectangle
:options.duration
is now in seconds, not milliseconds.options.endReferenceFrame
to options.endTransform
.options.onComplete
to options.complete
.options.onCancel
to options.cancel
.Scene.morphToColumbusView
, Scene.morphTo2D
, and Scene.morphTo3D
parameter duration
.HomeButton
constructor parameter options.duration
, HomeButtonViewModel
constructor parameter duration
, and HomeButtonViewModel.duration
.SceneModePicker
constructor parameter duration
, SceneModePickerViewModel
constructor parameter duration
, and SceneModePickerViewModel.duration
.Geocoder
and GeocoderViewModel
constructor parameter options.flightDuration
and GeocoderViewModel.flightDuration
.ScreenSpaceCameraController.bounceAnimationTime
.FrameRateMonitor
constructor parameter options.samplingWindow
, options.quietPeriod
, and options.warmupPeriod
.JulianDate
to be in line with other Core types.JulianDate.now()
instead.JulianDate.getJulianTimeFraction
and JulianDate.compareTo
new JulianDate()
-> JulianDate.now()
date.getJulianDayNumber()
-> date.dayNumber
date.getSecondsOfDay()
-> secondsOfDay
date.getTotalDays()
-> JulianDate.getTotalDays(date)
date.getSecondsDifference(arg1, arg2)
-> JulianDate.getSecondsDifference(arg2, arg1)
(Note, order of arguments flipped)date.getDaysDifference(arg1, arg2)
-> JulianDate.getDaysDifference(arg2, arg1)
(Note, order of arguments flipped)date.getTaiMinusUtc()
-> JulianDate.getTaiMinusUtc(date)
date.addSeconds(seconds)
-> JulianDate.addSeconds(date, seconds)
date.addMinutes(minutes)
-> JulianDate.addMinutes(date, minutes)
date.addHours(hours)
-> JulianDate.addHours(date, hours)
date.addDays(days)
-> JulianDate.addDays(date, days)
date.lessThan(right)
-> JulianDate.lessThan(left, right)
date.lessThanOrEquals(right)
-> JulianDate.lessThanOrEquals(left, right)
date.greaterThan(right)
-> JulianDate.greaterThan(left, right)
date.greaterThanOrEquals(right)
-> JulianDate.greaterThanOrEquals(left, right)
Refactored TimeInterval
to be in line with other Core types.
The constructor no longer requires parameters and now takes a single options parameter. Code that looked like:
new TimeInterval(startTime, stopTime, true, true, data);
should now look like:
new TimeInterval({
start : startTime,
stop : stopTime,
isStartIncluded : true,
isStopIncluded : true,
data : data
});
TimeInterval.fromIso8601
now takes a single options parameter. Code that looked like:
TimeInterval.fromIso8601(intervalString, true, true, data);
should now look like:
TimeInterval.fromIso8601({
iso8601 : intervalString,
isStartIncluded : true,
isStopIncluded : true,
data : data
});
interval.intersect(otherInterval)
-> TimeInterval.intersect(interval, otherInterval)
interval.contains(date)
-> TimeInterval.contains(interval, date)
Removed TimeIntervalCollection.intersectInterval
.
TimeIntervalCollection.findInterval
now takes a single options parameter instead of individual parameters. Code that looked like:
intervalCollection.findInterval(startTime, stopTime, false, true);
should now look like:
intervalCollection.findInterval({
start : startTime,
stop : stopTime,
isStartIncluded : false,
isStopIncluded : true
});
TimeIntervalCollection.empty
was renamed to TimeIntervalCollection.isEmpty
Scene.animations
and AnimationCollection
from the public Cesium API.color
, outlineColor
, and outlineWidth
in DynamicPath
with a material
property.ModelAnimationCollection.add
and ModelAnimationCollection.addAll
renamed options.startOffset
to options.delay
. Also renamed ModelAnimation.startOffset
to ModelAnimation.delay
.Scene.scene2D.projection
property with read-only Scene.mapProjection
. Set this with the mapProjection
option for the Viewer
, CesiumWidget
, or Scene
constructors.Simon1994PlanetaryPositions
functions ComputeSunPositionInEarthInertialFrame
and ComputeMoonPositionInEarthInertialFrame
to computeSunPositionInEarthInertialFrame
and computeMoonPositionInEarthInertialFrame
, respectively.Scene
constructor function now takes an options
parameter instead of individual parameters.CesiumWidget.showErrorPanel
now takes a message
parameter in between the previous title
and error
parameters.Camera.createCorrectPositionAnimation
.LeapSecond.leapSeconds
to JulianDate.leapSeconds
.Event.removeEventListener
no longer throws DeveloperError
if the listener
does not exist; it now returns false
.SceneMode
have better correspondence with mode names to help with debugging.Cesium now supports Internet Explorer 11.0.9 on desktops. For the best results, use the new IE Developer Channel for development.
ReferenceProperty
can now handle sub-properties, for example, myObject#billboard.scale
.
DynamicObject.id
can now include period characters.
Added PolylineGlowMaterialProperty
which enables data sources to use the PolylineGlow material.
Fixed support for embedded resources in glTF models.
Added HermitePolynomialApproximation.interpolate
for performing interpolation when derivative information is available.
SampledProperty
and SampledPositionProperty
can now store derivative information for each sample value. This allows for more accurate interpolation when using HermitePolynomialApproximation
.
Added FrameRateMonitor
to monitor the frame rate achieved by a Scene
and to raise a lowFrameRate
event when it falls below a configurable threshold.
Added PerformanceWatchdog
widget and viewerPerformanceWatchdogMixin
.
Viewer
and CesiumWidget
now provide more user-friendly error messages when an initialization or rendering error occurs.
Viewer
and CesiumWidget
now take a new optional parameter, creditContainer
.
Viewer
can now optionally be constructed with a DataSourceCollection
. Previously, it always created one itself internally.
Fixed a problem that could rarely lead to the camera's tilt
property being NaN
.
GeoJsonDataSource
no longer uses the name
or title
property of the feature as the dynamic object's name if the value of the property is null.
Added TimeIntervalCollection.isStartIncluded
and TimeIntervalCollection.isStopIncluded
.
Added Cesium.VERSION
to the combined Cesium.js
file.
Made general improvements to the reference documentation.
Updated third-party Tween.js from r7 to r13.
Updated third-party JSDoc 3.3.0-alpha5 to 3.3.0-alpha9.
The development web server has been rewritten in Node.js, and is now included as part of each release.
Breaking changes (why so many?)
Scene.createTextureAtlas
with new TextureAtlas
.Removed CameraFlightPath.createAnimationCartographic
. Code that looked like:
var flight = CameraFlightPath.createAnimationCartographic(scene, {
destination : cartographic
}); scene.animations.add(flight);
should now look like:
var flight = CameraFlightPath.createAnimation(scene, {
destination : ellipsoid.cartographicToCartesian(cartographic)
});
scene.animations.add(flight);
CesiumWidget.onRenderLoopError
and Viewer.renderLoopError
. They have been replaced by Scene.renderError
.CompositePrimitive
to PrimitiveCollection
and added an options
parameter to the constructor function.Shapes.compute2DCircle
, Shapes.computeCircleBoundary
and Shapes.computeEllipseBoundary
. Instead, use CircleOutlineGeometry
and EllipseOutlineGeometry
. See the tutorial.PolylinePipeline
, PolygonPipeline
, Tipsify
, FrustumCommands
, and all Renderer
types (except noted below) from the public Cesium API. These are still available but are not part of the official API and may change in future versions. Renderer
types in particular are likely to change.PixelFormat
from Renderer
to Core
.Renderer
to Scene
: TextureAtlas
, TextureAtlasBuilder
, BlendEquation
, BlendFunction
, BlendingState
, CullFace
, DepthFunction
, StencilFunction
, and StencilOperation
.Scene
to Core
: TerrainProvider
, ArcGisImageServerTerrainProvider
, CesiumTerrainProvider
, EllipsoidTerrainProvider
, VRTheWorldTerrainProvider
, TerrainData
, HeightmapTerrainData
, QuantizedMeshTerrainData
, TerrainMesh
, TilingScheme
, GeographicTilingScheme
, WebMercatorTilingScheme
, sampleTerrain
, TileProviderError
, Credit
.TilingScheme.createRectangleOfLevelZeroTiles
, GeographicTilingScheme.createLevelZeroTiles
and WebMercatorTilingScheme.createLevelZeroTiles
.CameraColumbusViewMode
.Enumeration
.Added new functions to Cartesian3
: fromDegrees
, fromRadians
, fromDegreesArray
, fromRadiansArray
, fromDegreesArray3D
and fromRadiansArray3D
. Added fromRadians
to Cartographic
.
Fixed dark lighting in 3D and Columbus View when viewing a primitive edge on. (#592)
Improved Internet Explorer 11.0.8 support including workarounds for rendering labels, billboards, and the sun.
Improved terrain and imagery rendering performance when very close to the surface.
Added preRender
and postRender
events to Scene
.
Added Viewer.targetFrameRate
and CesiumWidget.targetFrameRate
to allow for throttling of the requestAnimationFrame rate.
Added Viewer.resolutionScale
and CesiumWidget.resolutionScale
to allow the scene to be rendered at a resolution other than the canvas size.
Camera.transform
now works consistently across scene modes.
Fixed a bug that prevented sampleTerrain
from working with STK World Terrain in Firefox.
sampleTerrain
no longer fails when used with a TerrainProvider
that is not yet ready.
Fixed problems that could occur when using ArcGisMapServerImageryProvider
to access a tiled MapServer of non-global extent.
Added interleave
option to Primitive
constructor.
Upgraded JSDoc from 3.0 to 3.3.0-alpha5. The Cesium reference documentation now has a slightly different look and feel.
Upgraded Dojo from 1.9.1 to 1.9.3. NOTE: Dojo is only used in Sandcastle and not required by Cesium.
Scene.primitives.centralBody
moved to Scene.globe
.CesiumWidget.centralBody
and Viewer.centralBody
. Use CesiumWidget.scene.globe
and Viewer.scene.globe
.CentralBody
to Globe
.Model.computeWorldBoundingSphere
with Model.boundingSphere
.setDynamicObjectCollection
, getDynamicObjectCollection
, getScene
, and removeAllPrimitives
which are all superfluous after the introduction of DataSourceDisplay
. The affected classes are:DynamicBillboardVisualizer
DynamicConeVisualizerUsingCustomSensor
DynamicLabelVisualizer
DynamicModelVisualizer
DynamicPathVisualizer
DynamicPointVisualizer
DynamicPyramidVisualizer
DynamicVectorVisualizer
GeometryVisualizer
Extent
-> Rectangle
ExtentGeometry
-> RectangleGeomtry
ExtentGeometryOutline
-> RectangleGeometryOutline
ExtentPrimitive
-> RectanglePrimitive
BoundingRectangle.fromExtent
-> BoundingRectangle.fromRectangle
BoundingSphere.fromExtent2D
-> BoundingSphere.fromRectangle2D
BoundingSphere.fromExtentWithHeights2D
-> BoundingSphere.fromRectangleWithHeights2D
BoundingSphere.fromExtent3D
-> BoundingSphere.fromRectangle3D
EllipsoidalOccluder.computeHorizonCullingPointFromExtent
-> EllipsoidalOccluder.computeHorizonCullingPointFromRectangle
Occluder.computeOccludeePointFromExtent
-> Occluder.computeOccludeePointFromRectangle
Camera.getExtentCameraCoordinates
-> Camera.getRectangleCameraCoordinates
Camera.viewExtent
-> Camera.viewRectangle
CameraFlightPath.createAnimationExtent
-> CameraFlightPath.createAnimationRectangle
TilingScheme.extentToNativeRectangle
-> TilingScheme.rectangleToNativeRectangle
TilingScheme.tileXYToNativeExtent
-> TilingScheme.tileXYToNativeRectangle
TilingScheme.tileXYToExtent
-> TilingScheme.tileXYToRectangle
DataSource
get methods into properties.getName
-> name
getClock
-> clock
getChangedEvent
-> changedEvent
getDynamicObjectCollection
-> dynamicObjects
getErrorEvent
-> errorEvent
BaseLayerPicker
has been extended to support terrain selection (#1607).BaseLayerPicker
constructor function now takes the container element and an options object instead of a CentralBody and ImageryLayerCollection.BaseLayerPickerViewModel
constructor function now takes an options object instead of a CentralBody
and ImageryLayerCollection
.ImageryProviderViewModel
-> ProviderViewModel
BaseLayerPickerViewModel.selectedName
-> BaseLayerPickerViewModel.buttonTooltip
BaseLayerPickerViewModel.selectedIconUrl
-> BaseLayerPickerViewModel.buttonImageUrl
BaseLayerPickerViewModel.selectedItem
-> BaseLayerPickerViewModel.selectedImagery
BaseLayerPickerViewModel.imageryLayers
has been removed and replaced with BaseLayerPickerViewModel.centralBody
TimeIntervalCollection.clear
to TimeIntervalColection.removeAll
Context
is now private.Scene.context
. Instead, use Scene.drawingBufferWidth
, Scene.drawingBufferHeight
, Scene.maximumAliasedLineWidth
, and Scene.createTextureAtlas
.Billboard.computeScreenSpacePosition
, Label.computeScreenSpacePosition
, SceneTransforms.clipToWindowCoordinates
and SceneTransforms.clipToDrawingBufferCoordinates
take a Scene
parameter instead of a Context
.Camera
constructor takes Scene
as parameter instead of Context
ImageryProvider
interface arenow require a hasAlphaChannel
property.checkForChromeFrame
since Chrome Frame is no longer supported by Google. See Google's official announcement.DataSource
no longer need to implement getIsTimeVarying
.NavigationHelpButton
widget that, when clicked, displays information about how to navigate around the globe with the mouse. The new button is enabled by default in the Viewer
widget.Model.minimumPixelSize
property so models remain visible when the viewer zooms out.DynamicRectangle
to support DataSource provided RectangleGeometry
.DynamicWall
to support DataSource provided WallGeometry
.BingMapsImageryProvider
and other imagery providers that return false from hasAlphaChannel
.GridMaterial
.GeometryVisualizer
now creates geometry asynchronously to prevent locking up the browser.Clock.canAnimate
to prevent time from advancing, even while the clock is animating.Viewer
now prevents time from advancing if asynchronous geometry is being processed in order to avoid showing an incomplete picture. This can be disabled via the Viewer.allowDataSourcesToSuspendAnimation
settings.Model.getMaterial
, ModelMaterial
, and ModelMesh.material
.asynchronous
and ready
properties to Model
.Cartesian4.fromColor
and Color.fromCartesian4
.getScale
and getMaximumScale
to Matrix2
, Matrix3
, and Matrix4
.Breaking changes:
All CameraController
functions have been moved up to the Camera
. Removed CameraController
. For example, code that looked like:
scene.camera.controller.viewExtent(extent);
should now look like:
scene.camera.viewExtent(extent);
ImageryLayer
getImageryProvider
-> imageryProvider
getExtent
-> extent
Billboard
, Label
getShow
, setShow
-> show
getPosition
, setPosition
-> position
getPixelOffset
, setPixelOffset
-> pixelOffset
getTranslucencyByDistance
, setTranslucencyByDistance
-> translucencyByDistance
getPixelOffsetScaleByDistance
, setPixelOffsetScaleByDistance
-> pixelOffsetScaleByDistance
getEyeOffset
, setEyeOffset
-> eyeOffset
getHorizontalOrigin
, setHorizontalOrigin
-> horizontalOrigin
getVerticalOrigin
, setVerticalOrigin
-> verticalOrigin
getScale
, setScale
-> scale
getId
-> id
Billboard
getScaleByDistance
, setScaleByDistance
-> scaleByDistance
getImageIndex
, setImageIndex
-> imageIndex
getColor
, setColor
-> color
getRotation
, setRotation
-> rotation
getAlignedAxis
, setAlignedAxis
-> alignedAxis
getWidth
, setWidth
-> width
getHeight
setHeight
-> height
Label
getText
, setText
-> text
getFont
, setFont
-> font
getFillColor
, setFillColor
-> fillColor
getOutlineColor
, setOutlineColor
-> outlineColor
getOutlineWidth
, setOutlineWidth
-> outlineWidth
getStyle
, setStyle
-> style
Polygon
getPositions
, setPositions
-> positions
Polyline
getShow
, setShow
-> show
getPositions
, setPositions
-> positions
getMaterial
, setMeterial
-> material
getWidth
, setWidth
-> width
getLoop
, setLoop
-> loop
getId
-> id
Occluder
getPosition
-> position
getRadius
-> radius
setCameraPosition
-> cameraPosition
LeapSecond
getLeapSeconds
, setLeapSeconds
-> leapSeconds
Fullscreen
getFullscreenElement
-> element
getFullscreenChangeEventName
-> changeEventName
getFullscreenErrorEventName
-> errorEventName
isFullscreenEnabled
-> enabled
isFullscreen
-> fullscreen
Event
getNumberOfListeners
-> numberOfListeners
EllipsoidGeodesic
getSurfaceDistance
-> surfaceDistance
getStart
-> start
getEnd
-> end
getStartHeading
-> startHeading
getEndHeading
-> endHeading
AnimationCollection
getAll
-> all
CentralBodySurface
getTerrainProvider
, setTerrainProvider
-> terrainProvider
Credit
getText
-> text
getImageUrl
-> imageUrl
getLink
-> link
TerrainData
, HightmapTerrainData
, QuanitzedMeshTerrainData
getWaterMask
-> waterMask
Tile
getChildren
-> children
Buffer
getSizeInBytes
-> sizeInBytes
getUsage
-> usage
getVertexArrayDestroyable
, setVertexArrayDestroyable
-> vertexArrayDestroyable
CubeMap
getPositiveX
-> positiveX
getNegativeX
-> negativeX
getPositiveY
-> positiveY
getNegativeY
-> negativeY
getPositiveZ
-> positiveZ
getNegativeZ
-> negativeZ
CubeMap
, Texture
getSampler
, setSampler
-> sampler
getPixelFormat
-> pixelFormat
getPixelDatatype
-> pixelDatatype
getPreMultiplyAlpha
-> preMultiplyAlpha
getFlipY
-> flipY
getWidth
-> width
getHeight
-> height
CubeMapFace
getPixelFormat
-> pixelFormat
getPixelDatatype
-> pixelDatatype
Framebuffer
getNumberOfColorAttachments
-> numberOfColorAttachments
getDepthTexture
-> depthTexture
getDepthRenderbuffer
-> depthRenderbuffer
getStencilRenderbuffer
-> stencilRenderbuffer
getDepthStencilTexture
-> depthStencilTexture
getDepthStencilRenderbuffer
-> depthStencilRenderbuffer
hasDepthAttachment
-> hasdepthAttachment
Renderbuffer
getFormat
-> format
getWidth
-> width
getHeight
-> height
ShaderProgram
getVertexAttributes
-> vertexAttributes
getNumberOfVertexAttributes
-> numberOfVertexAttributes
getAllUniforms
-> allUniforms
getManualUniforms
-> manualUniforms
Texture
getDimensions
-> dimensions
TextureAtlas
getBorderWidthInPixels
-> borderWidthInPixels
getTextureCoordinates
-> textureCoordinates
getTexture
-> texture
getNumberOfImages
-> numberOfImages
getGUID
-> guid
VertexArray
getNumberOfAttributes
-> numberOfAttributes
getIndexBuffer
-> indexBuffer
BoundingRectangle
union
, expand
BoundingSphere
union
, expand
, getPlaneDistances
, projectTo2D
Plane
getPointDistance
Ray
getPoint
Spherical
normalize
Extent
validate
, getSouthwest
, getNorthwest
, getNortheast
, getSoutheast
, getCenter
, intersectWith
, contains
, isEmpty
, subsample
DataSource
now has additional required properties, isLoading
and loadingEvent
as well as a new optional update
method which will be called each frame.Stripe
material uniforms lightColor
and darkColor
to evenColor
and oddColor
.SceneTransitioner
with new functions and properties on the Scene
: morphTo2D
, morphToColumbusView
, morphTo3D
, completeMorphOnUserInput
, morphStart
, morphComplete
, and completeMorph
.TexturePool
.Improved visual quality for translucent objects with Weighted Blended Order-Independent Transparency.
Fixed extruded polygons rendered in the southern hemisphere. #1490
Fixed Primitive picking that have a closed appearance drawn on the surface. #1333
Added StripeMaterialProperty
for supporting the Stripe
material in DynamicScene.
loadArrayBuffer
, loadBlob
, loadJson
, loadText
, and loadXML
now support loading data from data URIs.
The debugShowBoundingVolume
property on primitives now works across all scene modes.
Eliminated the use of a texture pool for Earth surface imagery textures. The use of the pool was leading to mipmapping problems in current versions of Google Chrome where some tiles would show imagery from entirely unrelated parts of the globe.
Scene
getCanvas
-> canvas
getContext
-> context
getPrimitives
-> primitives
getCamera
-> camera
getScreenSpaceCameraController
-> screenSpaceCameraController
getFrameState
-> frameState
getAnimations
-> animations
CompositePrimitive
getCentralBody
, setCentralBody
-> centralBody
getLength
-> length
Ellipsoid
getRadii
-> radii
getRadiiSquared
-> radiiSquared
getRadiiToTheFourth
-> radiiToTheFourth
getOneOverRadii
-> oneOverRadii
getOneOverRadiiSquared
-> oneOverRadiiSquared
getMinimumRadius
-> minimumRadius
getMaximumRadius
-> maximumRadius
CentralBody
getEllipsoid
-> ellipsoid
getImageryLayers
-> imageryLayers
EllipsoidalOccluder
getEllipsoid
-> ellipsoid
getCameraPosition
, setCameraPosition
-> cameraPosition
EllipsoidTangentPlane
getEllipsoid
-> ellipsoid
getOrigin
-> origin
GeographicProjection
getEllipsoid
-> ellipsoid
WebMercatorProjection
getEllipsoid
-> ellipsoid
SceneTransitioner
getScene
-> scene
getEllipsoid
-> ellipsoid
ScreenSpaceCameraController
getEllipsoid
, setEllipsoid
-> ellipsoid
SkyAtmosphere
getEllipsoid
-> ellipsoid
TilingScheme
, GeographicTilingScheme
, WebMercatorTilingSheme
getEllipsoid
-> ellipsoid
getExtent
-> extent
getProjection
-> projection
ArcGisMapServerImageryProvider
, BingMapsImageryProvider
, GoogleEarthImageryProvider
, GridImageryProvider
, OpenStreetMapImageryProvider
, SingleTileImageryProvider
, TileCoordinatesImageryProvider
, TileMapServiceImageryProvider
, WebMapServiceImageryProvider
getProxy
-> proxy
getTileWidth
-> tileWidth
getTileHeight
-> tileHeight
getMaximumLevel
-> maximumLevel
getMinimumLevel
-> minimumLevel
getTilingScheme
-> tilingScheme
getExtent
-> extent
getTileDiscardPolicy
-> tileDiscardPolicy
getErrorEvent
-> errorEvent
isReady
-> ready
getCredit
-> credit
ArcGisMapServerImageryProvider
, BingMapsImageryProvider
, GoogleEarthImageryProvider
, OpenStreetMapImageryProvider
, SingleTileImageryProvider
, TileMapServiceImageryProvider
, WebMapServiceImageryProvider
getUrl
-> url
ArcGisMapServerImageryProvider
isUsingPrecachedTiles
- > usingPrecachedTiles
BingMapsImageryProvider
getKey
-> key
getMapStyle
-> mapStyle
GoogleEarthImageryProvider
getPath
-> path
getChannel
-> channel
getVersion
-> version
getRequestType
-> requestType
WebMapServiceImageryProvider
getLayers
-> layers
CesiumTerrainProvider
, EllipsoidTerrainProvider
, ArcGisImageServerTerrainProvider
, VRTheWorldTerrainProvider
getErrorEvent
-> errorEvent
getCredit
-> credit
getTilingScheme
-> tilingScheme
isReady
-> ready
TimeIntervalCollection
getChangedEvent
-> changedEvent
getStart
-> start
getStop
-> stop
getLength
-> length
isEmpty
-> empty
DataSourceCollection
, ImageryLayerCollection
, LabelCollection
, PolylineCollection
, SensorVolumeCollection
getLength
-> length
BillboardCollection
getLength
-> length
getTextureAtlas
, setTextureAtlas
-> textureAtlas
getDestroyTextureAtlas
, setDestroyTextureAtlas
-> destroyTextureAtlas
Scene.getUniformState()
. Use scene.context.getUniformState()
.dynamicObject
property on the primitives they create. Instead, they set the id
property that is standard for all primitives.propertyChanged
on DynamicScene objects has been renamed to definitionChanged
. Also, the event is now raised in the case of an existing property being modified as well as having a new property assigned (previously only property assignment would raise the event).visualizerTypes
parameter to the DataSouceDisplay
has been changed to a callback function that creates an array of visualizer instances.DynamicDirectionsProperty
and DynamicVertexPositionsProperty
were both removed, they have been superseded by PropertyArray
and PropertyPositionArray
, which make it easy for DataSource implementations to create time-dynamic arrays.VisualizerCollection
has been removed. It is superseded by DataSourceDisplay
.DynamicEllipsoidVisualizer
, DynamicPolygonVisualizer
, and DynamicPolylineVisualizer
have been removed. They are superseded by GeometryVisualizer
and corresponding GeometryUpdater
implementations; EllipsoidGeometryUpdater
, PolygonGeometryUpdater
, PolylineGeometryUpdater
.CameraFlightPath
functions to take place in the camera's current reference frame. The arguments to the function now need to be given in world coordinates and an optional reference frame can be given when the flight is completed.PixelDatatype
properties are now JavaScript numbers, not Enumeration
instances.combine
now takes two objects instead of an array, and defaults to copying shallow references. The allowDuplicates
parameter has been removed. In the event of duplicate properties, the first object's properties will be used.FeatureDetection.supportsCrossOriginImagery
. This check was only useful for very old versions of WebKit.Model
for drawing 3D models using glTF. See the tutorial and Sandcastle example.SelectionIndicator
and InfoBox
widgets to Viewer
, activated by viewerDynamicObjectMixin
.CesiumTerrainProvider
now supports mesh-based terrain like the tiles created by STK Terrain Server.CesiumInspector
widget for graphics debugging. In Cesium Viewer, it is enabled by using the query parameter inspector=true
. Also see the Sandcastle example.DynamicEllipse
, DynamicPolygon
, and DynamicEllipsoid
now have properties matching their geometry counterpart, i.e. EllipseGeometry
, EllipseOutlineGeometry
, etc. These properties are also available in CZML.definitionChanged
event to the Property
interface as well as most DynamicScene
objects. This makes it easy for a client to observe when new data is loaded into a property or object.isConstant
property to the Property
interface. Constant properties do not change in regards to simulation time, i.e. Property.getValue
will always return the same result for all times.ConstantProperty
is now mutable; it's value can be updated via ConstantProperty.setValue
.GeographicTilingScheme
.OpenStreetMapImageryProvider
now supports imagery with a minimum level.BingMapsImageryProvider
now uses HTTPS by default for metadata and tiles when the document is loaded over HTTPS.CreditDisplay
.CreditDisplay
by the BingMapsImageryProvider
.WallGeometry
bug that failed by removing positions that were less close together by less than 6 decimal places. #1483EllipsoidGeometry
texture coordinates. #1454Polyline
s to join the first and last point. #960performance.now()
instead of Date.now()
, when available, to limit time spent loading terrain and imagery tiles. This results in more consistent frame rates while loading tiles on some systems.RequestErrorEvent
now includes the headers that were returned with the error response.AssociativeArray
, which is a helper class for maintaining a hash of objects that also needs to be iterated often.TimeIntervalCollection.getChangedEvent
which returns an event that will be raised whenever intervals are updated.Material.fromType
to override default uniforms. #1522Intersections2D
class containing operations on 2D triangles.czm_inverseViewProjection
and czm_inverseModelViewProjection
automatic GLSL uniform.Viewer
constructor argument options.fullscreenElement
now matches the FullscreenButton
default of document.body
, it was previously the Viewer
container itself.Viewer.objectTracked
event; Viewer.trackedObject
is now an ES5 Knockout observable that can be subscribed to directly.PerformanceDisplay
with Scene.debugShowFramesPerSecond
.Asphalt
, Blob
, Brick
, Cement
, Erosion
, Facet
, Grass
, TieDye
, and Wood
materials were moved to the Materials Pack Plugin.GeometryPipeline.createAttributeIndices
to GeometryPipeline.createAttributeLocations
.attributeIndices
property to attributeLocations
when calling Context.createVertexArrayFromGeometry
.PerformanceDisplay
requires a DOM element as a parameter.Viewer
now monitors the clock settings of the first added DataSource
for changes, and also now has a constructor option automaticallyTrackFirstDataSourceClock
which will turn off this behavior.DynamicObjectCollection
created by CzmlDataSource
now sends a single collectionChanged
event after CZML is loaded; previously it was sending an event every time an object was created or removed during the load process.ScreenSpaceCameraController.enableInputs
to fix issue with inputs not being restored after overlapping camera flights.TileMapServiceImageryProvider
can now handle casing differences in tilemapresource.xml.OpenStreetMapImageryProvider
now supports imagery with a minimum level.Quaternion.fastSlerp
and Quaternion.fastSquad
.Breaking changes:
Added allowTextureFilterAnisotropic
(default: true
) and failIfMajorPerformanceCaveat
(default: true
) properties to the contextOptions
property passed to Viewer
, CesiumWidget
, and Scene
constructors and moved the existing properties to a new webgl
sub-property. For example, code that looked like:
var viewer = new Viewer('cesiumContainer', {
contextOptions : {
alpha : true
}
});
should now look like:
var viewer = new Viewer('cesiumContainer', {
contextOptions : {
webgl : {
alpha : true
}
}
});
The read-only Cartesian3
objects must now be cloned to camera properties instead of assigned. For example, code that looked like:
camera.up = Cartesian3.UNIT_Z;
should now look like:
Cartesian3.clone(Cartesian3.UNIT_Z, camera.up);
BaseLayerPicker.css
, no longer import other CSS files. Most applications should import widgets.css
(and optionally lighter.css
).SvgPath
has been replaced by a Knockout binding: cesiumSvgPath
.DynamicObject.availability
is now a TimeIntervalCollection
instead of a TimeInterval
.BoundingSphere.transform
.Matrix4.multiplyByPoint
now returns a Cartesian3
instead of a Cartesian4
.The minified, combined Cesium.js
file now omits certain DeveloperError
checks, to increase performance and reduce file size. When developing your application, we recommend using the unminified version locally for early error detection, then deploying the minified version to production.
Fixed disabling CentralBody.enableLighting
.
Fixed Geocoder
flights when following an object.
The Viewer
widget now clears Geocoder
input when the user clicks the home button.
The Geocoder
input type has been changed to search
, which improves usability (particularly on mobile devices). There were also some other minor styling improvements.
Added CentralBody.maximumScreenSpaceError
.
Added translateEventTypes
, zoomEventTypes
, rotateEventTypes
, tiltEventTypes
, and lookEventTypes
properties to ScreenSpaceCameraController
to change the default mouse inputs.
Added Billboard.setPixelOffsetScaleByDistance
, Label.setPixelOffsetScaleByDistance
, DynamicBillboard.pixelOffsetScaleByDistance
, and DynamicLabel.pixelOffsetScaleByDistance
to control minimum/maximum pixelOffset scaling based on camera distance.
Added BoundingSphere.transformsWithoutScale
.
Added fromArray
function to Matrix2
, Matrix3
and Matrix4
.
Added Matrix4.multiplyTransformation
, Matrix4.multiplyByPointAsVector
.
Breaking changes:
Changed the CatmulRomSpline
and HermiteSpline
constructors from taking an array of structures to a structure of arrays. For example, code that looked like:
var controlPoints = [
{ point: new Cartesian3(1235398.0, -4810983.0, 4146266.0), time: 0.0},
{ point: new Cartesian3(1372574.0, -5345182.0, 4606657.0), time: 1.5},
{ point: new Cartesian3(-757983.0, -5542796.0, 4514323.0), time: 3.0},
{ point: new Cartesian3(-2821260.0, -5248423.0, 4021290.0), time: 4.5},
{ point: new Cartesian3(-2539788.0, -4724797.0, 3620093.0), time: 6.0}
]; var spline = new HermiteSpline(controlPoints);
should now look like:
var spline = new HermiteSpline({
times : [ 0.0, 1.5, 3.0, 4.5, 6.0 ],
points : [
new Cartesian3(1235398.0, -4810983.0, 4146266.0),
new Cartesian3(1372574.0, -5345182.0, 4606657.0),
new Cartesian3(-757983.0, -5542796.0, 4514323.0),
new Cartesian3(-2821260.0, -5248423.0, 4021290.0),
new Cartesian3(-2539788.0, -4724797.0, 3620093.0)
]
});
loadWithXhr
now takes an options object, and allows specifying HTTP method and data to send with the request.SceneTransitioner.onTransitionStart
to SceneTransitioner.transitionStart
.SceneTransitioner.onTransitionComplete
to SceneTransitioner.transitionComplete
.CesiumWidget.onRenderLoopError
to CesiumWidget.renderLoopError
.SceneModePickerViewModel.onTransitionStart
to SceneModePickerViewModel.transitionStart
.Viewer.onRenderLoopError
to Viewer.renderLoopError
.Viewer.onDropError
to Viewer.dropError
.CesiumViewer.onDropError
to CesiumViewer.dropError
.viewerDragDropMixin.onDropError
to viewerDragDropMixin.dropError
.viewerDynamicObjectMixin.onObjectTracked
to viewerDynamicObjectMixin.objectTracked
.PixelFormat
, PrimitiveType
, IndexDatatype
, TextureWrap
, TextureMinificationFilter
, and TextureMagnificationFilter
properties are now JavaScript numbers, not Enumeration
instances.sizeInBytes
properties on IndexDatatype
with IndexDatatype.getSizeInBytes
.Added perPositionHeight
option to PolygonGeometry
and PolygonOutlineGeometry
.
Added QuaternionSpline
and LinearSpline
.
Added Quaternion.log
, Quaternion.exp
, Quaternion.innerQuadrangle
, and Quaternion.squad
.
Added Matrix3.inverse
and Matrix3.determinant
.
Added ObjectOrientedBoundingBox
.
Added Ellipsoid.transformPositionFromScaledSpace
.
Added Math.nextPowerOfTwo
.
Renamed our main website from cesium.agi.com to cesiumjs.org.
Matrix3.fromQuaternion
to be consistent with graphics conventions. Mirrored change in Quaternion.fromRotationMatrix
.Matrix2
, Matrix3
, and Matrix4
: toArray
, getColumn
, setColumn
, getRow
, setRow
, multiply
, multiplyByVector
, multiplyByScalar
, negate
, and transpose
.Matrix4
: getTranslation
, getRotation
, inverse
, inverseTransformation
, multiplyByTranslation
, multiplyByUniformScale
, multiplyByPoint
. For example, code that previously looked like matrix.toArray();
should now look like Matrix3.toArray(matrix);
.DynamicPolyline
color
, outlineColor
, and outlineWidth
properties with a single material
property.DynamicBillboard.nearFarScalar
to DynamicBillboard.scaleByDistance
.DataSource.getName
, which returns a user-readable name for the data source.document
objects are no longer added to the DynamicObjectCollection
created by CzmlDataSource
. Use the CzmlDataSource
interface to access the data instead.TimeInterval.equals
, and TimeInterval.equalsEpsilon
now compare interval data as well.Widgets/Images
and replaced by a new SvgPath
class.CesiumWidget.css
for global Cesium button styles.container
to be the toolbar itself now, no need for separate containers for each widget on the bar.Property
implementations are now required to implement a prototype equals
function.ConstantProperty
and TimeIntervalCollectionProperty
no longer take a clone
function and instead require objects to implement prototype clone
and equals
functions.SkyBox
constructor now takes an options
argument with a sources
property, instead of directly taking sources
.SkyBox.getSources
with SkyBox.sources
.bearing
property of DynamicEllipse
is now called rotation
.ellipse.bearing
property is now ellipse.rotation
.Geocoder
widget that allows users to enter an address or the name of a landmark and zoom to that location. It is enabled by default in applications that use the Viewer
widget.GoogleEarthImageryProvider
.Moon
for drawing the moon, and IauOrientationAxes
for computing the Moon's orientation.Material.translucent
property. Set this property or Appearance.translucent
for correct rendering order. Translucent geometries are rendered after opaque geometries.enableLighting
, lightingFadeOutDistance
, and lightingFadeInDistance
properties to CentralBody
to configure lighting.Billboard.setTranslucencyByDistance
, Label.setTranslucencyByDistance
, DynamicBillboard.translucencyByDistance
, and DynamicLabel.translucencyByDistance
to control minimum/maximum translucency based on camera distance.PolylineVolumeGeometry
and PolylineVolumeGeometryOutline
.Shapes.compute2DCircle
.Appearances
tab to Sandcastle with an example for each geometry appearance.Scene.drillPick
to return list of objects each containing 1 primitive at a screen space position.PolylineOutlineMaterialProperty
for use with DynamicPolyline.material
.Array
and JulianDate
objects as custom CZML properties.DynamicObject.name
and corresponding CZML support. This is a non-unique, user-readable name for the object.DynamicObject.parent
and corresponding CZML support. This allows for DataSource
objects to present data hierarchically.DynamicPoint.scaleByDistance
to control minimum/maximum point size based on distance from the camera.skyBox
to the CesiumWidget
and Viewer
constructors for changing the default stars.Matrix4.fromTranslationQuaternionRotationScale
and Matrix4.multiplyByScale
.Matrix3.getEigenDecomposition
.getFilenameFromUri
, which given a URI with or without query parameters, returns the last segment of the URL.equals
and equalsEpsilon
method back to Cartesian2
, Cartesian3
, Cartesian4
, and Quaternion
.NearFarScalar
, and TimeIntervalCollection
.FrameState.events
.Primitive.allowPicking
to save memory when picking is not needed.debugShowBoundingVolume
, for debugging primitive rendering, to Primitive
, Polygon
, ExtentPrimitive
, EllipsoidPrimitive
, BillboardCollection
, LabelCollection
, and PolylineCollection
.DebugModelMatrixPrimitive
for debugging primitive's modelMatrix
.options
argument to the EllipsoidPrimitive
constructor.Added a user-defined id
to all primitives for use with picking. For example:
primitives.add(new Polygon({
id : {
// User-defined object returned by Scene.pick
},
// ...
}));
// ...
var p = scene.pick(/* ... */);
if (defined(p) && defined(p.id)) {
// Use properties and functions in p.id
}
Breaking changes:
Cesium now prints a reminder to the console if your application uses Bing Maps imagery and you do not supply a Bing Maps key for your application. This is a reminder that you should create a Bing Maps key for your application as soon as possible and prior to deployment. You can generate a Bing Maps key by visiting https://www.bingmapsportal.com/. Set the BingMapsApi.defaultKey
property to the value of your application's key before constructing the CesiumWidget
or any other types that use the Bing Maps API.
BingMapsApi.defaultKey = 'my-key-generated-with-bingmapsportal.com';
Scene.pick
now returns an object with a primitive
property, not the primitive itself. For example, code that looked like:
var primitive = scene.pick(/* ... */); if (defined(primitive)) {
// Use primitive
}
should now look like:
var p = scene.pick(/* ... */);
if (defined(p) && defined(p.primitive)) {
// Use p.primitive
}
getViewMatrix
, getInverseViewMatrix
, getInverseTransform
, getPositionWC
, getDirectionWC
, getUpWC
and getRightWC
from Camera
. Instead, use the viewMatrix
, inverseViewMatrix
, inverseTransform
, positionWC
, directionWC
, upWC
, and rightWC
properties.getProjectionMatrix
and getInfiniteProjectionMatrix
from PerspectiveFrustum
, PerspectiveOffCenterFrustum
and OrthographicFrustum
. Instead, use the projectionMatrix
and infiniteProjectionMatrix
properties.The following prototype functions were removed:
From Quaternion
: conjugate
, magnitudeSquared
, magnitude
, normalize
, inverse
, add
, subtract
, negate
, dot
, multiply
, multiplyByScalar
, divideByScalar
, getAxis
, getAngle
, lerp
, slerp
, equals
, equalsEpsilon
From Cartesian2
, Cartesian3
, and Cartesian4
: getMaximumComponent
, getMinimumComponent
, magnitudeSquared
, magnitude
, normalize
, dot
, multiplyComponents
, add
, subtract
, multiplyByScalar
, divideByScalar
, negate
, abs
, lerp
, angleBetween
, mostOrthogonalAxis
, equals
, and equalsEpsilon
.
From Cartesian3
: cross
Code that previously looked like quaternion.magnitude();
should now look like Quaternion.magnitude(quaternion);
.
DynamicObjectCollection
and CompositeDynamicObjectCollection
have been largely re-written, see the documentation for complete details. Highlights include:getObject
has been renamed getById
.removeObject
has been renamed removeById
.collectionChanged
event added for notification of objects being added or removed.DynamicScene
graphics object (DynamicBillboard
, etc...) have had their static mergeProperties
and clean
functions removed.UniformState.update
now takes a context as its first parameter.Camera
constructor now takes a context instead of a canvas.SceneTransforms.clipToWindowCoordinates
now takes a context instead of a canvas.canvasDimensions
from FrameState
.context
option from Material
constructor and parameter from Material.fromType
.TextureWrap.CLAMP
to TextureWrap.CLAMP_TO_EDGE
.Added Geometries
tab to Sandcastle with an example for each geometry type.
Added CorridorOutlineGeometry
.
Added PolylineGeometry
, PolylineColorAppearance
, and PolylineMaterialAppearance
.
Added colors
option to SimplePolylineGeometry
for per vertex or per segment colors.
Added proper support for browser zoom.
Added propertyChanged
event to DynamicScene
graphics objects for receiving change notifications.
Added prototype clone
and merge
functions to DynamicScene
graphics objects.
Added width
, height
, and nearFarScalar
properties to DynamicBillboard
for controlling the image size.
Added heading
and tilt
properties to CameraController
.
Added Scene.sunBloom
to enable/disable the bloom filter on the sun. The bloom filter should be disabled for better frame rates on mobile devices.
Added getDrawingBufferWidth
and getDrawingBufferHeight
to Context
.
Added new built-in GLSL functions czm_getLambertDiffuse
and czm_getSpecular
.
Added support for EXT_frag_depth.
Improved graphics performance.
Improved runtime generation of GLSL shaders.
Made sun size accurate.
Fixed bug in triangulation that fails on complex polygons. Instead, it makes a best effort to render what it can. #1121
Fixed geometries not closing completely. #1093
Fixed EllipsoidTangentPlane.projectPointOntoPlane
for tangent planes on an ellipsoid other than the unit sphere.
CompositePrimitive.add
now returns the added primitive. This allows us to write more concise code.
var p = new Primitive(/* ... */);
primitives.add(p);
return p;
becomes
return primitives.add(new Primitive(/* ... */));
This releases fixes 2D and other issues with Chrome 29.0.1547.57 (#1002 and #1047).
Breaking changes:
CameraFlightPath
functions createAnimation
, createAnimationCartographic
, and createAnimationExtent
now take scene
as their first parameter instead of frameState
.DynamicScene
property system to vastly improve the API. See #1080 for complete details.CzmlBoolean
, CzmlCartesian2
, CzmlCartesian3
, CzmlColor
, CzmlDefaults
, CzmlDirection
, CzmlHorizontalOrigin
, CzmlImage
, CzmlLabelStyle
, CzmlNumber
, CzmlPosition
, CzmlString
, CzmlUnitCartesian3
, CzmlUnitQuaternion
, CzmlUnitSpherical
, and CzmlVerticalOrigin
since they are no longer needed.DynamicProperty
, DynamicMaterialProperty
, DynamicDirectionsProperty
, and DynamicVertexPositionsProperty
; replacing them with an all new system of properties.
Property
- base interface for all properties.CompositeProperty
- a property composed of other properties.ConstantProperty
- a property whose value never changes.SampledProperty
- a property whose value is interpolated from a set of samples.TimeIntervalCollectionProperty
- a property whose value changes based on time interval.MaterialProperty
- base interface for all material properties.CompositeMaterialProperty
- a CompositeProperty
for materials.ColorMaterialProperty
- a property that maps to a color material. (replaces DynamicColorMaterial
)GridMaterialProperty
- a property that maps to a grid material. (replaces DynamicGridMaterial
)ImageMaterialProperty
- a property that maps to an image material. (replaces DynamicImageMaterial
)PositionProperty
- base interface for all position properties.CompositePositionProperty
- a CompositeProperty
for positions.ConstantPositionProperty
- a PositionProperty
whose value does not change in respect to the ReferenceFrame
in which is it defined.SampledPositionProperty
- a SampledProperty
for positions.TimeIntervalCollectionPositionProperty
- A TimeIntervalCollectionProperty
for positions.processCzml
, use CzmlDataSource
instead.Source/Widgets/Viewer/lighter.css
was deleted, use Source/Widgets/lighter.css
instead.ExtentGeometry
parameters for extruded extent to make them consistent with other geometries.options.extrudedOptions.height
-> options.extrudedHeight
options.extrudedOptions.closeTop
-> options.closeBottom
options.extrudedOptions.closeBottom
-> options.closeTop
Geometry constructors no longer compute vertices or indices. Use the type's createGeometry
method. For example, code that looked like:
var boxGeometry = new BoxGeometry({
minimumCorner : min,
maximumCorner : max,
vertexFormat : VertexFormat.POSITION_ONLY
});
should now look like:
var box = new BoxGeometry({
minimumCorner : min,
maximumCorner : max,
vertexFormat : VertexFormat.POSITION_ONLY
});
var geometry = BoxGeometry.createGeometry(box);
createTypedArray
and createArrayBufferView
from each of the ComponentDatatype
enumerations. Instead, use ComponentDatatype.createTypedArray
and ComponentDatatype.createArrayBufferView
.DataSourceDisplay
now requires a DataSourceCollection
to be passed into its constructor.DeveloperError
and RuntimeError
no longer contain an error
property. Call toString
, or check the stack
property directly instead.createPickFragmentShaderSource
with createShaderSource
.PolygonPipeline.earClip2D
to PolygonPipeline.triangulate
.Added outline geometries. #1021.
Added CorridorGeometry
.
Added Billboard.scaleByDistance
and NearFarScalar
to control billboard minimum/maximum scale based on camera distance.
Added EllipsoidGeodesic
.
Added PolylinePipeline.scaleToSurface
.
Added PolylinePipeline.scaleToGeodeticHeight
.
Added the ability to specify a minimumTerrainLevel
and maximumTerrainLevel
when constructing an ImageryLayer
. The layer will only be shown for terrain tiles within the specified range.
Added Math.setRandomNumberSeed
and Math.nextRandomNumber
for generating repeatable random numbers.
Added Color.fromRandom
to generate random and partially random colors.
Added an onCancel
callback to CameraFlightPath
functions that will be executed if the flight is canceled.
Added Scene.debugShowFrustums
and Scene.debugFrustumStatistics
for rendering debugging.
Added Packable
and PackableForInterpolation
interfaces to aid interpolation and in-memory data storage. Also made most core Cesium types implement them.
Added InterpolationAlgorithm
interface to codify the base interface already being used by LagrangePolynomialApproximation
, LinearApproximation
, and HermitePolynomialApproximation
.
Improved the performance of polygon triangulation using an O(n log n) algorithm.
Improved geometry batching performance by moving work to a web worker.
Improved WallGeometry
to follow the curvature of the earth.
Improved visual quality of closed translucent geometries.
Optimized polyline bounding spheres.
Viewer
now automatically sets its clock to that of the first added DataSource
, regardless of how it was added to the DataSourceCollection
. Previously, this was only done for dropped files by viewerDragDropMixin
.
CesiumWidget
and Viewer
now display an HTML error panel if an error occurs while rendering, which can be disabled with a constructor option.
CameraFlightPath
now automatically disables and restores mouse input for the flights it generates.
Fixed broken surface rendering in Columbus View when using the EllipsoidTerrainProvider
.
Fixed triangulation for polygons that cross the international date line.
Fixed EllipsoidPrimitive
rendering for some oblate ellipsoids. #1067.
Fixed Cesium on Nexus 4 with Android 4.3.
Upgraded Knockout from version 2.2.1 to 2.3.0.
CubeMapEllipsoidTessellator
with EllipsoidGeometry
.BoxTessellator
with BoxGeometry
.ExtentTessletaor
with ExtentGeometry
.PlaneTessellator
. It was incomplete and not used.MeshFilters
to GeometryPipeline
.MeshFilters.toWireframeInPlace
to GeometryPipeline.toWireframe
.MeshFilters.mapAttributeIndices
. It was not used.Context.createVertexArrayFromMesh
to Context.createVertexArrayFromGeometry
. Likewise, renamed mesh
constructor property to geometry
.ComponentDatatype.*.toTypedArray
to ComponentDatatype.*.createTypedArray
.Polygon.configureExtent
. Use ExtentPrimitive
instead.Polygon.bufferUsage
. It is no longer needed.height
and textureRotationAngle
arguments from Polygon
setPositions
and configureFromPolygonHierarchy
functions. Use Polygon
height
and textureRotationAngle
properties.PolygonPipeline.cleanUp
to PolygonPipeline.removeDuplicates
.PolygonPipeline.wrapLongitude
. Use GeometryPipeline.wrapLongitude
instead.surfaceHeight
parameter to BoundingSphere.fromExtent3D
.surfaceHeight
parameter to Extent.subsample
.pointInsideTriangle2D
to pointInsideTriangle
.getLogo
to getCredit
for ImageryProvider
and TerrainProvider
.intersectionWidth
to DynamicCone
, DynamicPyramid
, CustomSensorVolume
, and RectangularPyramidSensorVolume
.ExtentPrimitive
.PolylinePipeline.removeDuplicates
.barycentricCoordinates
to compute the barycentric coordinates of a point in a triangle.BoundingSphere.fromEllipsoid
.BoundingSphere.projectTo2D
.Extent.fromDegrees
.czm_tangentToEyeSpaceMatrix
built-in GLSL function.DrawCommand.debugShowBoundingVolume
and Scene.debugCommandFilter
.ExtentGeometry
.Credit
and CreditDisplay
for displaying credits on the screen.CustomSensorVolume
and RectangularPyramidSensorVolume
.configureFromPolygonHierarchy
.CesiumViewerWidget
and replaced it with a new Viewer
widget with mixin architecture. This new widget does not depend on Dojo and is part of the combined Cesium.js file. It is intended to be a flexible base widget for easily building robust applications. (#838)clockViewModel.shouldAnimate()
-> clockViewModel.shouldAnimate
clockViewModel.shouldAnimate(true);
-> clockViewModel.shouldAnimate = true;
ImageryProviderViewModel.fromConstants
has been removed. Use the ImageryProviderViewModel
constructor directly.transitioner
property on CesiumWidget
, HomeButton
, and ScreenModePicker
to sceneTrasitioner
to be consistent with property naming convention.ImageryProvider.loadImage
now requires that the calling imagery provider instance be passed as its first parameter.checkForChromeFrame
function, and replaced it with a new standalone version that returns a promise to signal when the asynchronous check has completed.Assets/Textures/NE2_LR_LC_SR_W_DR_2048.jpg
. If you were previously using this image with SingleTileImageryProvider
, consider instead using TileMapServiceImageryProvider
with a URL of Assets/Textures/NaturalEarthII
.Client CZML
SandCastle demo has been removed, largely because it is redundant with the Simple CZML demo.Two Viewer Widgets
SandCastle demo has been removed. We will add back a multi-scene example when we have a good architecture for it in place.clone
functions in all objects such that if the object being cloned is undefined, the function will return undefined instead of throwing an exception.CesiumWidget
(#608, #834).Billboard
s.TileMapServiceImageryProvider
now supports imagery with a minimum level. This improves compatibility with tile sets generated by MapTiler or gdal2tiles.py using their default settings.Context.getAntialias
.BaseLayerPicker
where destroy wasn't properly cleaning everything up.Timeline
update event.screenSpaceEventHandler
property to CesiumWidget
. Also added a sceneMode
option to the constructor to set the initial scene mode.useDefaultRenderLoop
property to CesiumWidget
that allows the default render loop to be disabled so that a custom render loop can be used.CesiumWidget.onRenderLoopError
which is an Event
that is raised if an exception is generated inside of the default render loop.ImageryProviderViewModel.creationCommand
can now return an array of ImageryProvider instances, which allows adding multiple layers when a single item is selected in the BaseLayerPicker
widget.Uniform.getFrameNumber
and Uniform.getTime
with Uniform.getFrameState
, which returns the full frame state.Widgets/Fullscreen
folder to Widgets/FullscreenButton
along with associated objects/files.FullscreenWidget
-> FullscreenButton
FullscreenViewModel
-> FullscreenButtonViewModel
addAttribute
, removeAttribute
, and setIndexBuffer
from VertexArray
. They were not used.DynamicObjectView
in 3D. The object automatically selects LVLH or EastNorthUp based on the object's velocity.CzmlDirection
, DynamicVector
, and DynamicVectorVisualizer
objects.SceneTransforms.wgs84ToWindowCoordinates
. #746.fromElements
to Cartesian2
, Cartesian3
, and Cartesian4
.DrawCommand.cull
to avoid redundant visibility checks.czm_morphTime
automatic GLSL uniform.IntersectionTests.trianglePlaneIntersection
.computeHorizonCullingPoint
, computeHorizonCullingPointFromVertices
, and computeHorizonCullingPointFromExtent
methods to EllipsoidalOccluder
and used them to build a more accurate horizon occlusion test for terrain rendering.Sun
and Scene.sun
.HomeButton
widget for returning to the default view of the current scene mode.Command.beforeExecute
and Command.afterExecute
events to enable additional processing when a command is executed.Polygon.configureExtent
.CameraController.getExtentCameraCoordinates
and CameraFlightPath.createAnimationExtent
.frameState.mode === SceneMode.MORPHING
.2008-11-10T14:00:00+02:30
.Breaking changes:
Removed the color, outline color, and outline width properties of polylines. Instead, use materials for polyline color and outline properties. Code that looked like:
var polyline = polylineCollection.add({
positions : positions,
color : new Color(1.0, 1.0, 1.0, 1.0),
outlineColor : new Color(1.0, 0.0, 0.0, 1.0),
width : 1.0,
outlineWidth : 3.0
});
should now look like:
var outlineMaterial = Material.fromType(context, Material.PolylineOutlineType);
outlineMaterial.uniforms.color = new Color(1.0, 1.0, 1.0, 1.0);
outlineMaterial.uniforms.outlineColor = new Color(1.0, 0.0, 0.0, 1.0);
outlineMaterial.uniforms.outlinewidth = 2.0;
var polyline = polylineCollection.add({
positions : positions,
width : 3.0,
material : outlineMaterial
});
CzmlCartographic
has been removed and all cartographic values are converted to Cartesian internally during CZML processing. This improves performance and fixes interpolation of cartographic source data. The Cartographic representation can still be retrieved if needed.ComplexConicSensorVolume
, which was not documented and did not work on most platforms. It will be brought back in a future release. This does not affect CZML, which uses a custom sensor to approximate a complex conic.computeSunPosition
with Simon1994PlanetaryPosition
, which has functions to calculate the position of the sun and the moon more accurately.Context.createClearState
. These properties are now part of ClearCommand
.RenderState
objects returned from Context.createRenderState
are now immutable.positionMC
from czm_materialInput
. It is no longer used by any materials.Added wide polylines that work with and without ANGLE.
Polylines now use materials to describe their surface appearance. See the Fabric wiki page for more details on how to create materials.
Added new PolylineOutline
, PolylineGlow
, PolylineArrow
, and Fade
materials.
Added czm_pixelSizeInMeters
automatic GLSL uniform.
Added AnimationViewModel.snapToTicks
, which when set to true, causes the shuttle ring on the Animation widget to snap to the defined tick values, rather than interpolate between them.
Added Color.toRgba
and Color.fromRgba
to convert to/from numeric unsigned 32-bit RGBA values.
Added GridImageryProvider
for custom rendering effects and debugging.
Added new Grid
material.
Made EllipsoidPrimitive
double-sided.
Improved rendering performance by minimizing WebGL state calls.
Fixed an error in Web Worker creation when loading Cesium.js from a different origin.
Fixed EllipsoidPrimitive
picking and picking objects with materials that have transparent parts.
Fixed imagery smearing artifacts on mobile devices and other devices without high-precision fragment shaders.
Billboard.computeScreenSpacePosition
now takes Context
and FrameState
arguments instead of a UniformState
argument.clampToPixel
property from BillboardCollection
and LabelCollection
. This option is no longer needed due to overall LabelCollection visualization improvements.Widgets/Dojo/CesiumWidget
and replaced it with Widgets/CesiumWidget
, which has no Dojo dependancies.destroyObject
no longer deletes properties from the object being destroyed.darker.css
files have been deleted and the darker
theme is now the default style for widgets. The original theme is now known as lighter
and is in corresponding lighter.css
files.cesium-<widget>-<className>
.view2D
, view3D
, and viewColumbus
properties from CesiumViewerWidget
. Use the sceneTransitioner
property instead.BoundingSphere.fromCornerPoints
.fromArray
and distance
functions to Cartesian2
, Cartesian3
, and Cartesian4
.DynamicPath.resolution
property for setting the maximum step size, in seconds, to take when sampling a position for path visualization.TileCoordinatesImageryProvider
that renders imagery with tile X, Y, Level coordinates on the surface of the globe. This is mostly useful for debugging.DynamicEllipse
and DynamicObject.ellipse
property to render CZML ellipses on the globe.sampleTerrain
function to sample the terrain height of a list of Cartographic
positions.DynamicObjectCollection.removeObject
and handling of the new CZML delete
property.alpha
of exactly 0.0 are no longer rendered. Previously these invisible layers were rendered normally, which was a waste of resources. Unlike the show
property, imagery tiles in a layer with an alpha
of 0.0 are still downloaded, so the layer will become visible more quickly when its alpha
is increased.onTransitionStart
and onTransitionComplete
events to SceneModeTransitioner
.SceneModePicker
; a new widget for morphing between scene modes.BaseLayerPicker
; a new widget for switching among pre-configured base layer imagery providers.Animation
widget for controlling playback.ClockStep.SYSTEM_CLOCK_DEPENDENT
was renamed to ClockStep.SYSTEM_CLOCK_MULTIPLIER
.ClockStep.SYSTEM_CLOCK
was added to have the clock always match the system time.ClockRange.LOOP
was renamed to ClockRange.LOOP_STOP
and now only loops in the forward direction.Clock.reverseTick
was removed, simply negate Clock.multiplier
and pass it to Clock.tick
.Clock.shouldAnimate
was added to indicate if Clock.tick
should actually advance time.Dojo/TimelineWidget
was removed. You should use the non-toolkit specific Timeline widget directly.CesiumViewerWidget.fullScreenElement
, instead use the CesiumViewerWidget.fullscreen.viewModel.fullScreenElement
observable property.IntersectionTests.rayPlane
now takes the new Plane
type instead of separate planeNormal
and planeD
arguments.ImageryProviderError
to TileProviderError
.CesiumTerrainProvider
, ArcGisImageServerTerrainProvider
, and VRTheWorldTerrainProvider
. See the Terrain Tutorial for more information.FullscreenWidget
which is a simple, single-button widget that toggles fullscreen mode of the specified element.Picking
Sandcastle example.HeightmapTessellator
to create a mesh from a heightmap.JulianDate.equals
.Plane
for representing the equation of a plane.IntersectionTests
.PolylineCollection
with a model matrix other than the identity would be incorrectly rendered in 2D and Columbus view.ScreenSpaceCameraController
where disabled mouse events can cause the camera to be moved after being re-enabled.Cesium.js
file and other required files are now created in Build/Cesium
and Build/CesiumUnminified
folders.Cesium.js
file are now in a Workers
subdirectory.erosion
property from Polygon
, ComplexConicSensorVolume
, RectangularPyramidSensorVolume
, and ComplexConicSensorVolume
. Use the new Erosion
material. See the Sandbox Animation example.setRectangle
and getRectangle
methods from ViewportQuad
. Use the new rectangle
property.time
parameter from Scene.initializeFrame
. Instead, pass the time to Scene.render
.RimLighting
and Erosion
materials. See the Fabric wiki page.hue
and saturation
properties to ImageryLayer
.czm_hue
and czm_saturation
to adjust the hue and saturation of RGB colors.JulianDate.getDaysDifference
method.Transforms.computeIcrfToFixedMatrix
and computeFixedToIcrfMatrix
.EarthOrientationParameters
, EarthOrientationParametersSample
, Iau2006XysData
, and Iau2006XysDataSample
classes to Core
.ViewportQuad
now supports the material system. See the Fabric wiki page.EllipsoidPrimitive
.Breaking changes:
Renamed the server
property to url
when constructing a BingMapsImageryProvider
. Likewise, renamed BingMapsImageryProvider.getServer
to BingMapsImageryProvider.getUrl
. Code that looked like
var bing = new BingMapsImageryProvider({
server : 'dev.virtualearth.net'
});
should now look like:
var bing = new BingMapsImageryProvider({
url : 'http://dev.virtualearth.net'
});
toCSSColor
to toCssColorString
.minimumZoomDistance
and maximumZoomDistance
from the CameraController
to the ScreenSpaceCameraController
.Added fromCssColorString
to Color
to create a Color
instance from any CSS value.
Added fromHsl
to Color
to create a Color
instance from H, S, L values.
Added Scene.backgroundColor
.
Added textureRotationAngle
parameter to Polygon.setPositions
and Polygon.configureFromPolygonHierarchy
to rotate textures on polygons.
Added Matrix3.fromRotationX
, Matrix3.fromRotationY
, Matrix3.fromRotationZ
, and Matrix2.fromRotation
.
Added fromUniformScale
to Matrix2
, Matrix3
, and Matrix4
.
Added fromScale
to Matrix2
.
Added multiplyByUniformScale
to Matrix4
.
Added flipY
property when calling Context.createTexture2D
and Context.createCubeMap
.
Added MeshFilters.encodePosition
and EncodedCartesian3.encode
.
Fixed jitter artifacts with polygons.
Fixed camera tilt close to the minimumZoomDistance
.
Fixed a bug that could lead to blue tiles when zoomed in close to the North and South poles.
Fixed a bug where removing labels would remove the wrong label and ultimately cause a crash.
Worked around a bug in Firefox 18 preventing typed arrays from being transferred to or from Web Workers.
Upgraded RequireJS to version 2.1.2, and Almond to 0.2.3.
Updated the default Bing Maps API key.
EventHandler
to ScreenSpaceEventHandler
.MouseEventType
to ScreenSpaceEventType
.MouseEventType.MOVE
to ScreenSpaceEventType.MOUSE_MOVE
.CameraEventHandler
to CameraEventAggregator
.*MouseAction
to *InputAction
(including get, set, remove, etc).Camera2DController
, CameraCentralBodyController
, CameraColumbusViewController
, CameraFlightController
, CameraFreeLookController
, CameraSpindleController
, and CameraControllerCollection
. Common ways to modify the camera are through the CameraController
object of the Camera
and will work in all scene modes. The default camera handler is the ScreenSpaceCameraController
object on the Scene
.Source/Assets/Textures/NE2_50M_SR_W_2048.jpg
with Source/Assets/Textures/NE2_LR_LC_SR_W_DR_2048.jpg
.JulianDate.toIso8601
, which creates an ISO8601 compliant representation of a JulianDate.Timeline
widget now properly displays leap seconds.Timeline.makeLabel
to take a JulianDate
instead of a JavaScript date parameter.Assets
. Images used by Sandcastle
examples have been moved to the Sandcastle folder, and images used by the Dojo widgets are now self-contained in the Widgets
package.positionToEyeEC
in czm_materialInput
is no longer normalized by default.FullScreen
and related functions have been renamed to Fullscreen
to match the W3C standard name.Fullscreen.isFullscreenEnabled
was incorrectly implemented in certain browsers. isFullscreenEnabled
now correctly determines whether the browser will allow an element to go fullscreen. A new isFullscreen
function is available to determine if the browser is currently in fullscreen mode.Fullscreen.getFullScreenChangeEventName
and Fullscreen.getFullScreenChangeEventName
now return the proper event name, suitable for use with the addEventListener
API, instead prefixing them with "on".Scene.setSunPosition
and Scene.getSunPosition
. The sun position used for lighting is automatically computed based on the scene's time.CentralBody
, including the ground atmosphere, night texture, specular map, cloud map, cloud shadows, and bump map. These features weren't really production ready and had a disproportionate cost in terms of shader complexity and compilation time. They may return in a more polished form in a future release.affectedByLighting
property from Polygon
, EllipsoidPrimitive
, RectangularPyramidSensorVolume
, CustomSensorVolume
, and ComplexConicSensorVolume
.DistanceIntervalMaterial
. This was not documented.Matrix2.getElementIndex
, Matrix3.getElementIndex
, and Matrix4.getElementIndex
functions have had their parameters swapped and now take row first and column second. This is consistent with other class constants, such as Matrix2.COLUMN1ROW2.CentralBody.showSkyAtmosphere
with Scene.skyAtmosphere
and SkyAtmosphere
. This has no impact for those using the Cesium widget.TileMapServiceImageryProvider
. See the Imagery Layers Sandcastle
example.Water
material. See the Materials Sandcastle
example.SkyBox
to draw stars. Added CesiumWidget.showSkyBox
and CesiumViewerWidget.showSkyBox
.Matrix4
functions: Matrix4.multiplyByTranslation
, multiplyByPoint
, and Matrix4.fromScale
. Added Matrix3.fromScale
.EncodedCartesian3
, which is used to eliminate jitter when drawing primitives.czm_frameNumber
, czm_temeToPseudoFixed
, czm_entireFrustum
, czm_inverseModel
, czm_modelViewRelativeToEye
, czm_modelViewProjectionRelativeToEye
, czm_encodedCameraPositionMCHigh
, and czm_encodedCameraPositionMCLow
.czm_translateRelativeToEye
and czm_luminance
GLSL functions.shininess
to czm_materialInput
.QuadraticRealPolynomial
, CubicRealPolynomial
, and QuarticRealPolynomial
for finding the roots of quadratic, cubic, and quartic polynomials.IntersectionTests.grazingAltitudeLocation
for finding a point on a ray nearest to an ellipsoid.mostOrthogonalAxis
function to Cartesian2
, Cartesian3
, and Cartesian4
.Texture2DPool
to TexturePool
.BingMapsTileProvider
to BingMapsImageryProvider
.SingleTileProvider
to SingleTileImageryProvider
.ArcGISTileProvider
to ArcGisMapServerImageryProvider
.EquidistantCylindrdicalProjection
to GeographicProjection
.MercatorProjection
to WebMercatorProjection
.CentralBody.dayTileProvider
has been removed. Instead, add one or more imagery providers to the collection returned by CentralBody.getImageryLayers()
.description.generateTextureCoords
parameter passed to ExtentTessellator.compute
is now called description.generateTextureCoordinates
.bringForward
, sendBackward
, bringToFront
, and sendToBack
methods on CompositePrimitive
to raise
, lower
, raiseToTop
, and lowerToBottom
, respectively.Cache
and CachePolicy
are no longer used and have been removed.CentralBody
now allows imagery from multiple sources to be layered and alpha blended on the globe. See the new Imagery Layers
and Map Projections
Sandcastle examples.WebMapServiceImageryProvider
.getElementIndex
to Matrix2
, Matrix3
, and Matrix4
.render
and renderForPick
functions of primitives. The primitive update
function updates a list of commands for the renderer. For more details, see the Data Driven Renderer.Context.getViewport
and Context.setViewport
. The viewport defaults to the size of the canvas if a primitive does not override the viewport property in the render state.shallowEquals
has been removed.undefined
to any of the set functions on Billboard
now throws an exception.undefined
to any of the set functions on Polyline
now throws an exception.PolygonPipeline.scaleToGeodeticHeight
now takes ellipsoid as the last parameter, instead of the first. It also now defaults to Ellipsoid.WGS84
if no parameter is provided.DynamicEllipsoid
and DynamicEllipsoidVisualizer
which use the new EllipsoidPrimitive
to implement ellipsoids in CZML.Extent
functions now take optional result parameters. Also added getCenter
, intersectWith
, and contains
functions.DynamicObjectView
for tracking a DynamicObject with the camera across scene modes; also hooked up CesiumViewerWidget to use it.enableTranslate
, enableZoom
, and enableRotate
properties to Camera2DController
to selectively toggle camera behavior. All values default to true
.Camera2DController.setPositionCartographic
to simplify moving the camera programmatically when in 2D mode.Matrix4.multiplyByTranslation
, Matrix4.fromScale
, and Matrix3.fromScale
.Breaking changes:
Materials are now created through a centralized Material class using a JSON schema called Fabric. For example, change:
polygon.material = new BlobMaterial({repeat : 10.0});
to:
polygon.material = Material.fromType(context, 'Blob');
polygon.material.repeat = 10.0;
or:
polygon.material = new Material({
context : context,
fabric : {
type : 'Blob',
uniforms : {
repeat : 10.0
}
}
});
Label.computeScreenSpacePosition
now requires the current scene state as a parameter.undefined
to any of the set functions on Label
now throws an exception.agi_
prefix on GLSL identifiers to czm_
.ViewportQuad
properties vertexShader
and fragmentShader
with optional constructor arguments.czm_viewport
from an ivec4
to a vec4
to reduce casting.Billboard
now defaults to an image index of -1
indicating no texture, previously billboards defaulted to 0
indicating the first texture in the atlas. For example, change:
billboards.add({
position : { x : 1.0, y : 2.0, z : 3.0 },
});
to:
billboards.add({
position : { x : 1.0, y : 2.0, z : 3.0 },
imageIndex : 0
});
SceneState
to FrameState
.SunPosition
was changed from a static object to a function computeSunPosition
; which now returns a Cartesian3
with the computed position. It was also optimized for performance and memory pressure. For example, change:
var result = SunPosition.compute(date); var position = result.position;
to:
var position = computeSunPosition(date);
All Quaternion
operations now have static versions that work with any objects exposing x
, y
, z
and w
properties.
Added support for nested polygons with holes. See Polygon.configureFromPolygonHierarchy
.
Added support to the renderer for view frustum and central body occlusion culling. All built-in primitives, such as BillboardCollection
, Polygon
, PolylineCollection
, etc., can be culled. See the advanced examples in the Sandbox for details.
Added writeTextToCanvas
function which handles sizing the resulting canvas to fit the desired text.
Added support for CZML path visualization via the DynamicPath
and DynamicPathVisualizer
objects. See the CZML wiki for more details.
Added support for WEBGL_depth_texture. See Framebuffer.setDepthTexture
.
Added CesiumMath.isPowerOfTwo
.
Added affectedByLighting
to ComplexConicSensorVolume
, CustomSensorVolume
, and RectangularPyramidSensorVolume
to turn lighting on/off for these objects.
CZML Polygon
, Cone
, and Pyramid
objects are no longer affected by lighting.
Added czm_viewRotation
and czm_viewInverseRotation
automatic GLSL uniforms.
Added a clampToPixel
property to BillboardCollection
and LabelCollection
. When true, it aligns all billboards and text to a pixel in screen space, providing a crisper image at the cost of jumpier motion.
Ellipsoid
functions now take optional result parameters.
Breaking changes:
EventHandler
.TextureAtlas
takes an object literal in its constructor instead of separate parameters. Code that previously looked like:
context.createTextureAtlas(images, pixelFormat, borderWidthInPixels);
should now look like:
context.createTextureAtlas({images : images, pixelFormat : pixelFormat, borderWidthInPixels : borderWidthInPixels});
Camera.pickEllipsoid
returns the picked position in world coordinates and the ellipsoid parameter is optional. Prefer the new Scene.pickEllipsoid
method. For example, change
var position = camera.pickEllipsoid(ellipsoid, windowPosition);
to:
var position = scene.pickEllipsoid(windowPosition, ellipsoid);
Camera.getPickRay
now returns the new Ray
type instead of an object with position and direction properties.Camera.viewExtent
now takes an Extent
argument instead of west, south, east and north arguments. Prefer Scene.viewExtent
over Camera.viewExtent
. Scene.viewExtent
will work in any SceneMode
. For example, change
camera.viewExtent(ellipsoid, west, south, east, north);
to:
scene.viewExtent(extent, ellipsoid);
CameraSpindleController.mouseConstrainedZAxis
has been removed. Instead, use CameraSpindleController.constrainedAxis
. Code that previously looked like:
spindleController.mouseConstrainedZAxis = true;
should now look like:
spindleController.constrainedAxis = Cartesian3.UNIT_Z;
Camera2DController
constructor and CameraControllerCollection.add2D
now require a projection instead of an ellipsoid.Chain
has been removed. when
is now included as a more complete CommonJS Promises/A implementation.Jobs.downloadImage
was replaced with loadImage
to provide a promise that will asynchronously load an image.jsonp
now returns a promise for the requested data, removing the need for a callback parameter.Cartesian3.prototype.getXY()
was replaced with Cartesian2.fromCartesian3
. Code that previously looked like cartesian3.getXY();
should now look like Cartesian2.fromCartesian3(cartesian3);
.Cartesian4.prototype.getXY()
was replaced with Cartesian2.fromCartesian4
. Code that previously looked like cartesian4.getXY();
should now look like Cartesian2.fromCartesian4(cartesian4);
.Cartesian4.prototype.getXYZ()
was replaced with Cartesian3.fromCartesian4
. Code that previously looked like cartesian4.getXYZ();
should now look like Cartesian3.fromCartesian4(cartesian4);
.Math.angleBetween
was removed because it was a duplicate of Cartesian3.angleBetween
. Simply replace calls of the former to the later.Cartographic3
was renamed to Cartographic
.Cartographic2
was removed; use Cartographic
instead.Ellipsoid.toCartesian
was renamed to Ellipsoid.cartographicToCartesian
.Ellipsoid.toCartesians
was renamed to Ellipsoid.cartographicArrayToCartesianArray
.Ellipsoid.toCartographic2
was renamed to Ellipsoid.cartesianToCartographic
.Ellipsoid.toCartographic2s
was renamed to Ellipsoid.cartesianArrayToCartographicArray
.Ellipsoid.toCartographic3
was renamed to Ellipsoid.cartesianToCartographic
.Ellipsoid.toCartographic3s
was renamed to Ellipsoid.cartesianArrayToCartographicArray
.Ellipsoid.cartographicDegreesToCartesian
was removed. Code that previously looked like ellipsoid.cartographicDegreesToCartesian(new Cartographic(45, 50, 10))
should now look like ellipsoid.cartographicToCartesian(Cartographic.fromDegrees(45, 50, 10))
.Math.cartographic3ToRadians
, Math.cartographic2ToRadians
, Math.cartographic2ToDegrees
, and Math.cartographic3ToDegrees
were removed. These functions are no longer needed because Cartographic instances are always represented in radians.multiplyWith
now start with multiplyBy
to be consistent with functions starting with divideBy
.multiplyWithMatrix
function on each Matrix
type was renamed to multiply
.values
property has been eliminated and Matrices are no longer immutable. Code that previously looked like matrix = matrix.setColumn0Row0(12);
now looks like matrix[Matrix2.COLUMN0ROW0] = 12;
. Code that previously looked like matrix.setColumn3(cartesian3);
now looked like matrix.setColumn(3, cartesian3, matrix)
.'Polyline' is no longer externally creatable. To create a 'Polyline' use the 'PolylineCollection.add' method.
Polyline polyline = new Polyline();
to
PolylineCollection polylineCollection = new PolylineCollection();
Polyline polyline = polylineCollection.add();
All Cartesian2
operations now have static versions that work with any objects exposing x
and y
properties.
All Cartesian3
operations now have static versions that work with any objects exposing x
, y
, and z
properties.
All Cartesian4
operations now have static versions that work with any objects exposing x
, y
, z
and w
properties.
All Cartographic
operations now have static versions that work with any objects exposing longitude
, latitude
, and height
properties.
All Matrix
classes are now indexable like arrays.
All Matrix
operations now have static versions of all prototype functions and anywhere we take a Matrix instance as input can now also take an Array or TypedArray.
All Matrix
, Cartesian
, and Cartographic
operations now take an optional result parameter for object re-use to reduce memory pressure.
Added Cartographic.fromDegrees
to make creating Cartographic instances from values in degrees easier.
Added addImage
to TextureAtlas
so images can be added to a texture atlas after it is constructed.
Added Scene.pickEllipsoid
, which picks either the ellipsoid or the map depending on the current SceneMode
.
Added Event
, a new utility class which makes it easy for objects to expose event properties.
Added TextureAtlasBuilder
, a new utility class which makes it easy to build a TextureAtlas asynchronously.
Added Clock
, a simple clock for keeping track of simulated time.
Added LagrangePolynomialApproximation
, HermitePolynomialApproximation
, and LinearApproximation
interpolation algorithms.
Added CoordinateConversions
, a new static class where most coordinate conversion methods will be stored.
Added Spherical
coordinate type
Added a new DynamicScene layer for time-dynamic, data-driven visualization. This include CZML processing. For more details see https://github.com/CesiumGS/cesium/wiki/Architecture and https://github.com/CesiumGS/cesium/wiki/CZML-in-Cesium.
Added a new application, Cesium Viewer, for viewing CZML files and otherwise exploring the globe.
Added a new Widgets directory, to contain common re-usable Cesium related controls.
Added a new Timeline widget to the Widgets directory.
Added a new Widgets/Dojo directory, to contain dojo-specific widgets.
Added new Timeline and Cesium dojo widgets.
Added CameraCentralBodyController
as the new default controller to handle mouse input.
Added computeTemeToPseudoFixedMatrix
function to Transforms
.
Added 'PolylineCollection' to manage numerous polylines. 'PolylineCollection' dramatically improves rendering speed when using polylines.
Tipsify.tipsify
and Tipsify.calculateACMR
to accept an object literal instead of three separate arguments. Supplying a maximum index and cache size is now optional.CentralBody
no longer requires a camera as the first parameter.CentralBody.northPoleColor
and CentralBody.southPoleColor
to fill in the poles if they are not covered by a texture.Polygon.configureExtent
to create a polygon defined by west, south, east, and north values.Camera
to provide position and directions in world coordinates.showThroughEllipsoid
to CustomSensorVolume
and RectangularPyramidSensorVolume
to allow sensors to draw through Earth.affectedByLighting
to CentralBody
and Polygon
to turn lighting on/off for these objects.Breaking changes:
Geoscope.*
references to Cesium.*
, and reference Cesium.js instead of Geoscope.js.CompositePrimitive.addGround
was removed; use CompositePrimitive.add
instead. For example, change
primitives.addGround(polygon);
to:
primitives.add(polygon);
Moved eastNorthUpToFixedFrame
and northEastDownToFixedFrame
functions from Ellipsoid
to a new Transforms
object. For example, change
var m = ellipsoid.eastNorthUpToFixedFrame(p);
to:
var m = Cesium.Transforms.eastNorthUpToFixedFrame(p, ellipsoid);
fillStyle
and strokeStyle
were renamed to fillColor
and outlineColor
; they are also now color objects instead of strings. The label Color
property has been removed.For example, change
label.setFillStyle("red");
label.setStrokeStyle("#FFFFFFFF");
to:
label.setFillColor({ red : 1.0, blue : 0.0, green : 0.0, alpha : 1.0 });
label.setOutlineColor({ red : 1.0, blue : 1.0, green : 1.0, alpha : 1.0 });
Tipsify.Tipsify
to Tipsify.tipsify
.Tipsify.CalculateACMR
to Tipsify.calculateACMR
.LeapSecond.CompareLeapSecondDate
to LeapSecond.compareLeapSecondDate
.Geoscope.JSONP.get
is now Cesium.jsonp
. Cesium.jsonp
now takes a url, a callback function, and an options object. The previous 2nd and 4th parameters are now specified using the options object.TWEEN
is no longer globally defined, and is instead available as Cesium.Tween
.run
are now moved to Cesium.Chain.run
, etc.Geoscope.CollectionAlgorithms.binarySearch
is now Cesium.binarySearch
.Geoscope.ContainmentTests.pointInsideTriangle2D
is now Cesium.pointInsideTriangle2D
.Static constructor methods prefixed with "createFrom", now start with "from":
Matrix2.createfromColumnMajorArray
becomes
Matrix2.fromColumnMajorArray
The JulianDate
constructor no longer takes a Date
object, use the new from methods instead:
new JulianDate(new Date());
becomes
JulianDate.fromDate(new Date("January 1, 2011 12:00:00 EST"));
JulianDate.fromIso8601("2012-04-24T18:08Z");
JulianDate.fromTotalDays(23452.23);
JulianDate.getDate
is now JulianDate.toDate()
and returns a new instance each time.CentralBody.logoOffsetX
and logoOffsetY
have been replaced with CentralBody.logoOffset
, a Cartesian2
.Ellipsoid.getScaledWgs84()
has been removed since it is not needed.getXXX()
methods which returned a new instance of what should really be a constant are now exposed as frozen properties instead. This should improve performance and memory pressure.
Cartsian2/3/4.getUnitX()
-> Cartsian2/3/4.UNIT_X
Cartsian2/3/4.getUnitY()
-> Cartsian2/3/4.UNIT_Y
Cartsian2/3/4.getUnitZ()
-> Cartsian3/4.UNIT_Z
Cartsian2/3/4.getUnitW()
-> Cartsian4.UNIT_W
Matrix/2/3/4.getIdentity()
-> Matrix/2/3/4.IDENTITY
Quaternion.getIdentity()
-> Quaternion.IDENTITY
Ellipsoid.getWgs84()
-> Ellipsoid.WGS84
Ellipsoid.getUnitSphere()
-> Ellipsoid.UNIT_SPHERE
Cartesian2/3/4/Cartographic.getZero()
-> Cartesian2/3/4/Cartographic.ZERO
Added PerformanceDisplay
which can be added to a scene to display frames per second (FPS).
Labels now correctly allow specifying fonts by non-pixel CSS units such as points, ems, etc.
Added Shapes.computeEllipseBoundary
and updated Shapes.computeCircleBoundary
to compute boundaries using arc-distance.
Added fileExtension
and credit
properties to OpenStreetMapTileProvider
construction.
Night lights no longer disappear when CentralBody.showGroundAtmosphere
is true
.
Breaking changes:
Geoscope.SkyFromSpace
object with CentralBody.showSkyAtmosphere
property.event.x
and event.y
with event.position
.movement.startX
and startY
with movement.startPosition
. Replaced movement.endX
and movement.endY
with movement.endPosition
.Scene.Pick
now takes a Cartesian2
with the origin at the upper-left corner of the canvas. For example, code that looked like:
scene.pick(movement.endX, scene.getCanvas().clientHeight - movement.endY);
becomes:
scene.pick(movement.endPosition);
Added SceneTransitioner
to switch between 2D and 3D views. See the new Skeleton 2D example.
Added CentralBody.showGroundAtmosphere
to show an atmosphere on the ground.
Added Camera.pickEllipsoid
to get the point on the globe under the mouse cursor.
Added Polygon.height
to draw polygons at a constant altitude above the ellipsoid.
Geoscope.Constants
and Geoscope.Trig
with Geoscope.Math
.Polygon
setColor
and getColor
with a material.color
property.setEllipsoid
and getEllipsoid
with an ellipsoid
property.setGranularity
and getGranularity
with a granularity
property.Polyline
setColor
/getColor
and setOutlineColor
/getOutlineColor
with color
and outline
properties.setWidth
/getWidth
and setOutlineWidth
/getOutlineWidth
with width
and outlineWidth
properties.Geoscope.BillboardCollection.bufferUsage
. It is now automatically determined.Geoscope.Label
set/get functions for shadowOffset
, shadowBlur
, shadowColor
. These are no longer supported.Scene.getTransitions
to Scene.getAnimations
.SensorCollection
to SensorVolumeCollection
.ComplexConicSensorVolume.material
with separate materials for each surface: outerMaterial
, innerMaterial
, and capMaterial
.TranslucentSensorVolumeMaterial
to ColorMaterial
.DistanceIntervalSensorVolumeMaterial
to DistanceIntervalMaterial
.TieDyeSensorVolumeMaterial
to TieDyeMaterial
.CheckerboardSensorVolumeMaterial
to CheckerboardMaterial
.PolkaDotSensorVolumeMaterial
to DotMaterial
.FacetSensorVolumeMaterial
to FacetMaterial
.BlobSensorVolumeMaterial
to BlobMaterial
.VerticalStripeMaterial
HorizontalStripeMaterial
DistanceIntervalMaterial
Polygon.material
property.ConicSensorVolume
via the new maximumClockAngle
and minimumClockAngle
properties.RectangularPyramidSensorVolume
.BillboardCollection
and LabelCollection
.Added Scene, which reduces the amount of code required to use Geoscope. See the Skeleton. We recommend using this instead of explicitly calling update() and render() for individual or composite primitives. Existing code will need minor changes:
Other breaking changes:
Camera get/set functions, e.g., getPosition/setPosition were replaced with properties, e.g., position.
Replaced CompositePrimitive, Polygon, and Polyline getShow/setShow functions with a show property.
Replaced Polyline, Polygon, BillboardCollection, and LabelCollection getBufferUsage/setBufferUsage functions with a bufferUsage property.
Changed colors used by billboards, labels, polylines, and polygons. Previously, components were named r, g, b, and a. They are now red, green, blue, and alpha. Previously, each component's range was [0, 255]. The range is now [0, 1] floating point. For example,
color : { r : 0, g : 255, b : 0, a : 255 }
becomes:
color : { red : 0.0, green : 1.0, blue : 0.0, alpha : 1.0 }
Shapes.computeCircleBoundary
to compute circles. See the Sandbox.Changed the EventHandler
constructor function to take the Geoscope canvas, which ensures the mouse position is correct regardless of the canvas' position on the page. Code that previously looked like:
var handler = new Geoscope.EventHandler();
should now look like:
var handler = new Geoscope.EventHandler(canvas);
Context.Pick no longer requires clamping the x and y arguments. Code that previously looked like:
var pickedObject = context.pick(primitives, us, Math.max(x, 0.0),
Math.max(context.getCanvas().clientHeight - y, 0.0));
can now look like:
var pickedObject = context.pick(primitives, us, x, context.getCanvas().clientHeight - y);
Changed Polyline.setWidth and Polyline.setOutlineWidth to clamp the width to the WebGL implementation limit instead of throwing an exception. Code that previously looked like:
var maxWidth = context.getMaximumAliasedLineWidth();
polyline.setWidth(Math.min(5, maxWidth));
polyline.setOutlineWidth(Math.min(10, maxWidth));
can now look like:
polyline.setWidth(5);
polyline.setOutlineWidth(10);
BREAKING CHANGE: The Context
constructor-function now takes an element instead of an ID. Code that previously looked like:
var context = new Geoscope.Context("glCanvas");
var canvas = context.getCanvas();
should now look like:
var canvas = document.getElementById("glCanvas");
var context = new Geoscope.Context(canvas);
Geoscope.Polygon
for drawing polygons on the globe.Context.pick
to pick objects in one line of code.bringForward
, bringToFront
, sendBackward
, and sendToBack
functions to CompositePrimitive
to control the render-order for ground primitives.getShow
/setShow
functions to Polyline
and CompositePrimitive
.CameraFreeLookEventHandler
, CameraSpindleEventHandler
, and EventHandler
.Ellipsoid.toCartesian3
with Ellipsoid.toCartesian
.updateForPick
functions no longer require a UniformState
argument.Geoscope.Polyline
. See the Sandbox example.CompositePrimitive
, LabelCollection
, and BillboardCollection
have consistent function names, including a new contains()
function.CompositePrimitive
, TimeStandard
, and LeapSecond
types.Geoscope.TimeStandard
for handling TAI and UTC time standards.Geoscope.Quaternion
, which is a foundation for future camera control.Geoscope.PrimitiveCollection
to simplify rendering.Geoscope.LabelCollection
for drawing text.Geoscope.JulianDate
and Geoscope.TimeConstants
for proper time handling.Geoscope.ViewportQuad
and Geoscope.Rectangle
(foundations for 2D map).SunPosition
type to compute the sun position for a julian date.Cartographic2
and Cartographic3
are now mutable types.