Cesium 之各版本更新日志中文翻译(1.80-1.136)持续更新中

更新日志
1.136
@cesium/engine
修复 🔧
修复了使用 imageSubRegion 的广告牌(Billboards)渲染异常的问题。#12585
优化了广告牌中 SVG 图像的缩放效果 #13020
修复了广告牌周围出现意外轮廓伪影的问题 #13038
新增功能 🎉
新增 scene.pickAsync 方法,支持基于 WebGL2 的非 GPU 阻塞拾取功能 #12983
通过新的地形拾取四叉树优化了地形拾取性能 #8481
1.135 – 2025-11-03
@cesium/engine
不兼容变更 📣
移除了对 KHR_spz_gaussian_splats_compression 扩展的支持,转而采用 glTF 最新的 3D 高斯泼溅(Gaussian Splatting)扩展:KHR_gaussian_splatting 和 KHR_gaussian_splatting_compression_spz_2。请重新分片(re-tile)现有的高斯泼溅 3D 瓦片数据 #12837
scene.drillPick 方法现已采用广度优先搜索(BFS)策略替代原有的深度优先搜索(DFS)。当指定较大的 width、height 参数且设置了 limit 时,可能会改变拾取到的实体顺序——优先选择更靠近相机的实体。 #12916
新增功能 🎉
新增实验性功能:支持将 3D 瓦片加载为地形数据(通过 Cesium3DTilesTerrainProvider 实现)。关于支持的 3D 瓦片类型限制,请参阅 相关 PR。 #12296
新增对 EXT_mesh_primitive_edge_visibility glTF 扩展的支持。 #12765
修复 🔧
优化了 scene.drillPick 的性能。 #12916
优化了移除图元(primitives)时的性能。 #3018
优化了地形四叉树对自定义数据的处理性能 #12907
修复了椭球形体素(ellipsoid-shaped voxels)的垂直夸张(vertical exaggeration)计算错误。 #12811
修复了 3D Tiles 1.1 子树文件中包含的内容包围体(content bounding volumes)解析问题。 #12972
修复了近期变更后出现的事件监听 bug:在事件回调中添加新监听器会导致无限循环。 #12955
修复了 label.show 为 false 时更新属性导致的标签背景异常问题。 #12138
修复了包含多个 PolygonGeometry 实例的 GroundPrimitive 拾取时选中错误实例的问题。 #12978
修复了移除贴地影像图层(draped imagery layers)后未更新渲染状态的 bug #12923
修复了根瓦片无世界变换(world transform)时,高斯泼溅瓦片集(Gaussian splat tilesets)的精度问题。 #12925
修复了用户在现有回调中追加渲染后回调(post-render callbacks)时可能出现的无限递归 bug #12983
1.134.1 – 2025-10-10
@cesium/engine
修复 🔧
修复了近期变更后出现的事件监听 bug:在事件回调中添加新监听器会导致无限循环。 #12955
1.134 – 2025-10-01
Sandcastle 已在 https://sandcastle.cesium.com 上更新!传统 Sandcastle 应用 将在 2025 年 11 月 3 日之前继续可用。
@cesium/engine
重大更改 📣
体素渲染现在需要 WebGL2 上下文(自 1.101 起默认启用)。请确保在 contextOptions 中未将 requestWebGl1 标记为 true。
已移除 defaultValue 函数。 请改用空值合并运算符(??)。参阅编码指南获取示例与用法。
已移除 defaultValue.EMPTY_OBJECT。请改用 Frozen.EMPTY_OBJECT。参阅编码指南。
新增 🎉
新增 Google2DImageryProvider,以从 Google Maps 加载影像。#12913
为 Material 类添加了一个异步工厂方法,允许调用者在资源加载完成后再使用材质。#10566
修复 🔧
修正了小字号标签文字基线垂直错位的问题 #8474
将体素射线行进改为在眼坐标中进行,以修复大数据集中的精度问题。#12061
修复 Gaussian splat 模型中由错误排序导致的闪烁伪影。#12662
修复多实例 Gaussian splat 瓦片集在变换时位置错位的问题。#12795
修复在启用 requestRenderMode 时几何实体的渲染问题。#12841
提升 Event 类的性能并减少内存占用。#12896
优化贴地标签性能。#12905
从类型加载的材质现在尊重被引用材质类型中的子材质。#10566
防止某些无效 PNTS 文件导致运行时错误。#12872
回退对 createImageBitmap 选项的更新以继续支持旧浏览器。#12846
1.133.1 – 2025-09-08
仅 npm 发布的修复版本,用于修正 1.133.0 中的依赖问题。
1.133 – 2025-09-02
试用新版 Sandcastle!
@cesium/engine
重大更改 📣
移除了 ITwinData.* 函数中的参数回退(arguments fallback)。请改为使用新的 options 参数签名。#12778
新增 🎉
增加对 EXT_mesh_primitive_restart glTF 扩展的支持。#12764
为 Gaussian splats 添加球谐函数支持,并在 SPZ 压缩格式下支持。#12790
新增 Ellipsoid.MARS,用于火星地形与影像。#12828
允许将 Cesium3DTileset 构造选项传递给通过 ITwinData.createTilesetForRealityDataId 创建的 tileset。#12709
修复 🔧
修复 Gaussian splat 瓦片集在相机视锥外仍渲染的问题。#12840
移除 WMTS 的最小图块阈值 4。#4372
修复加载包含无二进制部分的 batch table 时 PNTS(点云)数据崩溃的问题。#11166
修复使用 ClippingPolygon 拾取时出错的问题。#12725
弃用 ⏳
弃用 KHR_spz_gaussian_splats_compression 扩展,改用 KHR_gaussian_splatting 与 KHR_gaussian_splatting_compression_spz_2。将于 1.135 中移除。请在 2025 年 11 月 1 日前对现有 Gaussian splatting 3D Tiles 进行重构以确保后续支持。#12837
1.132 – 2025-08-01
@cesium/engine
修复 🔧
修复 2D 场景模式下不正确的多边形剔除。#1552
修复更改材质属性时的闪烁问题。#1640,#12716
修复当 tileset 上的贴地影像图层可见性变化时,瓦片上覆盖影像未被更新的问题。#12742
修复从场景 primitives 中移除具有多个瓦片的 Gaussian splat 瓦片集时的异常。#12726
修复 Gaussian splats 在按 glTF 变换、tileset 变换或模型矩阵缩放时的渲染。#12721,#12718
修复标签背景半透明问题。#12673
更新 Scene 的许多属性与函数类型以允许 undefined;详情见 PR: #12736
修复当 Cesium3DTileset.show 为 false 时 Gaussian splats 仍渲染的问题。#12748
修复 PointCloudShading.normalShading 参数在设为 false 时未禁用法线着色的问题。#11196
更新 GPU 顶点变换以减少精度误差。#4250
更新 spz-loader 到 0.3.0 以修复 Gaussian splats 关于 glTF 上轴方向的问题。#12737,#12749
新增 🎉
将 CustomShader 示例扩展为支持对 CustomShader 的实时修改。#12702
为 Sampler 和 Texture3D 添加 wrapR 属性以支持第三维度的环绕模式。#12701
添加通过 ITwinData.createTilesetFromIModelId 加载 iTwin 网格导出的特定更改集的能力。#12778
弃用 ⏳
更新了所有 ITwinData.* 函数以接受 options 参数代替单独参数;旧签名提供了回退,但将在 1.133 中移除。#12778
1.131 – 2025-07-01
@cesium/engine
修复 🔧
更新了对 createImageBitmap 废弃选项的使用。#12664
修复圆柱体体素的射线步长问题。#12681
修复 GaussianSplatPrimitive 在处理 tileset.modelMatrix 平移与旋转更改时的行为。#12706
新增 🎉
为 Cesium3DTileset 构造选项添加 HeightReference,以支持将 3D Tile 向量数据中的点要素夹紧到地形或 3D Tiles。#11710
允许将 OffscreenCanvas 与 ImageBitmap 直接传入 Material uniform。#12558
1.130.1 – 2025-06-16
@cesium/engine
新增 🎉
新增对使用草案 glTF 扩展 KHR_spz_gaussian_splats_compression 编码的 Gaussian splats 加载的实验性支持。#12582
新增对整数纹理格式的支持:R32I、RG32I、RGB32I、RGBA32I、R32UI、RG32UI、RGB32UI、RGBA32UI。#12582
1.130 – 2025-06-02
@cesium/engine
重大更改 📣
体素着色器的 FragmentInput 结构已更新,以更好地与 CustomShader 文档保持一致。 VoxelPrimitive 与 Cesium3DTileset 或 Model 之间的 CustomShader 用法的其余差异已在自定义着色器指南中记录。 #12636。主要更改包括:
非标准位置属性 fsInput.voxel.positionUv、fsInput.voxel.positionShapeUv 和 fsInput.voxel.positionLocal 已被删除,替换为单个眼睛坐标位置 fsInput.attributes.positionEC。
模型坐标中的法线 fsInput.voxel.surfaceNormal 已被替换为眼睛坐标中的法线 fsInput.attributes.normalEC。示例:
// 替换这一行:
// vec3 voxelNormal = normalize(czm_normal * fsInput.voxel.surfaceNormal);
// 为:
vec3 voxelNormal = fsInput.attributes.normalEC;

新增 🎉
增加对 3D Tiles 上 draping 影像的基本支持。#12567
增加对 3D 纹理的支持,并添加体积云沙箱示例。#12661
修复 🔧
修复使用正交相机时的体素渲染。#12629
1.129 – 2025-05-01
@cesium/engine
重大更改 📣
VoxelProvider.minimumBounds 和 .maximumBounds 现在以物理值而不是形状空间值指定。#12592
新增 🎉
新增 Material with Custom GLSL 沙箱演示。#12549
修复 🔧
QuadtreePrimitive.updateHeights 现在在调用回调之前将位置转换为 Cartographic,确保与 commit 53889cb 引入的更改兼容,从而防止不必要的计算。#12555
修复 Polyline*MaterialProperty 宽度伪影(还原了 #12434)。#12506
Check.typeOf.object 现在断言 Record 而不是 object,以允许在断言后进行属性检查。#12572
1.128 – 2025-04-01
@cesium/engine
重大更改 📣
Camera.getPickRay 之前错误地以相机坐标系返回结果。现在已按文档要求以世界坐标系返回结果。可以使用 Camera.inverseViewMatrix 进行转换,以实现先前的行为。
VoxelMetadataOrder 已设为私有,VoxelProvider 接口中的 metadataOrder 属性已移除。
新增 🎉
新增使用共享密钥加载 iTwin 数据的支持,作为用户基础 OAuth 的替代方案。使用共享密钥时,请设置 ITwinPlatform.defaultShareKey。#12530
新增 Frozen.EMPTY_OBJECT 和 Frozen.EMPTY_ARRAY,用作避免不必要内存分配的默认参数值。#12507
修复 🔧
修复延迟数据源边界球体追踪的问题。#12465
Camera.getPickRay 现在在正交模式下正确返回原点在世界坐标中的光线。#12500
修复当像素比不是 1 时 3D 正交模式下的相机缩放问题。#12487
修复圆柱体形状体素的形状边界和变换。#12522
修复椭球体体素瓦片集的元数据排序。#12544
修复在使用高分辨率地形时,因 QuadtreePrimitive 中 updateHeights 的待处理瓦片队列增长而导致的被夹紧实体高度更新可能停滞的问题。#12476
修复 VaryingType.MAT3 定义。#12524
弃用 ⏳
已弃用 defaultValue 函数,将在 1.134 中移除。请改用逻辑或运算符(||)或空值合并运算符(??)。参阅编码指南获取示例与用法。
已弃用 defaultValue.EMPTY_OBJECT,将于 1.134 中移除。请改用 Frozen.EMPTY_OBJECT。参阅编码指南获取示例与用法。
1.127 – 2025-03-03
@cesium/engine
重大更改 📣
更新 Cesium3DTilesVoxelProvider,以使用新的 EXT_primitive_voxels 扩展 加载 glTF 瓦片,以更好地与其余 3D Tiles 生态系统保持一致。使用先前自定义 JSON 格式的瓦片集不再受支持。#12432
更新 VoxelProvider 接口的 requestData 方法,以返回对 VoxelContent 的 Promise。自定义提供程序现在应使用 VoxelContent.fromMetadataArray 方法构造返回的数据对象。例如:
CustomVoxelProvider.prototype.requestData = function (options) {
const metadataColumn = new Float32Array(options.dataLength);
// … 用元数据值填充 metadataColumn …
const content = VoxelContent.fromMetadataArray([metadataColumn]);
return Promise.resolve(content);
};

更改 VoxelCylinderShape 以假定坐标顺序为(半径,角度,高度)。参见 CesiumGS/3d-tiles#780
新增 🎉
实现了 VoxelPrimitive.statistics 中的 texturesByteLength、visited 和 numberOfTilesWithContentReady。要使用统计信息,请在构造函数中将 options.calculateStatistics 设置为 true。请注意,VoxelPrimitive 仍处于实验阶段。
修复 🔧
曝露 CustomShader.prototype.destroy 作为公共方法。#12444
修复带有 ArcType.RHUMB 的多段线在某些情况下未正确渲染的问题。#12460
修复 CameraEventAggregator 仅在拖动时触发当前持有的修饰符事件的问题。鼠标抬起时,所有修饰符的事件均被取消。#11903
修复立方体映射在基于图像的照明中的伪影。#12100
修复 PBR 直接照明中的镜面反射伪影。#12116
在基于图像的照明中向漫反射 BRDF 添加多重散射项。#12118
修复来自提供的环境贴图的基于图像的照明中的归一化错误。#11994
修复在相机接近地球表面时可能导致的深度冲突问题。#6783
修复 Camera.flyTo 在目标为带有 HeightReference 的实体时的行为。#10631
1.126 – 2025-02-03
@cesium/engine
重大更改 📣
createGooglePhotorealistic3DTileset(key) 已被移除。请改用 createGooglePhotorealistic3DTileset({key})。
更改 DataSourceDisplay.ready 的行为,使其在最初设置为 true 后始终保持 true。#12429
新增 🎉
新增 ITwinData.loadGeospatialFeatures(iTwinId, collectionId) 函数,以从 Geospatial Features API 加载数据。#12449
修复 🔧
修复重置 Cesium3DTileset.modelMatrix 为初始值时的错误。#12409
修复 ClippingPolygon.equals 函数的参数类型,并修复某些情况下未标记为“可选”的参数。#12394
修复对归一化 UNSIGNED_BYTE 或 UNSIGNED_SHORT 的顶点颜色的 Draco 解码。#12417
修复文档中带有 https 的 url basemap.nationalmap.gov。#12375
修复当 sinAngle < 1 时多段线的 expandWidth 值过大的问题。#12434
允许在多个内容中使用外部瓦片集。#12440
修复 ImageryLayer.fromProviderAsync 的类型,以正确显示参数 options 是可选的。#12400
修复设置 Viewer.selectedEntity 时的类型错误。#12303
1.125 – 2025-01-02
@cesium/engine
新增 🎉
扩展与 iTwin Platform 的集成,以通过现实管理 API 加载 GeoJSON 和 KML 数据。使用 ITwinData.createDataSourceForRealityDataId 将数据加载为 GeoJSON 或 KML`。#12344
为 ModelGraphics 添加 environmentMapOptions。出于性能原因,默认情况下,如果实体位置发生变化,环境图将不会更新。如果希望环境图根据实体位置更新,请提供适当的 environmentMapOptions.maximumPositionEpsilon 值。#12358
向 VoxelPrimitive 添加事件,以匹配 Cesium3DTileset,包括 allTilesLoaded、initialTilesLoaded、loadProgress、tileFailed、tileLoad、tileVisible、tileUnload。
修复 🔧
减少使用环境图时的内存使用和性能瓶颈。#12356
修复 JulianDate 以始终生成有效的 ISO 字符串,精确到毫秒。#12345
修复间歇性 z-fighting 问题。#12337
1.124 – 2024-12-02
@cesium/engine
新增 🎉
新增与 iTwin Platform 的集成,以将 iModel 加载为 3D Tiles。使用 ITwinPlatform.defaultAccessToken 设置访问令牌。使用 ITwinData.createTilesetFromIModelId(iModelId) 将 iModel 加载为 Cesium3DTileset。#12289
新增与 iTwin Platform 的集成,以加载现实数据地形网格。使用 ITwinPlatform.defaultAccessToken 设置访问令牌。然后使用 ITwinData.createTilesetForRealityDataId(iTwinId, dataId) 将地形网格加载为 Cesium3DTileset。#12334
新增 getSample 到 SampledProperty 以获取样本时间。#12253
新增 Entity.trackingReferenceFrame 属性,以允许在各种参考框架中跟踪实体。#12194,#12314
TrackingReferenceFrame.AUTODETECT(默认):根据实体的动态,使用 VVLH 或 ENU。 如果相机方向偶尔翻转,请使用 TrackingReferenceFrame.ENU。
TrackingReferenceFrame.ENU:使用实体的本地东-北-上参考框架。
TrackingReferenceFrame.INERTIAL: 使用实体的惯性参考框架。
TrackingReferenceFrame.VELOCITY:使用实体的 VelocityOrientationProperty 作为方向。
新增 GoogleGeocoderService,用于独立使用 Google 地理编码器。#12299
重大更改 📣
PostProcessStageCollection.ambientOcclusion 已更新算法,以在所有尺度上提供更好的结果,并具有可调节的性能开销。要近似旧算法的外观和性能,请为 scene.postProcessStages.ambientOcclusion.uniforms 设置以下值:{ lengthCap: 0.02, directionCount: 6, stepCount: 8 }。为了在远距离获得最佳效果,考虑将 Viewer.camera.frustum.near 设置为 1.0 或更高,以提高深度缓冲区的精度。#12316
Rectangle.validate 已被移除。
修复 🔧
修复共享外部纹理未计入资源统计信息的错误。#12331
修复在同一帧中加载多个模型时的延迟。#12320
修复某些硬件上点云过滤性能问题。#12317
修复 WebGL1 上标签渲染错误。#12301
更新文档中 Label 原点默认值的说明。#12139
1.123.1 – 2024-11-07
@cesium/engine
新增 🎉
新增后备漫反射光照 DynamicEnvironmentMapManager.DEFAULT_SPHERICAL_HARMONIC_COEFFICIENTS,在不支持或禁用时使用。#12292
新增 DynamicEnvironmentMapManager.isDynamicUpdateSupported,以检查是否支持动态环境图更新。#12292
1.123 – 2024-11-01
@cesium/engine
重大更改 📣
更新 PBR 下的默认 3D Tiles 和模型照明,以创建更逼真的外观。要近似先前的默认照明,请使用以下设置:

const environmentMapManager = model.environmentMapManager; // 或 tileset.environmentMapManager;
environmentMapManager.saturation = 0.35;
environmentMapManager.brightness = 1.4;
environmentMapManager.gamma = 0.8;
environmentMapManager.atmosphereScatteringIntensity = 5.0;
environmentMapManager.groundColor =
Cesium.Color.fromCssColorString(“#001850”);

ImageBasedLighting.luminanceAtZenith 已被移除。请改用 DynamicEnvironmentMapManager.atmosphereScatteringIntensity。#12129

默认 Fog.density 从 0.0002 更改为 0.0006。要恢复先前的行为,请设置 viewer.scene.fog.density = 0.002。#12248

新增 🎉
更新 PBR 下的默认 3D Tiles 和模型照明。新增 DynamicEnvironmentMapManager 以控制照明参数。这些参数可以通过 Cesium3DTileset.environmentMapManager 和 Model.environmentMapManager 访问。#12129
新增 ScreenSpaceCameraController.maximumTiltAngle,以限制相机的倾斜角度。#12169
曝露 Fog.visualDensityScalar,以允许在不影响剔除方面的情况下修改雾的视觉密度。与此同时,调整了密度计算,使其在高度变化时更加平滑。#12248
更新日本建筑沙箱示例,以使用日本区域地形。#12259
将 Viewer 功能移至 CesiumWidget 以提高可用性,完整列表请参见下面添加到 CesiumWidget 的内容。没有从 Viewer 中移除任何功能,但像 entities 集合这样的便捷助手被添加到了 CesiumWidget 中。当不使用额外的 Viewer 小部件时,CesiumWidget 应更接近于 Viewer 的替代品。#11967。
新增构造函数选项:options.shouldAnimate、options.automaticallyTrackDataSourceClocks、options.dataSources
新增属性:dataSourceDisplay、entities、dataSources、allowDataSourcesToSuspendAnimation、trackedEntity、trackedEntityChanged、clockTrackedDataSource
新增函数:zoomTo()、flyTo()
更新 Bing 地图版权链接。#12265
修复 🔧
修复因另一个实体的边界球体阻塞而导致的边界球体获取闪烁问题。#12230
修复基于图像的照明中 ImageBasedLighting.imageBasedLightingFactor 无法生效的问题。#12129
修复在某些情况下,线和走廊的角点归一化错误。#12255
正确处理从属性纹理中获取元数据时的 offset 和 scale 属性。#12237
1.122 – 2024-10-01
@cesium/engine
新增 🎉
新增 CallbackPositionProperty,以允许延迟评估实体位置。#12170
新增模型的 enableVerticalExaggeration 选项。将此值设置为 false 可防止在 Scene.verticalExaggeration 设置为非 1.0 值时模型被夸大。#12141
新增 Scene.prototype.pickMetadata 和 Scene.prototype.pickMetadataSchema,启用对属性纹理或属性属性拾取的实验性支持。#12075
新增对 glTF 扩展 NGA_gpm_local 的实验性支持,用于 GPM 1.2。#12204
修复 🔧
修复 Texture 在使用 HTMLVideoElement 时的错误。#12219
修复环境光遮蔽后处理中的噪声。#12201
在 I3SNode 中未找到最佳匹配时,使用第一个 geometryBuffer。#12132
更新 Core/ 中的类型定义,以允许可选参数为 undefined。#12193
恢复 Firefox OIT 临时修复。#4815
弃用 ⏳
Rectangle.validate 已被弃用。将于 1.124 中移除。请改用 Rectangle.validate。
1.121.1 – 2024-09-04
此版本仅为 npm 发布,包含 1.121 中的额外源映射

1.121 – 2024-09-03
@cesium/engine
新增 🎉
默认启用 4 个采样的 MSAA。要关闭 MSAA,请设置 scene.msaaSamples = 1。#12158
曝露 PostProcessStageCollection 的 tonemapper 属性,以便在 HDR 打开时更改使用的色调映射。默认使用 Khronos 的 PBR 中性色调映射。#12160
Tonemapper 枚举包含与 tonemapper 设置一起使用的有效色调映射选项的列表
曝露 PostProcessStageCollection 的 exposure 属性,以便更改当前 HDR 色调映射使用的曝光。#12160
新增 WaterMask 地球材质,可根据地形的水面罩视觉化水域或陆地区域。#12149
将 Property 的 time 参数设为可选,默认使用 JulianDate.now()。#12099
曝露 ScreenSpaceCameraController.zoomFactor,以便调整缩放因子(速度)。#9145
修复 🔧
更新 CameraEventAggregator,仅在拖动时触发当前持有的修饰符事件。鼠标抬起时,所有修饰符的事件均被取消。#11903
修复立方体映射在基于图像的照明中的伪影。#12100
修复镜面反射伪影。#12116
在基于图像的照明中向漫反射 BRDF 添加多重散射项。#12118
修复归一化错误。#11994
修复在相机接近地球表面时可能导致的深度冲突问题。#6783
修复 Camera.flyTo 在目标为带有 HeightReference 的实体时的行为。#10631
重大更改 📣
默认情况下,模型、大气和地球的色调映射从 ACES 切换为 Khronos 的 PBR 中性色调映射。这扩展了可能颜色的范围,并提供了更一致的颜色外观。#12160
当 HDR 打开时,默认的色调映射器从 ACES 切换为 Khronos 的 PBR 中性色调映射。要保留先前的行为,请设置 viewer.scene.postProcessStages.tonemapper = Cesium.Tonemapper.ACES;。#12160
SceneTransforms.wgs84ToWindowCoordinates 已被移除。请改用 SceneTransforms.worldToWindowCoordinates。
SceneTransforms.wgs84ToDrawingBufferCoordinates 已被移除。请改用 SceneTransforms.worldToDrawingBufferCoordinates。
移除了 VoxelPrimitive.js、VoxelRenderResources.js 中的抖动选项,以及 VoxelPrimitiveSpec.js 中的相关测试代码。#11913
在 ImageBasedLighting 中,自定义镜面环境贴图现在需要 WebGL2 上下文,或支持 EXT_shader_texture_lod 扩展 的 WebGL1 上下文。
1.120 – 2024-08-01
@cesium/engine
新增 🎉
新增 Transforms.computeIcrfToMoonFixedMatrix 和 Transforms.computeMoonFixedToIcrfMatrix,以计算月球固定框架与 ICRF 之间的变换。
新增 Transforms.computeIcrfToCentralBodyFixedMatrix,以指定默认的 ICRF 到固定框架的变换,包括内部使用的照明计算。
修复 🔧
修复基于图像的照明中环境贴图 LOD 选择错误。#12070
修正基于图像的照明中漫反射分量的计算。#12082
更新镜面 BRDF 以适应基于图像的照明。#12083
修复环境贴图变换错误。#12091
更新几何自阴影函数,以改善使用物理基础渲染的模型的直接照明。#12063
防止 Bing Imagery API 格式问题引发错误。#12094
1.119 – 2024-07-01
@cesium/engine
新增 🎉
新增 Ellipsoid.default,以便在 API 中未另行指定椭球体时,集中指定默认椭球体值。#4245
更新默认值,以便在将 Ellipsoid.default 更改为非 WGS84 椭球体时进行调整。
新增 Scene.ellipsoid、CesiumWidget.ellipsoid 和 Viewer.ellipsoid,以设置用于渲染的默认椭球体。
新增 SkyBox.createEarthSkyBox,用于创建带有默认星图的天空盒实例。
新增法线纹理的 scale 属性支持 glTF 材质。#12018
修复 🔧
修复 PBR 材质的漫反射颜色计算。许多模型现在看起来会稍微亮一些。#12043
修复使用 KHR_materials_specular 扩展的材质中基础颜色的计算错误。#12041。
修复实体未使用自定义椭球体的问题。#3543
调整屏幕上版权信息的间距,并更新自定义版权信息的位置建议。#11912
修复 TypeScript 中 CustomHeightmapTerrainProvider 的 availability 属性缺失的问题,但在 TerrainProvider 中是必需的。
重大更改 📣
CircleGeometry.unpack 现在默认使用 Ellipsoid.default,而不是 Ellipsoid.UNIT_SPHERE。
弃用 ⏳
SceneTransforms.wgs84ToDrawingBufferCoordinates 已被弃用。将于 1.121 中移除。请改用 SceneTransforms.worldToDrawingBufferCoordinates。
SceneTransforms.wgs84ToWindowCoordinates 已被弃用。将于 1.121 中移除。请改用 SceneTransforms.worldToWindowCoordinates。
@cesium/widgets
重大更改 📣
BaseLayerPicker 不再覆盖默认影像或地形,除非分别提供了 options.selectedImageryProviderViewModel 或 options.selectedTerrainProviderViewModel。
1.118.2 – 2024-06-03
此版本仅为 npm 发布,修复 1.118.1 中发布的依赖问题

1.118.1 – 2024-06-03
此版本仅为 npm 发布,修复 1.118 中发布的依赖问题

1.118 – 2024-06-03
@cesium/engine
新增 🎉
新增对 glTF 模型中 KHR_materials_specular 扩展 的支持。#11970
新增对 glTF 模型中 KHR_materials_anisotropy 扩展 的支持。#11988
新增对 glTF 模型中 KHR_materials_clearcoat 扩展 的支持。#12006
修复 🔧
修复 scene.pickPosition 在 depthTestAgainstTerrain 为 false 时相对于地球的返回结果不正确的问题。#4368
修复 TaskProcessor 工作线程加载时检查工作模块 ID 而不是绝对 URL 的错误。#11833
修复使用 CommonJS importScripts 填充而不是 ESM import 加载的跨域工作线程错误。#11833
修复基于图像的照明中环境贴图的镜面反射计算错误。#12008
修复图像基础照明中的归一化错误。#11994
修复在相机接近地球表面时可能导致的深度冲突问题。#6783
修复 Camera.flyTo 在目标为带有 HeightReference 的实体时的行为。#10631
1.117 – 2024-05-01
@cesium/engine
新增 🎉
新增 ClippingPolygon 和 ClippingPolygonCollection,用于向 3D Tiles 和地形应用多个剪辑区域,支持凹面区域和反向剪辑区域。#11750
新增 Cesium3DTileset.clippingPolygons、Globe.clippingPolygons 和 Model.clippingPolygons 属性,以从世界位置定义剪辑区域。#11750
修复 🔧
修复重置 Cesium3DTileset 为初始值时的错误。#12409
修复 ClippingPolygon.equals 函数的参数类型,并修复某些情况下未标记为“可选”的参数。#12394
修复对归一化 UNSIGNED_BYTE 或 UNSIGNED_SHORT 的顶点颜色的 Draco 解码。#12417
修复文档中带有 https 的 url basemap.nationalmap.gov。#12375
修复当 sinAngle < 1 时多段线的 expandWidth 值过大的问题。#12434
允许在多个内容中使用外部瓦片集。#12440
修复 ImageryLayer.fromProviderAsync 的类型,以正确显示参数 options 是可选的。#12400
修复设置 Viewer.selectedEntity 时的类型错误。#12303
1.116 – 2024-04-01
@cesium/engine
重大变更 📣
已移除 Cesium3DTileset.disableCollision。请改用 Cesium3DTileset.enableCollision。
已移除 Globe.terrainExaggeration 和 Globe.terrainExaggerationRelativeHeight。请改用 Scene.verticalExaggeration 和 Scene.verticalExaggerationRelativeHeight。
新增 🎉
现在在 VoxelEllipsoidShape 和 VoxelCylinderShape 中为裁剪和形状边界计算表面法线。 #11847
为圆柱和椭球形状的体素实现了更清晰的渲染和光照。 #11875
为盒形(BOX)体素实现了垂直夸张。 #11887
将验证器的 Check 对象添加到了公共 API 和类型中。 #11901
修复 🔧
修复了 BingMapsImageryProvider 中给定的 culture 选项无效的问题 #11695
修复了在场景中有多个 tileset 时的性能问题 #11878
修复了 PolygonGeometry 的 UVs 计算不正确的问题 #11767
修复了非球形椭球体形状的体素渲染错误 #11848
修复了在 requestRenderMode 下动态几何体导致 Scene 持续渲染的 bug #6631
1.115 – 2024-03-01
@cesium/engine
重大变更 📣
默认为 Cesium3DTileset 的实例将不再默认启用相机碰撞或用于实体贴地的碰撞。 #11829
可通过将 Cesium3DTileset.enableCollision 设置为 true 来启用此行为。
新增 🎉
添加了对 I3S Building Scene Layer 的支持。 #11678
添加了 Scene.pickVoxel 用于从 VoxelPrimitive 中拾取单个单元格,并添加了 VoxelCell 来报告被拾取单元的信息。 #11828
添加了 Scene.defaultLogDepthBuffer,允许更改为新创建 Scene 实例时 logDepthBuffer 的默认行为。 #11859
添加了 SensorVolumePortionToDisplay 以协助 CzmlDataSource 解析 CZML。 #11859
修复 🔧
修复了相机在 3D Tiles 加载时可能卡在地下的 bug。 #11824
修复了空与非空瓦片混合时未正确细化的问题。 #9356
修复了含交错缓冲区 tilesets 的相机碰撞 bug #11812
修复了影响 WebGL1 上体素着色器编译的 bug。 #11798
修复了 legacy B3DM 文件包含 glTF 1.0 数据且在 KHR_material_common 扩展中使用 CONSTANT 技术并且仅定义 ambient 或 emissive 纹理(但没有 diffuse 纹理)时纹理不会显示的问题 #11825
修复了在 screenSpaceEventHandler 在 Viewer 之前被销毁时产生的错误 #10576
修复了 Camera.changed 在处理 roll 变化时的行为。 #11844
弃用 ⏳
Cesium3DTileset.disableCollision 已被弃用,并将在 1.116 中移除。请改用 Cesium3DTileset.enableCollision。
@cesium/widgets
新增 🎉
添加了用于处理 I3S Building Scene Layer 数据的 I3SBuildingSceneLayerExplorer 小部件。 #11678
1.114 – 2024-02-01
@cesium/engine
重大变更 📣
默认情况下,屏幕空间相机控制器不再会进入或穿过 Cesium3DTileset 实例。 #11581
可通过将 Cesium3DTileset.disableCollision 设置为 true 来禁用此行为。
此功能仅在 WebGL 2 及以上默认启用,但可通过在创建 Cesium3DTileset 时设置 enablePick 选项为 true 在 WebGL 1 中启用。
贴地(HeightReference.CLAMP_TO_GROUND)和相对地面(HeightReference.RELATIVE_TO_GROUND)现在会考虑 3D Tilesets。这些选项将会相对于地形或 3D Tilesets 中高度更大的对象进行贴合。 #11604
若要恢复以前仅贴地形的行为,请将 heightReference 设置为 HeightReference.CLAMP_TO_TERRAIN 或 HeightReference.RELATIVE_TO_TERRAIN。
Resource 类不再需要 node 内部包 http、https、url 和 zlib。这意味着构建工具不再需要将它们标记为外部依赖。 #11773
这略微改变了在 node 环境中请求失败时抛出的 RequestErrorEvent 错误的 response 属性内容。现在 response 属性是一个 Response 对象,而不是 http.IncomingMessage。
Cesium3DTileset.dynamicScreenSpaceError 优化现在默认启用,这会提升街景级地平线视图性能。此外,此功能的默认设置已针对性能进行调整。Cesium3DTileset.dynamicScreenSpaceErrorDensity 从 0.00278 改为 0.0002。Cesium3DTileset.dynamicScreenSpaceErrorFactor 从 4 改为 24。 #11718
已移除 PolygonGeometry.computeRectangle。请改用 PolygonGeometry.computeRectangleFromPositions。
新增 🎉
添加了 HeightReference.CLAMP_TO_TERRAIN、HeightReference.RELATIVE_TO_TERRAIN、HeightReference.CLAMP_TO_3D_TILE 和 HeightReference.RELATIVE_TO_3D_TILE,用于仅相对于地形或 3D tilesets 进行定位。 #11604
添加了 Cesium3DTileset.getHeight 来采样已加载瓦片的高度值。若使用 WebGL 1,必须将 enablePick 选项设置为 true 才能使用该函数。 #11581
添加了 Cesium3DTileset.disableCollision,允许相机进入或穿过 3D tileset,例如用于 3D Tiles 内部场景。 #11581
雾(fog)现在会对 glTF 模型和 3D Tiles 生效。可通过 scene.fog 和 scene.atmosphere 配置。 #11744
添加了 scene.atmosphere 用于存储常见的大气光照参数。 #11744 和 #11681
添加了 createWorldBathymetryAsync 辅助函数,使加载 Bathymetry 地形更容易。 #11790
修复 🔧
修复了 DataSource 对象在 PolylineGeometryUpdater 中错误共享同一个 PolylineCollection 的问题。PolylineGeometryUpdater 现在为每个 DataSource 创建一个独立的 PolylineCollection 实例,解决了在 #7758 和 #9154 中报告的崩溃问题。
修复了 iOS 设备上由 czm_translateRelativeToEye 函数的 NaN 值引起的几何位移问题。 #7100
修复了 3D 模式下椭球内半径的缩放不正确问题。 #11656 和 #10245
更新了 approximateTerrainHeights.json 以考虑 CWB(Cesium World Bathymetry)高度,以帮助使用 Cesium World Bathymetry 时的地面基元。 #11805
修复了当 lighting 为 false 时的 globe 材质问题。坡度/方位材质不再依赖于开启 lighting 或 shadows。 #11563
修复了 GregorianDate 构造函数未验证输入参数为有效日期的 bug。 #10057
修复了 Cesium3DTileset 构造函数忽略选项 dynamicScreenSpaceError、dynamicScreenSpaceErrorDensity、dynamicScreenSpaceErrorFactor 和 dynamicScreenSpaceErrorHeightFalloff 的 bug。 #11677
修复了在 EXT_structural_metadata 中,使用 KHR_texture_transform 扩展定义的变换未应用于属性纹理的问题。 #11708
修复了在 EXT_mesh_features 中,使用 KHR_texture_transform 扩展定义的变换未应用于 Feature ID 纹理的问题。 #11731
修正了 Entity 文档中关于 orientation 属性的说明。 #11762
EntityCollection#add 方法在文档中被标注为在重复 ID 时抛出 DeveloperError,但实际抛出了 RuntimeError。现已改为抛出 DeveloperError。 #11776
文档的部分内容已更新以解决生成 TypeScript 定义时的潜在问题。 #11776
修复了 Camera.constrainedAxis 的类型定义。 #11475
@cesium/widgets
修复 🔧
修复了 Cesium3D Tiles Inspector 的 dynamicScreenSpaceErrorDensity 滑块未更新 tileset 的问题 #6143
1.113 – 2024-01-02
@cesium/engine
新增 🎉
现在可以对 Cesium3DTileset 应用垂直夸张。地形和 Cesium3DTileset 的夸张可以通过新的 Scene 属性 Scene.verticalExaggeration 和 Scene.verticalExaggerationRelativeHeight 同时控制。 #11655
修复 🔧
将 RequestScheduler.maximumRequestsPerServer 的默认值从 6 更改为 18。这应当能在 HTTP/2 及以上服务器上提升性能。 #11627
更正了 ImageryProvider 构造函数中将可选参数标记为必需参数的 JSDoc 和 TypeScript 定义。 #11625
Quaternion.computeAxis 在单位四元数时会返回 (1,0,0) 轴;对于 (0,0,0,-1)(表示 360 度旋转)同样返回 x 轴 (1,0,0),而非 (0,0,0) 或 NaN。 #11665
弃用 ⏳
Globe.terrainExaggeration 和 Globe.terrainExaggerationRelativeHeight 在 CesiumJS 1.113 中已被弃用。它们将在 1.116 中移除。请改用 Scene.verticalExaggeration 和 Scene.verticalExaggerationRelativeHeight。 #11655
1.112 – 2023-12-01
@cesium/engine
修复 🔧
通过确保 promise 处理符合 CesiumJS 的期望,修复了在 requestTileGeometry 中导致地形锁死的问题。 #11630
更正了 Cesium3dTileset.fromIonAssetId 和 IonImageryProvider.fromAssetId 中将可选参数标记为必需的 JSDoc 与 TypeScript 定义。 #11623, #11624
1.111 – 2023-11-01
@cesium/engine
新增 🎉
BingMapsImageryProvider.fromUrl 现在接受一个可选的 mapLayer 参数,该字符串直接映射到 Bing Maps 文档中指定的 mapLayer 模板参数。 #11485
修复 🔧
默认情况下,createGooglePhotorealistic3DTileset 不再在屏幕上显示 credits,而是将其链接到 credits(符合最小归属要求)。若要恢复先前行为,请传递选项 showCreditsOnScreen: true。 #11589
修复了与多边形孔洞渲染相关的问题。 #11583
修复了航向为 0 度的 rhumb 线错误。 #11573
修复了在模型矩阵具有非均匀缩放时 czm_normal、czm_normal3D、czm_inverseNormal 和 czm_inverseNormal3D 的问题。 #11553
修复了当 dataSource.show 切换时聚类标签的问题。 #11560
修复了当 dataSource.show 切换时聚类一致性的问题。 #11560
新增 🎉
添加了两个额外的默认影像提供者(Stadia maps 的 Alidade Smooth 和 Alidade Smooth Dark)到 BaseLayerPicker 小部件的默认列表中。 #11485
修复 🔧
在 ProviderViewModel.CreationFunction 的类型中修复了类型定义。 #11452
修复了 I3dmLoader 在 RTC_CENTER 为 ZERO 时手动计算位置的问题。 #11466
1.110.1 – 2023-10-25
@cesium/engine
重大变更 📣
CesiumJS 不再随带演示用的 Google Maps API 密钥。GoogleMaps.defaultApiKey 不再默认定义。

若未设置 GoogleMaps.defaultApiKey,createGooglePhotorealistic3DTileset 默认现在通过 Cesium ion 提供切片。

如果希望继续使用您自己的 Google Maps API 密钥,可以恢复之前的行为:

Cesium.GoogleMaps.defaultApiKey = “your-api-key”;

const tileset = await Cesium.createGooglePhotorealistic3DTileset();
viewer.scene.primitives.add(tileset));

1.110 – 2023-10-02
@cesium/engine
重大变更 📣
已移除 Cesium3DTileset.maximumMemoryUsage。请使用 Cesium3DTileset.cacheBytes 和 Cesium3DTileset.maximumCacheOverflowBytes。
新增 🎉
Worker 文件现在嵌入在 Build/Cesium/Cesium.js 和 Build/CesiumUnminified/Cesium.js 中。 #11519
添加了 PolygonGeometry.computeRectangleFromPositions 用于计算包围多边形的 Rectangle(包括跨越国际日期变更线和极点的情况)。
添加了用于在立体投影(或极坐标)中进行 2D 操作的 Stereographic。
为 PrimitiveCollection 添加了 primitive 添加/移除事件。 #11531
为 sampleTerrain 和 sampleTerrainMostDetailed 添加了可选的 rejectOnTileFail 参数,以便处理瓦片请求失败的情况。 #11530
修复 🔧
修复了渲染跨越 90 度或以上范围的多边形的问题。 #4871
修复了极点处地面基元多边形的视觉伪影。 #8033
修复了影响 Cesium3DTilePass 的 PRELOAD 通道的 bug。 #11525
修复了当 globe.show 初始化为 false 时 sky atmosphere 无法显示的问题。 #11266
修复了在跨源 Build/Cesium/Cesium.js 和 Build/CesiumUnminified/Cesium.js 请求中加载 worker 的问题。 #11505
修复了 Model 和 Cesium3DTileset credits 的 showOnScreen 行为。 #11538
移除了对 import.meta 元属性的读取,因为 webpack 不支持它。 #11511
修复了请求渲染模式下标签背景渲染的问题。 #11529
弃用 ⏳
PolygonGeometry.computeRectangle 在 CesiumJS 1.110 中已被弃用。请改用 PolygonGeometry.computeRectangleFromPositions。 #11519
1.109 – 2023-09-01
@cesium/engine
重大变更 📣
Firefox 114 现在是运行 CesiumJS 所需的最低 Firefox 版本。 #11400
TaskProcessor 现在以 ESM(而非 AMD)加载 worker 文件。 #11400
新增 🎉
为 OpenStreetMapImageryProvider 构造函数选项添加了 retinaTiles,允许为视网膜显示请求 2x 分辨率的图块。 #11485
defined 的 TypeScript 定义现在使用类型谓词,使 TypeScript 在编译时能使用结果。
修复 🔧
恢复了用于切割地形加载的先前行为。 #11482
修复了 SingleTileImageryProvider.fromUrl 的返回类型,应为 Promise.(之前为 void)。 #11432
修复了在模型加载且未使用 incrementallyLoadTextures 时请求渲染模式的行为。 #11486
@cesium/widgets
新增 🎉
为 BaseLayerPicker 小部件添加了两个来自 Stadia maps 的默认影像提供者:Alidade Smooth 和 Alidade Smooth Dark。 #11485
修复 🔧
在 ProviderViewModel.CreationFunction 的类型中修复了类型定义。 #11452
修复了 I3dmLoader 在 RTC_CENTER 为 ZERO 时手动计算位置的问题。 #11466
1.108 – 2023-08-01
主要公告 📢
从 1.109 版本开始,CesiumJS 将要求 Firefox 版本至少为 114,以便简化 web worker 加载并移除过时依赖项。有关详细信息请参阅 #11400。其他浏览器和 Node 不受影响。
@cesium/engine
修复 🔧
修复了地形有多层时加载更高 LOD 瓦片不一致的问题。 #11312
修复了 OpenStreetMapImageryProvider 在注释中的用法,变更默认 url 并将 tile.openstreetmap.org 添加到 RequestScheduler.requestsByServer。 #11407
修复了在地形高度为负的区域中 GroundPolyline 包围球的计算。 #11184
修复了 CzmlDataSource 在自定义 Ellipsoid.WGS84 定义下的问题。 #11190
修复了使用 KHR_texture_transform 扩展时纹理的 mipmaps 问题。 #11411
@cesium/widgets
修复 🔧
修复了 Geocoder 对于经纬度对(latitude,long)建议冲突的问题,通过从 GeocoderViewModel 默认 geocoder 服务中移除 CartographicGeocoderService。 #11433.
1.107.2 – 2023-07-13
这是一个仅针对 npm 的发布,用于修复 1.107.1 中的依赖问题。

1.107.1 – 2023-07-13
@cesium/engine
修复 🔧
修复了 Model 在 Cesium3DTileStyle 中对不同 alpha 值不响应的问题。 #11399
修复了自定义着色器中 tangentEC 的维度问题。 #11394
@cesium/widgets
修复 🔧
修复了使用 viewer.flyTo 导航到 ImageryLayer 时的 promise 返回值问题。 #11392
修复了 base layer picker 小部件中 depthTestAgainstTerrain 值被覆盖的问题。 #11393
1.107 – 2023-07-03
主要公告 📢
readyPromise 模式已在整个 API 中移除。这一更改旨在改善异步流程和错误处理。例如:
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});
}

@cesium/engine
重大变更 📣
CesiumWidget 构造选项 options.imageryProvider 已被移除。请使用 options.baseLayer。
已移除 ImageryProvider.ready 和 ImageryProvider.readyPromise。
已移除 ImageryProvider.defaultAlpha、ImageryProvider.defaultNightAlpha、ImageryProvider.defaultDayAlpha、ImageryProvider.defaultBrightness、ImageryProvider.defaultContrast、ImageryProvider.defaultHue、ImageryProvider.defaultSaturation、ImageryProvider.defaultGamma、ImageryProvider.defaultMinificationFilter、ImageryProvider.defaultMagnificationFilter。请改用 ImageryLayer.alpha、ImageryLayer.nightAlpha、ImageryLayer.dayAlpha、ImageryLayer.brightness、ImageryLayer.contrast、ImageryLayer.hue、ImageryLayer.saturation、ImageryLayer.gamma、ImageryLayer.minificationFilter、ImageryLayer.magnificationFilter。
已移除 ImageryLayer.getViewableRectangle。请使用 ImageryLayer.getImageryRectangle。
ArcGisMapServerImageryProvider 构造参数 url、ArcGisMapServerImageryProvider.ready 和 ArcGisMapServerImageryProvider.readyPromise 已被移除。请使用 ArcGisMapServerImageryProvider.fromUrl。
BingMapsImageryProvider 构造参数 url、BingMapsImageryProvider.ready 和 BingMapsImageryProvider.readyPromise 已被移除。请使用 BingMapsImageryProvider.fromUrl。
GoogleEarthEnterpriseImageryProvider 构造参数 options.url 和 options.metadata、GoogleEarthEnterpriseImageryProvider.ready 和 GoogleEarthEnterpriseImageryProvider.readyPromise 已被移除。请使用 GoogleEarthEnterpriseImageryProvider.fromMetadata。
GoogleEarthEnterpriseMapsProvider 构造参数 options.url 和 options.channel、GoogleEarthEnterpriseMapsProvider.ready 和 GoogleEarthEnterpriseMapsProvider.readyPromise 已被移除。请使用 GoogleEarthEnterpriseMapsProvider.fromUrl。
GridImageryProvider.ready 和 GridImageryProvider.readyPromise 已被移除。
IonImageryProvider 构造参数 assetId、IonImageryProvider.ready 和 IonImageryProvider.readyPromise 已被移除。请使用 IonImageryProvider.fromAssetId。
MapboxImageryProvider.ready 和 MapboxImageryProvider.readyPromise 已被移除。
MapboxStyleImageryProvider.ready 和 MapboxStyleImageryProvider.readyPromise 已被移除。
OpenStreetMapImageryProvider.ready 和 OpenStreetMapImageryProvider.readyPromise 已被移除。
SingleTileImageryProvider 构造参数 options.tileHeight 和 options.tileWidth 在 CesiumJS 1.104 中变为必需。若省略这些属性将在 1.107 引发错误。请提供 options.tileHeight 和 options.tileWidth,或使用 SingleTileImageryProvider.fromUrl。
SingleTileImageryProvider.ready 和 SingleTileImageryProvider.readyPromise 已被移除。请使用 SingleTileImageryProvider.fromUrl。
TileCoordinatesImageryProvider.ready 和 TileCoordinatesImageryProvider.readyPromise 已被移除。
TileMapServiceImageryProvider 构造参数 options.url、TileMapServiceImageryProvider.ready 和 TileMapServiceImageryProvider.readyPromise 已被移除。请使用 TileMapServiceImageryProvider.fromUrl。
已移除 UrlTemplateImageryProvider.reinitialize、UrlTemplateImageryProvider.ready 和 UrlTemplateImageryProvider.readyPromise。
WebMapServiceImageryProvider.ready 和 WebMapServiceImageryProvider.readyPromise 已被移除。
WebMapTileServiceImageryProvider.ready 和 WebMapTileServiceImageryProvider.readyPromise 已被移除。
TerrainProvider.ready 和 TerrainProvider.readyPromise 已被移除。
createWorldImagery 已被移除。请使用 createWorldImageryAsync。
ArcGISTiledElevationTerrainProvider 构造参数 options.url、ArcGISTiledElevationTerrainProvider.ready、ArcGISTiledElevationTerrainProvider.readyPromise 已被移除。请使用 ArcGISTiledElevationTerrainProvider.fromUrl。
CesiumTerrainProvider 构造参数 options.url、CesiumTerrainProvider.ready、CesiumTerrainProvider.readyPromise 已被移除。请使用 CesiumTerrainProvider.fromIonAssetId 或 CesiumTerrainProvider.fromUrl。
CustomHeightmapTerrainProvider.ready 和 CustomHeightmapTerrainProvider.readyPromise 在 1.104 中已被弃用。
EllipsoidTerrainProvider.ready 和 EllipsoidTerrainProvider.readyPromise 在 1.104 中已被弃用。
GoogleEarthEnterpriseMetadata 构造参数 options.url 和 GoogleEarthEnterpriseMetadata.readyPromise 已被移除。请使用 GoogleEarthEnterpriseMetadata.fromUrl。
GoogleEarthEnterpriseTerrainProvider 构造参数 options.url 和 options.metadata、GoogleEarthEnterpriseTerrainProvider.ready、GoogleEarthEnterpriseTerrainProvider.readyPromise 已被移除。请使用 GoogleEarthEnterpriseTerrainProvider.fromMetadata。
VRTheWorldTerrainProvider 构造参数 options.url、VRTheWorldTerrainProvider.ready、VRTheWorldTerrainProvider.readyPromise 已被移除。请使用 VRTheWorldTerrainProvider.fromUrl。
createWorldTerrain 已被移除。请使用 createWorldTerrainAsync。
Cesium3DTileset 构造参数 options.url、Cesium3DTileset.ready 和 Cesium3DTileset.readyPromise 已被移除。请使用 Cesium3DTileset.fromUrl。
createOsmBuildings 已被移除。请使用 createOsmBuildingsAsync。
Model.fromGltf、Model.readyPromise 和 Model.texturesLoadedPromise 已被移除。请使用 Model.fromGltfAsync、Model.readyEvent、Model.errorEvent 和 Model.texturesReadyEvent。例如:
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 构造参数 options.url、I3SDataProvider.ready 和 I3SDataProvider.readyPromise 已被移除。请使用 I3SDataProvider.fromUrl。
TimeDynamicPointCloud.readyPromise 已被移除。请使用 TimeDynamicPointCloud.frameFailed 来跟踪任何错误。
VoxelProvider.ready 和 VoxelProvider.readyPromise 已被移除。
VoxelPrimitive.readyPromise 已被移除。
Cesium3DTilesVoxelProvider 构造参数 options.url、Cesium3DTilesVoxelProvider.ready 和 Cesium3DTilesVoxelProvider.readyPromise 已被移除。请使用 Cesium3DTilesVoxelProvider.fromUrl。
Primitive.readyPromise、ClassificationPrimitive.readyPromise、GroundPrimitive.readyPromise 和 GroundPolylinePrimitive.readyPromise 已被移除。请等待 Primitive.ready、ClassificationPrimitive.ready、GroundPrimitive.ready 或 GroundPolylinePrimitive.ready 返回 true。
CreditDisplay.addCredit、CreditDisplay.addDefaultCredit 和 CreditDisplay.removeDefaultCredit 已被移除。请分别使用 CreditDisplay.addCreditToNextFrame、CreditDisplay.addStaticCredit 和 CreditDisplay.removeStaticCredit。
新增 🎉
添加了 Cesium3DTileset.cacheBytes 和 Cesium3DTileset.maximumCacheOverflowBytes,以便更好地控制内存使用。要复制以前的行为,请将 maximumMemoryUsage 从 MB 转换为字节,赋值给 cacheBytes,并将 maximumCacheOverflowBytes = Number.MAX_VALUE。
修复 🔧
修复了 CzmlDataSource 在隐藏 3D tileset 实体时崩溃的问题。 #11357
修复了影响点云衰减的 PostProcessStage 崩溃。 #11339
修复了加载切割地形时的竞争条件。 #11382
修复了 Cesium3dTilesInspector 中的调试标签渲染问题。 #11355
修复了即使图层隐藏时也显示影像图层的 credits。 #11340
修复了在渲染 3dtiles 时抛出的“缓冲区大小不足”错误。 #11358
弃用 ⏳
Cesium3DTileset.maximumMemoryUsage 在 CesiumJS 1.107 中已被弃用。它将在 1.110 中移除。请使用 Cesium3DTileset.cacheBytes 和 Cesium3DTileset.maximumCacheOverflowBytes 代替。 #11310
@cesium/widgets
重大变更 📣
Viewer 构造选项 options.imageryProvider 在 CesiumJS 1.104 中被弃用,并将在 1.107 中移除。请使用 options.baseLayer。
1.106.1 – 2023-06-02
这是一个仅用于 npm 的发布,用来修复 1.106 中的依赖问题。

1.106 – 2023-06-01
@cesium/engine
修复 🔧
修复了标签背景渲染问题。 #11293
修复了使用现代“空格分隔”语法的 CSS 颜色字符串创建颜色的问题。 #11271
修复了跟踪实体的相机控制问题。 #11286
修复了加载裁切地形时的竞态条件。 #11296
修复了自定义地形和影像提供者的异步行为问题。 #11274
1.105.2 – 2023-05-15
这是一个仅用于 npm 的发布,用来修复 1.105.1 中的依赖问题。
1.105.1 – 2023-05-10
@cesium/engine
新增 🎉
添加了 createGooglePhotorealistic3DTileset,用于创建流式 Google Photorealistic 3D Tiles 的 3D 瓦片集。
添加了 GoogleMaps,用于在从 Google Map Tiles API 加载数据时管理凭证。
修复 🔧
改善了在关闭地球(globe)时的相机控制。 #7171
1.105 – 2023-05-01
@cesium/engine
新增 🎉
添加了 ArcGisMapServerImagery.fromBasemapType、ArcGisBaseMapType 和 ArcGisMapService,以便更方便地使用最新 ArcGIS Imagery API。 #11098
添加了 CesiumWidget.creditDisplay,以访问屏幕和灯箱(lightbox)中的版权信息。 #11241
添加了 CreditDisplay.addStaticCredit 和 CreditDisplay.removeStaticCredit,使 Credit.showOnScreen 值被考虑在内。 #6215
为 Model.loadGltfAsync 添加了 options.gltfCallback,以允许应用访问已加载的 glTF JSON。 #11240
为 GeocoderService.Result 添加了 GeocoderService.credit 和 attributions 属性,以便地理编码服务可以为结果提供归属信息。 #11256
修复 🔧
修复了重复 URI 解析导致 3D Tiles 性能变慢的问题。配合 #11211,在大型瓦片集上可将解析时间减少多达 25%。 #11197
修复了大气渲染性能问题。 #10510
修复了在没有地球(globe)时缩放到实体(entity)会崩溃的问题。 #10957
修复了在定义了 emissiveTexture 但没有 emissiveFactor 时的模型渲染问题。 #11215
修复了在立即连续调用 switchToOrthographicFunction 和 camera.flyTo 时的问题。 #11210
修复了在正交视景(orthographic frustum)下缩放时出现的问题。 #11206
修复了当 Cesium3DTileStyle 的 scaleByDistance、translucencyByDistance 或 distanceDisplayCondition 设置为返回 undefined 的 StyleExpression 时的崩溃。 #11228
修复了将着色器从 GLSL 转换为 WebGL1 时对 out_FragColor 布局声明的处理。 #11230
修复了影响部分 MacOS 硬件的环境遮蔽(Ambient Occlusion)问题。 #10106
修复了自定义着色器中 UniformType.MAT3 的值问题。 #11235
弃用 ⏳
CreditDisplay.addCredit、CreditDisplay.addDefaultCredit 和 CreditDisplay.removeDefaultCredit 在 CesiumJS 1.105 中已被弃用。它们将在 1.107 中移除。请分别使用 CreditDisplay.addCreditToNextFrame、CreditDisplay.addStaticCredit 和 CreditDisplay.removeStaticCredit。 #11241
@cesium/widgets
新增 🎉
添加了 Viewer.creditDisplay,以访问屏幕和灯箱中的版权信息。 #11241
Geocoder 小部件现在会在屏幕或灯箱中显示地理编码结果的归属信息(若存在),否则若提供了地理编码服务则显示默认归属。 #11256
修复 🔧
修复了生成的 TypeScript 定义中缺失的 ContextOptions。 #10963
1.104 – 2023-04-03
重大公告 📢
从 CesiumJS 1.104 开始,readyPromise 模式已在整个 API 中弃用。它将在 CesiumJS 1.107 中被移除。此举旨在促进更好的异步流程和错误处理。例如:
try {
const tileset = await Cesium.Cesium3DTileset.fromUrl(url);
viewer.scene.primitives.add(tileset);
} catch (error) {
console.log(Failed to load tileset: ${error});
}

@cesium/engine
新增功能 🎉
新增了 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 和 Cesium3DTilesVoxelProvider.fromUrl,以实现更好的异步流程和错误处理。#11059
向 cesium ion 的请求发送 X-Cesium-* 请求头。#11200
修复 🔧
修复了在 Entity 构造函数选项中传递 children 会覆盖子元素的问题。#11101
修正了 Resource.retryCallback 中的错误类型为 RequestErrorEvent。#11177
修复了通过 DebugCameraPrimitive 渲染 OrthographicFrustum 几何体时的问题。#11159
修复了 RequestScheduler 限流覆盖中的 ion URL。#11193
修复了 SingleTileImageryProvider 在 show 为 false 时仍然获取图片的问题,通过在构造函数中提供 tileWidth 和 tileHeight,允许 SingleTileImageryProvider 懒加载。#9529
修复了异步操作导致的各种竞态条件。#10909
弃用 ⏳
CesiumWidget 构造函数选项 options.imageryProvider 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 options.baseLayer。
ImageryProvider.ready 和 ImageryProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。
ImageryProvider.defaultAlpha、ImageryProvider.defaultNightAlpha、ImageryProvider.defaultDayAlpha、ImageryProvider.defaultBrightness、ImageryProvider.defaultContrast、ImageryProvider.defaultHue、ImageryProvider.defaultSaturation、ImageryProvider.defaultGamma、ImageryProvider.defaultMinificationFilter、ImageryProvider.defaultMagnificationFilter 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 ImageryLayer.alpha、ImageryLayer.nightAlpha、ImageryLayer.dayAlpha、ImageryLayer.brightness、ImageryLayer.contrast、ImageryLayer.hue、ImageryLayer.saturation、ImageryLayer.gamma、ImageryLayer.minificationFilter、ImageryLayer.magnificationFilter。
ImageryLayer.getViewableRectangle 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 ImageryLayer.getImageryRectangle。
ArcGisMapServerImageryProvider 构造参数 url、ArcGisMapServerImageryProvider.ready 和 ArcGisMapServerImageryProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 ArcGisMapServerImageryProvider.fromUrl。
BingMapsImageryProvider 构造参数 url、BingMapsImageryProvider.ready 和 BingMapsImageryProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 BingMapsImageryProvider.fromUrl。
GoogleEarthEnterpriseImageryProvider 构造参数 options.url 和 options.metadata、GoogleEarthEnterpriseImageryProvider.ready 和 GoogleEarthEnterpriseImageryProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 GoogleEarthEnterpriseImageryProvider.fromMetadata。
GoogleEarthEnterpriseMapsProvider 构造参数 options.url 和 options.channel、GoogleEarthEnterpriseMapsProvider.ready 和 GoogleEarthEnterpriseMapsProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 GoogleEarthEnterpriseMapsProvider.fromUrl。
GridImageryProvider.ready 和 GridImageryProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。
IonImageryProvider 构造参数 assetId、IonImageryProvider.ready 和 IonImageryProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 IonImageryProvider.fromAssetId。
MapboxImageryProvider.ready 和 MapboxImageryProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。
MapboxStyleImageryProvider.ready 和 MapboxStyleImageryProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。
OpenStreetMapImageryProvider.ready 和 OpenStreetMapImageryProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。
SingleTileImageryProvider 构造参数 options.tileHeight 和 options.tileWidth 在 CesiumJS 1.104 中变为必填项,1.107 中省略这些属性将导致错误。请提供 options.tileHeight 和 options.tileWidth,或使用 SingleTileImageryProvider.fromUrl。
SingleTileImageryProvider.ready 和 SingleTileImageryProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 SingleTileImageryProvider.fromUrl。
TileCoordinatesImageryProvider.ready 和 TileCoordinatesImageryProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。
TileMapServiceImageryProvider 构造参数 options.url、TileMapServiceImageryProvider.ready 和 TileMapServiceImageryProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 TileMapServiceImageryProvider.fromUrl。
UrlTemplateImageryProvider.reinitialize、UrlTemplateImageryProvider.ready 和 UrlTemplateImageryProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。
WebMapServiceImageryProvider.ready 和 WebMapServiceImageryProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。
WebMapTileServiceImageryProvider.ready 和 WebMapTileServiceImageryProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。
TerrainProvider.ready 和 TerrainProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。
createWorldImagery 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 createWorldImageryAsync。
ArcGISTiledElevationTerrainProvider 构造参数 options.url、ArcGISTiledElevationTerrainProvider.ready 和 ArcGISTiledElevationTerrainProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 ArcGISTiledElevationTerrainProvider.fromUrl。
CesiumTerrainProvider 构造参数 options.url、CesiumTerrainProvider.ready 和 CesiumTerrainProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 CesiumTerrainProvider.fromIonAssetId 或 CesiumTerrainProvider.fromUrl。
CustomHeightmapTerrainProvider.ready 和 CustomHeightmapTerrainProvider.readyPromise 在 CesiumJS 1.104 中已弃用。
EllipsoidTerrainProvider.ready 和 EllipsoidTerrainProvider.readyPromise 在 CesiumJS 1.104 中已弃用。
GoogleEarthEnterpriseMetadata 构造参数 options.url 和 GoogleEarthEnterpriseMetadata.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 GoogleEarthEnterpriseMetadata.fromUrl。
GoogleEarthEnterpriseTerrainProvider 构造参数 options.url 和 options.metadata、GoogleEarthEnterpriseTerrainProvider.ready 和 GoogleEarthEnterpriseTerrainProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 GoogleEarthEnterpriseTerrainProvider.fromMetadata。
VRTheWorldTerrainProvider 构造参数 options.url、VRTheWorldTerrainProvider.ready 和 VRTheWorldTerrainProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 VRTheWorldTerrainProvider.fromUrl。
createWorldTerrain 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 createWorldTerrainAsync。
Cesium3DTileset 构造参数 options.url、Cesium3DTileset.ready 和 Cesium3DTileset.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 Cesium3DTileset.fromUrl。
createOsmBuildings 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 createOsmBuildingsAsync。
Model.fromGltf、Model.readyPromise 和 Model.texturesLoadedPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 Model.fromGltfAsync、Model.readyEvent、Model.errorEvent 和 Model.texturesReadyEvent。例如:
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 构造参数 options.url、I3SDataProvider.ready 和 I3SDataProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 I3SDataProvider.fromUrl。
TimeDynamicPointCloud.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请使用 TimeDynamicPointCloud.frameFailed 跟踪错误。
VoxelProvider.ready 和 VoxelProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。
Cesium3DTilesVoxelProvider 构造参数 options.url、Cesium3DTilesVoxelProvider.ready 和 Cesium3DTilesVoxelProvider.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 Cesium3DTilesVoxelProvider.fromUrl。
Primitive.readyPromise、ClassificationPrimitive.readyPromise、GroundPrimitive.readyPromise 和 GroundPolylinePrimitive.readyPromise 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请等待 Primitive.ready、ClassificationPrimitive.ready、GroundPrimitive.ready 或 GroundPolylinePrimitive.ready 返回 true。
@cesium/widgets
修复 🔧
修复了 Cesium.Viewer 在 lit 组件中实例化时:CreditDisplay 缺少样式的问题。#10907
修复了 Viewer.ConstructorOptions 中允许 imageryProvider 为 false。#11179
弃用 ⏳
Viewer 构造函数选项 options.imageryProvider 在 CesiumJS 1.104 中已弃用,将在 1.107 中移除。请改用 options.baseLayer。
1.103 – 2023-03-01
@cesium/engine
新增功能 🎉
新增鼠标滚轮平滑缩放。#11062
启用 BOX 形状体素的照明。#11076
修复 🔧
修复了浏览器关于 willReadFrequently 选项的警告。#11025
在 JSDoc 和生成的 TypeScript 定义中将构造函数类型替换为原始类型。#11080
调整了体素和不透明实体的渲染顺序。#11120
修复了 BOX 形状体素边缘的伪影。#11050
修复了粒子系统初始纹理可见性。#11099
修复了 Primitive.getGeometryInstanceAttributes 缓存获取速度。#11066
修复了 context 中 requestWebgl1 提示错误。#11082
@cesium/widgets
修复 🔧
在 JSDoc 和生成的 TypeScript 定义中将构造函数类型替换为原始类型。#11080
1.102 – 2023-02-01
重大公告 📢
CesiumJS 现在默认使用 WebGL2 上下文进行渲染。WebGL2 在所有平台上广泛支持,这将带来更好的设备兼容性,尤其是移动端。
WebGL1 仍然支持。如果 WebGL2 不可用,CesiumJS 会自动回退到 WebGL1。
若要在 WebGL2 上下文中工作,任何自定义材质、自定义图元或自定义着色器都需要升级为 GLSL 300。
若需请求 WebGL 1 上下文,请在提供 ContextOptions 时设置 requestWebgl1 为 true,如下所示:
const viewer = new Viewer(“cesiumContainer”, {
contextOptions: {
requestWebgl1: true,
},
});

@cesium/engine
新增功能 🎉
新增 FeatureDetection.supportsWebgl2 用于检测当前浏览器是否支持 WebGL2 渲染上下文。
修复 🔧
修复了标签背景渲染。#11040
修复了解码 glTF Draco 属性时量化位数超过 16 的 bug。#7471
修复了 viewer.flyTo 在飞向某些地形提供者的影像图层时的边界情况。#10937
修复了地形采样时,如果某些点因超出矩形范围而位置未定义导致的崩溃。#10931
修复了未将比例应用于顶层 tileset 几何误差的 bug。#11047
更新了 Bing Maps 顶部页面超链接为 Bing Maps ToU 超链接。#11049
1.101 – 2023-01-02
重大公告 📢
从 1.102 版本开始,CesiumJS 默认使用 WebGL2 上下文进行渲染。WebGL2 在所有平台上广泛支持,这将带来更好的设备兼容性,尤其是移动端。
WebGL1 仍然支持。如果 WebGL2 不可用,CesiumJS 会自动回退到 WebGL1。
若要在 WebGL2 上下文中工作,任何自定义材质、自定义图元或自定义着色器都需要升级为 GLSL 300。
若需请求 WebGL 1 上下文,请在提供 ContextOptions 时设置 requestWebgl1 为 true,如下所示:
const viewer = new Viewer(“cesiumContainer”, {
contextOptions: {
requestWebgl1: true,
},
});

@cesium/engine
新增功能 🎉
Globe 新增 vertexShadowDarkness 参数,用于控制启用地形照明时顶点阴影的暗度。#10914
对 3D Tiles 体素的实验性支持,采用 3DTILES_content_voxels 扩展。当前实现仅供开发使用,体素格式尚未最终确定,未来可能有破坏性变更且不做弃用提示。
修复 🔧
修复了设置 scaleByDistance 为 NearFarScalar 时 PointPrimitive 的缩放比例错误。#10912
修复了混合 Draco 和非 Draco 属性的 glTF 模型。#10936
修复了带有 alignedAxis 属性的广告牌在 2D 和 Columbus View 下未正确对齐的问题。#10965
修复了从 URI 加载 *.ktx2 图片失败的问题。#10869
修复了在 Columbus View 下加载 Model 时模型偶尔消失的问题。#10945
修复了 GpxDataSource 的实体集合未设置 owner 属性的问题。#10921
修复了 Matrix2.multiplyByScalar、Matrix3.multiplyByScalar 及 S2Cell 类中多个函数的 JSDoc 和 TypeScript 定义参数。#10899
修复了 TypeScript 定义中遗漏 result 参数的问题。#10864
弃用 ⏳
ContextOptions.requestWebgl2 在 CesiumJS 1.101 中已弃用,将在 1.102 中移除。CesiumJS 将默认使用 WebGL2 上下文进行渲染。请使用 ContextOptions.requestWebgl1 请求 WebGL1 或 WebGL2 上下文。
@cesium/widgets
新增功能 🎉
新增 viewerVoxelInspectorMixin 和 VoxelInspector,以支持实验性 3D Tiles 体素。
1.100 – 2022-12-01
重大公告 📢
CesiumJS 现与两个更小的包 @cesium/engine 和 @cesium/widgets 一同发布 #10824:
源代码已分为两个文件夹:packages/engine 和 packages/widgets。
这些工作区包将遵循语义化版本。
这些工作区包将以 ES 模块和 TypeScript 定义发布。
合并版 CesiumJS 发布时,Source 文件夹仅包含以下内容:
Cesium.js
Cesium.d.ts
Assets
ThirdParty
Widgets(仅 CSS 文件)
不再支持从单独文件导入模块和 TypeScript 定义。任何导入应来自 cesium 模块(import { Cartesian3 } from “cesium”;)或合并的 Cesium.js 文件(import { Cartesian3 } from “Source/Cesium.js”;);
重大变更 📣
KmlTour.prototype.play 的 viewer 参数已移除。请传递 CesiumWidget 而非 Viewer。#10845
1.99 – 2022-11-01
重大公告 📢
从 1.100 版本开始,CesiumJS 将与两个更小的包 @cesium/engine 和 @cesium/widgets 一同发布 #10824:
源代码已分为两个文件夹:packages/engine 和 packages/widgets。
这些工作区包将遵循语义化版本。
这些工作区包将以 ES 模块和 TypeScript 定义发布。
合并版 CesiumJS 发布时,Source 文件夹仅包含以下内容:
Cesium.js
Cesium.d.ts
Assets
ThirdParty
Widgets(仅 CSS 文件)
不再支持从单独文件导入模块和 TypeScript 定义。任何导入应来自 cesium 模块(import { Cartesian3 } from “cesium”;)或合并的 Cesium.js 文件(import { Cartesian3 } from “Source/Cesium.js”;);
重大变更 📣
移除了 requestAnimationFrame 和 cancelAnimationFrame polyfill。请使用原生浏览器方法。#10579
新增功能 🎉
支持 I3S 3D Object 和 IntegratedMesh 图层。#9634
弃用 ⏳
KmlTour.prototype.play 的 viewer 参数在 Cesium 1.99 中已弃用,将在 1.100 中移除。请传递 CesiumWidget 而非 Viewer。#10845
修复 🔧
修复了 Model 的缩放错误应用于包围球的问题。#10855
修复了在不支持镜面环境贴图时渲染带有基于图像照明的 Model 崩溃的问题。#10859
修复了添加地面图元后请求渲染模式失效的问题。#10756
1.98.1 – 2022-10-03
这是一个仅用于修复 1.98 版本错误发布的 npm 版本。
1.98 – 2022-10-03
重大变更 📣
从上一个版本(1.97)开始,new Model() 为内部构造函数,禁止直接使用。请改用 Model.fromGltf()。#10778
移除了 Cesium3DTileFeature、Cesium3DTilePointFeature 和 ModelFeature 的 .getPropertyNames 方法。请改用 .getPropertyIds 方法。
新增功能 🎉
支持部分 glTF 1.0 模型中的 WEB3D_quantized_attributes 扩展。#10758
修复 🔧
修复了无法渲染无法法线的实例化模型。#10765
修复了带有缩放但无旋转的 i3dm 渲染错误。#10808
修复了实例化 feature ID 处理错误。#10771
修复了 Cesium3DTileFeature.setProperty() 未为未知属性 ID 创建属性的问题。#10775
修复了 pnts 瓦片带有 3DTILES_draco_point_compression 且量化位数 <= 8 时渲染错误。#10794
修复了 glTF 模型带有未使用节点时崩溃的问题。#10813
修复了 tileset 在多个 Viewer 中无法加载的问题。#10828
修复了当 Viewer.trackedEntity 为带有非 NONE 高度参考的 ModelGraphics 时,摄像机无法跟随的问题。#10805
修复了对 Model 附加的 ClippingPlaneCollection 调用 removeAll 时崩溃的问题。#10827
修复了将 Model 的 ClippingPlaneCollection 替换为长度相同的新集合时崩溃的问题。#10831
修复了 KML 的 NetworkLink 设置 viewRefreshMode==‘onRegion’ 时导致 Cesium 发起大量资源请求并可能触发内存溢出的问题。#10790
修复了在渲染更新前调用 Vector3DTileContent.getFeature 可能返回空的问题。#10819
1.97 – 2022-09-01
重大公告 📢
CesiumJS 已切换到新的 glTF 模型和 tileset 加载架构,以支持:
用户自定义 GLSL 着色器(通过 CustomShader)
支持 3D Tiles Next 元数据扩展:EXT_structural_metadata、EXT_mesh_features 和 EXT_instance_features
支持 EXT_mesh_gpu_instancing
支持 EXT_meshopt_compression
纹理跨瓦片缓存
多项 bug 修复
新 glTF 架构使用说明:
使用 ModelExperimental.fromGltf() 的用户应改用 Model.fromGltf()。
enableModelExperimental 标志已移除,tileset 和实体始终使用新架构。
新实现的 Model 与之前使用相同的公共 API,无需其他更改。
重大变更 📣
不再完全支持 glTF 1.0 资源。glTF 1.0 技术会尽可能转换为 PBR 材质,但更复杂的技术将无法正常工作。如需自定义 GLSL 着色器,请使用 CustomShader。#10648
glTF 2.0 扩展 KHR_techniques_webgl 和 KHR_materials_common 也不再完全支持。材质会尽可能转换为 PBR 材质。
移除了在 CPU 上渲染实例化模型的支持。
移除了 Model.gltf、Model.basePath、Model.pendingTextureLoads(属性)和 Model.dequantizeInShader(构造参数)。
移除了 ModelMesh 和 ModelMaterial。
new Model() 为内部构造函数,禁止直接使用。请改用 Model.fromGltf()。#10778
新增功能 🎉
Model 现在可以通过指定 classificationType 对其他资源进行分类。#10623
Model 现支持点云背面剔除。#10703
导出 CSS 等资源文件到 package.json,允许打包工具无需额外配置即可导入。#9212
package.json 现已指定 sideEffects 字段,允许如 Webpack 等更保守的打包工具默认启用 tree shaking。#10714
Model 实体现支持 CustomShader。#10747
修复 🔧
修复了 Viewer.flyTo 在目标为带有 HeightReference.CLAMP_TO_GROUND 或 HeightReference.RELATIVE_TO_GROUND 的 ModelGraphics 实体时摄像机可能进入地下的问题。#10631
修复了在 Node.js 下使用 ES 模块运行 CesiumJS 的问题。#10684
修复了实例化模型照明错误。#10690
修复了 Camera.flyTo 传递 orientation 且 destination 为 Rectangle 时的开发者错误。#10704
修复了点格式为 .vctr 时,点未显示直到被拾取或样式化的问题。#10707
修复了带有 KHR_mesh_quantization 和归一化位置的 glTF 模型包围体积计算错误。#10741
1.96 – 2022-08-01
重大公告 📢
构建后的 Cesium.js 不再为 AMD 格式。根据你的应用方式,这可能是破坏性变更。详情请见我们的 博客。#10399
构建后的 Cesium.js 从 12.5MB 缩减至 8.4MB(未压缩),从 4.3MB 缩减至 3.6MB(压缩)。Cesium.js.map 从 22MB 缩减至 17.2MB。
若需从合并文件 Build/Cesium/Cesium.js 或 Build/CesiumUnminified/Cesium.js 导入 ESM,请改用 Build/Cesium/index.js 或 Build/CesiumUnminified/index.js。
从 Source 使用 ESM 需打包工具解析第三方 node 依赖。
CESIUM_BASE_URL 应设置为 Build/Cesium 或 Build/CesiumUnminified。
重大变更 📣
Model.boundingSphere 现在返回 ECEF 坐标系下的包围球,而非本地坐标系。#10589
移除了 Cesium3DTileStyle.readyPromise 和 Cesium3DTileStyle.ready。如需从 url 加载样式,请使用 Cesium3DTileStyle.fromUrl。#10348
新增功能 🎉
支持使用 CESIUM_primitive_outline 扩展的模型和 tileset 可在运行时切换轮廓线,并可通过 outlineColor 属性控制轮廓颜色。#10506
新增可选 blurActiveElementOnCanvasFocus 选项,用于设置与 canvas 交互时是否失焦当前活动元素。#10518
新增 ModelExperimental.getNode,允许用户在运行时修改模型节点变换。#10540
支持使用 ModelExperimental 加载的 tileset 点云样式。#10569
earcut 升级至 2.2.4,三角剖分性能提升 10-15%。#10593
修复 🔧
修复了加载带有 EXT_mesh_features 和 EXT_structural_metadata 扩展但无 channels 属性的 glTF 模型崩溃。#10511
修复了 3D Tiles Feature Styling sandcastle 使用 ModelExperimental 时崩溃。#10514
修复了 ModelExperimental 中双面材质处理错误。#10507
修复了 model.color 的 alpha 分量在 3D Models Coloring sandcastle 使用 ModelExperimental 时未更新的问题。#10519
修复了 .cmpt 文件在 ModelExperimental 中未正确缓存的问题。#10524
修复了 3D Tiles Formats sandcastle 加载 draco 压缩点云时 ModelExperimental 崩溃。#10521
修复了 ModelExperimental 中每要素后处理未生效的问题。#10528
修复了在跨域隔离环境下运行 CesiumJS 时 loadAndExecuteScript 错误及 sandcastle 收藏图标丢失。#10515
修复了 Viewer.zoomTo 在 Cesium3DTileset 加载失败时持续抛出错误的问题。#10523
修复了 tileset 隐藏时应用样式后样式未生效的问题。#10582
修复了 .i3dm 模型量化位置未被 ModelExperimental 正确加载的问题。#10598
修复了动态几何未标记为 ready 的 bug。#10517
弃用 ⏳
在 CPU 上渲染实例化模型的支持已弃用,将在 CesiumJS 1.97 中移除。#10589
requestAnimationFrame 和 cancelAnimationFrame polyfill 已弃用,将在 1.99 中移除。请使用原生浏览器方法。#10579
1.95 – 2022-07-01
重大的变更 📣
使用 ModelExperimental 渲染的 tilesets 必须将 projectTo2D 设置为 true,才能在 2D / CV 模式下被准确投影和渲染。 #10440
新增内容 🎉
ModelExperimental 的内存统计现在会出现在 Cesium3DTilesInspector 中。这包括二进制元数据内存(Model 不计入此项)。 #10397
ResourceCache(被 ModelExperimental 使用)的内存统计现在会出现在 Cesium3DTilesInspector 中。 #10413
增加了使用 ModelExperimental 在 2D / CV 中渲染单个模型的支持。 #10419
增加了使用 ModelExperimental 在 2D / CV 中渲染实例化 tilesets 的支持。 #10433
向 Cesium3DTileset 的构造选项中添加了 modelUpAxis 和 modelForwardAxis。 #10439
向 ModelExperimental 添加了 heightReference。 #10448
向 ModelExperimental 添加了 silhouetteSize 和 silhouetteColor。 #10457
为 ModelExperimental 添加了对 mipmapped 纹理的支持。 #10231
向 ModelExperimental 添加了 distanceDisplayCondition。 #10481
为 ModelExperimental 添加了对 AGI_articulations 的支持。 #10479
向 ModelExperimental 添加了 credit。 #10489
向 ModelExperimental.fromGltf 添加了 asynchronous。 #10490
向 ModelExperimental 添加了 id。 #10491
ExperimentalFeatures.enableModelExperimental 现在除了用于 3D Tiles 外,还会为实体和 CZML 启用 ModelExperimental。 #10492
修复 🔧
修复了 Microsoft Edge 的 FeatureDetection。 #10429
修复了 CesiumTerrainProvider 文档中的损坏链接。 #7478
如果 Cesium3DTile 的 content.uri 属性为空,则发出警告并加载空 tile。 #7263
更新了文档中代码示例的文本高亮。 #10051
将 ModelExperimental 的着色器默认值更新为匹配 glTF 规范。 #9992
修复了出现在 ModelExperimental 中的阴影渲染伪影。 #10501
弃用 ⏳
Cesium3DTileFeature、Cesium3DTilePointFeature 和 ModelFeature 的 .getPropertyNames 方法已被弃用,并将在 1.98 中移除。请改用 .getPropertyIds 方法。
1.94.3 – 2022-06-10
修复了当向地形或 3D 瓦片夹紧(clamping)包含线的矢量 tileset 时导致的崩溃。 #10447
1.94.2 – 2022-06-03
这是一个仅用于 npm 的版本,用于修复错误发布的 1.94.1。
1.94.1 – 2022-06-03
新增内容 🎉
增加了使用 ModelExperimental 在 2D / CV 中渲染单个模型的支持。 #10419
修复 🔧
修复了某些 tileset 中 Cesium3DTileColorBlendMode.REPLACE 的问题。 #10424
修复了当对带有点要素的矢量 tileset 应用样式时发生的崩溃。 #10427
1.94 – 2022-06-01
重大的变更 📣
从 Model 和 Cesium3DTileset 中移除了基于单张图像的光照参数。 #10388
使用 ModelExperimental 渲染的模型和 tileset 必须将 enableDebugWireframe 设置为 true,才能使 WebGL1 中的 debugWireframe 生效。 #10344
移除了 ImagerySplitPosition 和 Scene.imagerySplitPosition。请改用 SplitDirection 和 Scene.splitPosition。 #10418
tileset 和 model 现在应在 ImageBasedLighting 中指定基于图像的光照参数,而不是作为单个选项。 #10226
新增内容 🎉
添加了 Cesium3DTileStyle.fromUrl 用于从 URL 加载样式。 #10348
添加了 IndexDatatype.fromTypedArray。 #10350
添加了 ModelAnimationCollection.animateWhilePaused 和 ModelAnimation.animationTime,以便显式控制模型动画。 #9339
在 ModelExperimental.fromGltf 中将 options.gltf 替换为 options.url。 #10371
为非实例化(non-instanced)并使用 ModelExperimental 渲染的 tileset 添加了对 2D / CV 模式的支持。 #10384
向 PolygonGraphics.textureCoordinates、PolygonGeometry.textureCoordinates、CoplanarPolygonGeometry.textureCoordinates 添加了支持,这些属性覆盖基于 stRotation 的默认纹理坐标计算行为,提供的纹理坐标以 PolygonHierarchy 的 Cartesian2 点形式指定。 #10109
修复 🔧
修复了与 iOS 设备上无序半透明(order-independent translucency)相关的渲染问题。 #10417
修复了对于在本地空间不以 (0,0,0) 为中心的模型错误计算包围球的问题。 #10395
修复了 ModelExperimental 的包围球计算不准确的问题。 #10339
修复了在 tileset 加载完成前销毁 3D tileset 时的错误。 [#10363](Fixes https://github.com/CesiumGS/cesium/issues/10363)
修复了在 Cesium3DTileStyle 的 readyPromise 解析之前更新样式时发生的竞态条件。 #10345
修复了标签背景渲染问题。 #10342
在 Edge 中启用加载 web assembly 模块的支持。 #6541
修复了在 3D Tiles 根范围为零面积的 region 边界体时导致的崩溃。 #10351
修复了 Cesium3DTileset.debugShowUrl,使其对隐式 tiles 也有效。 #10372
修复了在 tileset 没有元数据模式但有外部 tileset 包含 tile 或 content 元数据时导致的崩溃。 #10387
修复了 ModelExperimental 中负缩放模型的缠绕顺序问题。 #10405
修复了在对一个大范围区域调用 sampleTerrain 时需要大量 tile 请求导致的错误。 #10425
弃用 ⏳
Cesium3DTileStyle 构造函数中类型为 string 或 Resource 的参数已被弃用,并将在 CesiumJS 1.96 中移除。如果要从 URL 加载样式,请改用 Cesium3DTileStyle.fromUrl。 #10348
Cesium3DTileStyle.readyPromise 和 Cesium3DTileStyle.ready 已被弃用,并将在 CesiumJS 1.96 中移除。如果从 URL 加载样式,请改用 Cesium3DTileStyle.fromUrl。 #10348
Model.gltf、Model.basePath、Model.pendingTextureLoads(属性)和 Model.dequantizeInShader(构造选项)已被弃用,并将在 CesiumJS 1.97 中移除。 #10415
对 glTF 1.0 资产的支持已被弃用,并将在 CesiumJS 1.97 中移除。请将任何 glTF 1.0 资产转换为 glTF 2.0。 #10414
glTF 扩展 KHR_techniques_webgl 的支持已被弃用,并将在 CesiumJS 1.97 中移除。如果需要自定义 GLSL 着色器,请改用 CustomShader。 #10414
Model.boundingSphere 当前返回模型局部坐标系中的结果,但在 CesiumJS 1.96 中将更改为返回 ECEF 坐标。 #10415
1.93 – 2022-05-02
重大的变更 📣
由于 WebGL 回归问题,临时在 iPad 和 iOS 上禁用 Scene.orderIndependentTranslucency 的默认启用状态,见 #9827。问题解决后会恢复之前的默认值。
新增内容 🎉
改进了地面和天空大气的渲染。 #10063
为 ModelExperimental 添加了形态目标(morph targets)支持。 #10271
为 ModelExperimental 添加了皮肤(skins)支持。 #10282
为 ModelExperimental 添加了动画支持。 #10314
向 ModelExperimental 添加了 debugWireframe。 #10332
为 GeoJsonSource 添加了 process,以支持在不移除现有实体的情况下添加特性,类似于 CzmlDataSource.process。 #9275
KmlDataSource 现在公开 camera 和 canvas 属性,这些用于在为 Link 发起网络请求时提供 Viewer 的状态信息。在构造函数中传递这些值现在为可选。
在 Timeline 小部件中阻止文本选择。 #10325
修复 🔧
修复了 GoogleEarthEnterpriseImageryProvider.requestImagery、GridImageryProvider.requestImagery 和 TileCoordinateImageryProvider.requestImagery 的返回类型以匹配接口。 #10265
修正了多个属性和返回类型的 TypeScript 定义,并将 Event 类设为泛型以支持强类型事件回调。 #10292
修复了 Cesium3dTilesInspector 中调试标签渲染的问题。 #10246
修复了在加载带有切线(tangents)的 Draco 压缩模型时 ModelExperimental 中发生的崩溃。 #10294
修复了使用 ModelExperimental 加载 i3dm tileset 时不正确的模型矩阵计算。 #10302
修复了高度引用(height reference)变化时广告牌夹紧(billboard clamping)期间的竞态条件。 #10191
修复了可以从发行压缩包内运行 test 和其他支持任务的问题。 #10311
修复了 Expression 多变量替换的问题。 #12455
1.92 – 2022-04-01
重大的变更 📣
移除了 Cesium.when。Cesium API 中的任何 Promise 已更改为使用原生 Promise API。使用 cesium 的代码库在此更改后可能需要更新。请参阅升级指南了解如何使代码库兼容原生 Promise。 (链接见原文)
ArcGisMapServerImageryProvider.readyPromise 在失败时不会拒绝,除非该请求无法重试。
SingleTileImageryProvider.readyPromise 在失败时不会拒绝,除非该请求无法重试。
移除了与浏览器中运行单元测试相关的 SpecRunner.html 和 Jasmine 文件链接。
新增内容 🎉
为 3D Tiles 1.1 草案 添加了实验性支持。 #10189
在 CustomShader 中添加了对 EXT_structural_metadata 属性属性(property attributes)的支持。 #10228
在 CustomShader 中对 EXT_structural_metadata 属性纹理(property textures)添加了部分支持。 #10247
向 ModelExperimental 添加了 minimumPixelSize、scale、maximumScale。 #10092
Cesium3DTileset 现在有 splitDirection 属性,允许 tileset 仅在屏幕左侧或右侧绘制,可用于比较可视化。 #10193
向 ModelExperimental 添加了 lightColor。 #10207
为 ModelExperimental 添加了基于图像的光照支持(image-based lighting)。 #10234
为 ModelExperimental 添加了裁剪平面支持(clipping planes)。 #10250
添加了 Cartesian2.clamp、Cartesian3.clamp 和 Cartesian4.clamp。 #10197
为 Fog 添加了一个 ‘renderable’ 属性,用于在保留基于距离的 tiles 裁剪(tiles culling)功能的同时禁用其视觉渲染。 #10186
重构了元数据 API,使 tileset.metadata 和 content.group.metadata 在结构上与 content.metadata 和 tile.metadata 更对称。 #10224
修复 🔧
修复了 Scene 关于 msaaSamples 属性的文档。 #10205
修复了 ModelExperimental 在某些情况下更新模型矩阵时未更新其包围球的错误。 #10078
修复了 Safari 上特征 ID 纹理的伪影问题。 #10111
修复了在 ModelExperimental 中对具有不透明要素的模型应用半透明着色器时未被渲染的问题。 #10110
1.91 – 2022-03-01
重大的变更 📣
在 Cesium 1.92 中,when.js 将被移除并替换为原生 Promise。Cesium.when 已被弃用并将在 1.92 中移除。从 1.92 起,函数返回的任何 Promise 将使用原生 Promise API。使用 cesium 的代码库在此更改后可能需要更新。请参阅升级指南了解如何更新代码库以兼容原生 Promise。 #10139
修复了 camera.getPickRay 在场景未渲染时不一致地处理异常的问题。camera.getPickRay 现在可以返回 undefined。 #10139
新增内容 🎉
为 WebGL2 添加了 MSAA 支持。可在 Viewer 构造函数中通过 msaaSamples 选项启用,并可通过 Scene.msaaSamples 控制。
glTF 内容现在默认使用 ModelExperimental。 #10055
为 ModelExperimental 添加了切换背面剔除(back-face culling)的能力。 #10070
向 Viewer 和 Scene 构造函数添加了 depthPlaneEllipsoidOffset,以解决位于 WGS84 椭球体下方的渲染伪影。 #9200
为 ModelExperimental 添加了对 debugColorTiles 的支持。 #10071
为 ModelExperimental 添加了对阴影的支持。 #10077
为矩阵类型添加了 packArray 和 unpackArray。 #10118
为 Matrix2、Matrix3 和 Matrix4 添加了更多仿射变换辅助函数。 #10124
向 Matrix2 添加了 setScale、setUniformScale、setRotation、getRotation 和 multiplyByUniformScale。
向 Matrix3 添加了 setScale、setUniformScale、setRotation 和 multiplyByUniformScale。
向 Matrix4 添加了 setUniformScale、setRotation、getRotation 和 fromRotation。
添加了 AxisAlignedBoundingBox.fromCorners。 #10130
添加了 BoundingSphere.fromTransformation。 #10130
添加了 OrientedBoundingBox.fromTransformation、OrientedBoundingBox.computeCorners 和 OrientedBoundingBox.computeTransformation。 #10130
添加了 Rectangle.subsection。 #10130
添加了在屏幕上显示 tileset 署名(credits)的选项。 #10144
glTF 版权信息现在会出现在署名显示中。 #10138
署名现在按照出现次数进行排序。 #10141
修复 🔧
修复了一个 bug,当更新 ModelExperimental 的模型矩阵时未更新其包围球的问题。 #10078
修复了 Safari 上特征 ID 纹理的伪影问题。 #10111
修复了 ModelExperimental 中,当模型具有不透明要素但应用了半透明着色器时未被渲染的问题。 #10110
1.90 – 2022-02-01
新增内容 🎉
ModelExperimental 的样式和拾取(picking)中的特征 ID 现在可以通过 (tileset|model).featureIdIndex 和 (tileset|model).instanceFeatureIdIndex 进行选择。 #10018
在 CustomShader 中添加了对所有类型特征 ID 的支持。 #10018
添加了 Cesium3DTileFeature.featureId 和 ModelFeature.featureId 的 getter,以便从拾取到的要素中访问特征 ID 或批次 ID。 #10022
添加了 I3dmLoader 用于将 .i3dm 转码为 ModelExperimental。 #9968
添加了 PntsLoader 用于将 .pnts 转码为 ModelExperimental。 #9978
为 ModelExperimental 添加了点云衰减(point cloud attenuation)支持。 #9998
修复 🔧
修复了当使用 null 的 stroke 或 fill 属性但提供有效不透明度值的 GeoJSON 时出现的错误。 #9717
修复了 scene.pickTranslucentDepth 在带有 eye dome lighting 的半透明点云上的行为。 #9991
为 tileset.pointCloudShading 添加了 setter,当设置为 undefined 时将抛出异常,以明确此操作被禁止。 #9998
修复了在 ModelExperimental 中对 .b3dm _BATCHID 访问器的处理。 #10008 和 10031
修复了当数据不可用时路径实体仍被绘制的问题。 #1704
修复了在设置 tileset.imageBasedLightingFactor 时对 i3dm 内容没有效果的问题。 #10020
当接近 screenSpaceCameraController.minimumDistance 时,缩小视图不再卡顿。 #9932
修复了 Particle System Weather 沙盒示例以适应新的 ES6 规则。 #10045
1.89 – 2022-01-03
重大的变更 📣
移除了 Scene.debugShowGlobeDepth。 #9965
移除了 CesiumInspectorViewModel.globeDepth 和 CesiumInspectorViewModel.pickDepth。 #9965
当输入三角形退化时,barycentricCoordinates 现在返回 undefined。 #9175
新增内容 🎉
为自定义顶点着色器添加了 pointSize 字段,以便更好地控制点云着色。 #9960
为 Globe 对象添加了 lambertDiffuseMultiplier 属性以增强地形光照。 #9878
向 WebMapServiceImageryProvider 添加了 getFeatureInfoUrl 选项,当 WMS 服务的 getFeatureInfo 请求 URL 与 getCapabilities URL 不同时使用该 URL。 #9563
tileset.enableModelExperimental 已添加,以支持在同一场景中混合使用 Model 和 ModelExperimental 的 tileset。 #9982
修复 🔧
修复了 ModelExperimental 中 vec3 顶点颜色的处理。 #9955
修复了 Draco 量化(quantized)vec3 顶点颜色的处理。 #9957
修复了 CustomShaderPipelineStage 中 vec3 顶点颜色的处理。 #9964
修复了 Camera.changed 在处理 heading 变化时的行为。 #9970
修复了 Implicit3DTileContent 中子树根变换(subtree root transforms)的处理。 #9971
修复了在 Draco 解码后 ModelExperimental 中索引数据类型不正确的问题。 #9974
修复了 WMS 1.3.0 GetMap bbox 参数,使其遵循 EPSG 数据库中定义的轴顺序。 #9797
修复了 KmlDataSource 以处理相对 URL 用于额外元素(如 video、audio、iframe 等)。 #9328
1.88 – 2021-12-01
修复 🔧
修复了 .ktx2 纹理在最小化过滤器(minification filter)上有不正确设置的问题。 #9876
修复了在使用 KHR_materials_pbrSpecularGlossiness 扩展的 glTF 中文件的漫反射纹理 alpha 不正确的问题。 #9943
1.87.1 – 2021-11-09
新增内容 🎉
添加了 3D Tiles Next 的实验性实现。支持以下扩展:
3DTILES_content_gltf:直接将 glTF 模型用作 tile 内容
3DTILES_metadata:为 tileset、tile 或 tile 内容组添加结构化元数据
EXT_mesh_features:为 glTF 模型添加要素识别和要素元数据
3DTILES_implicit_tiling:用于四叉树和八叉树的紧凑表示
3DTILES_bounding_volume_S2:用于 S2 边界体
3DTILES_multiple_contents:用于在单个 tile 中存储多个内容
添加了 ModelExperimental,这是用于加载 glTF 模型的新实验性架构。默认禁用;设置 ExperimentalFeatures.enableModelExperimental = true 可启用。
添加了用于使用自定义 GLSL 着色器对 Cesium3DTileset 或 ModelExperimental 进行样式化的 CustomShader 类。
为 3D Tiles Next 添加了 Sandcastle 示例:Photogrammetry Classification、CDB Yemen 和 S2 Globe。
1.87 – 2021-11-01
新增内容 🎉
为 KmlDataSource 添加了 ScreenOverlay 支持。 #9864
作为临时解决方案,恢复了对 Draco 属性量化的部分支持,直到下一版本的完整修复。 #9904
为 CumulusCloud 添加了 color 属性以自定义云的颜色。 #9877
修复 🔧
修复了基于点云样式时引用缺失属性导致抛出异常的问题。现在将缺失属性视为 undefined,而不是抛出错误。 #9882
修复了点云中 Draco 属性量化的问题。 #9908
修复了 cloud noise 纹理超出 WebGL 最大支持纹理尺寸导致的崩溃。 #9885
将第三方 zip.js 库更新到 2.3.12,以修复与 Webpack 4 的兼容性问题。 #9897
1.86.1 – 2021-10-15
修复 🔧
修复了 zip.js 配置导致 CesiumJS 在 Node 16 下无法工作的问题。 #9861
修复了 Rectangle.union 在跨越整个地球时的错误。 #9866
1.86 – 2021-10-01
重大的变更 📣
更新到 Draco 1.4.1 并暂时禁用了属性量化(attribute quantization)。 #9847
修复 🔧
修复了在 Columbus View 使用时 CameraFlightPath 的渲染伪影问题。 #9192
1.85 – 2021-09-01
重大变更 📣
已移除 CesiumWidget、Viewer 和 Scene 的 Scene.terrainExaggeration 和 options.terrainExaggeration,这些在 CesiumJS 1.83 中被弃用。请改用 Globe.terrainExaggeration。
新增 🎉
添加了用于向场景添加程序生成云层的 CloudCollection 和 CumulusCloud。#9737
BingMapsGeocoderService 现在接受一个可选的文化代码用于本地化结果。#9729
修复 🔧
修复了与点云眼睛穹顶光照相关的若干崩溃。#9719
1.84 – 2021-08-02
重大变更 📣
已停止支持 Internet Explorer,该支持在 CesiumJS 1.83 中已弃用。
新增 🎉
为 Cesium3DTileFeature 添加了 polylinePositions 访问器,用于获取折线矢量要素的解码后位置。#9684
添加了 ImageryLayerCollection.pickImageryLayers,用于确定与拾取射线相交的影像图层。#9651
修复 🔧
修复了基于批表属性对矢量点进行样式化时导致崩溃的问题。#9692
修复了 TileBoundingRegion.distanceToCamera 在相机位于地球另一侧时产生错误结果的问题。#9678
修复了在时钟间隔持续时间为零时移除 CZML 数据源导致的错误。#9637
修复了将材质的图像设置为 undefined 和 Material.DefaultImageId 的能力问题。#9644
修复了在创建位置非常接近的 polylineVolume 时发生的渲染崩溃。#9669
修复了 PolylineGeometry 中在删除重复位置时错误移动颜色的问题。#9676
修复了 OrientedBoundingBox.distancedSquaredTo 的计算,使其能处理接近零幅值的 halfAxes。#9670
修复了在用软连字符创建 Label 文本时导致浏览器挂起的崩溃。#9682
修复了 BoundingSphere 中 distanceSquaredTo 的不正确计算。#9686
1.83 – 2021-07-01
重大变更 📣
不再支持 KTX1 和 Crunch 纹理;请使用 ktx2ktx2 转换工具来更新现有的 KTX1 文件。
新增 🎉
增加了对 KTX2 和 Basis Universal 压缩纹理的支持。#9513
添加了对带有 KHR_texture_basisu 扩展的 glTF 模型的支持。
添加了对 8 位、16 位浮点和 32 位浮点 KTX2 镜面环境贴图的支持。
在 Material 中增加了对 KTX2 图像的支持。
引入了来自 WebGL 扩展 WEBGL_compressed_texture_etc、WEBGL_compressed_texture_astc 和 EXT_texture_compression_bptc 的新 PixelFormat 和 WebGLConstants 枚举。
添加了使用 Globe.terrainExaggeration 和 Globe.terrainExaggerationRelativeHeight 的动态地形夸张功能。#9603
添加了 CustomHeightmapTerrainProvider,这是一个从回调函数获取高度值的简单 TerrainProvider。#9604
添加了通过 CESIUM_primitive_outline 扩展在 OSM Buildings 和其他 tileset 与 glTF 模型中隐藏轮廓线的能力。#8959
添加了对 3D Tiles 扩展支持的检查。#9552
添加了忽略 glTF 纹理和 ImageBitmap 中多余色彩空间信息的选项。#9624
为 ShadowMap 添加了 options.fadingEnabled 参数,用于控制当光源接近地平线时阴影是否淡出。#9565
在文档中澄清了 outlineWidth 属性在 Windows 平台上的所有主流浏览器中将被忽略。#9600
为 KmlTour、KmlTourFlyTo 和 KmlTourWait 添加了文档。为 KmlDataSource 添加了文档和 kmlTours 访问器。移除了对 KmlTourSoundCues 的引用。#8073
修复 🔧
修复了一个回归问题:旧的 tileset 如果没有顶层 geometricError 将无法加载。#9618
修复了 WebMapTileServiceImageryProvider 中使用 URL 子域名时查询参数被丢弃的问题。#9606
修复了 ScreenSpaceCameraController.tilt3DOnTerrain 在沿屏幕对角线倾斜地形时导致意外相机行为的问题。#9562
修复了 GlobeSurfaceTile 的错误处理,使地形瓦片请求错误会打印到控制台。#9570
修复了 KML Sandcastle 中破损的图像 URL。#9579
修复了一个错误,该错误导致 positionToEyeEC 和 tangentToEyeMatrix 属性在自定义材质的 GlobeFS 中未被设置。#9597
修正了 Matrix4.inverse 和 Matrix4.inverseTransformation 的文档措辞,之前使用了“仿射变换”,现改为更精确的“旋转与平移”。#9608
修复了一个回归:外部图像在 glTF 模型中未随 preferImageBitmap 一起加载,导致它们在主线程解码并造成帧率卡顿。#9627
修复了 Cesium3DTileStyle 中关于 color 和 show 的误导性文档。若没有给出任何 color 条件则使用默认 color 值;若没有给出任何 show 条件则使用默认值 true。#9633
修复了在禁用并重新启用后处理阶段后发生的崩溃。这也防止了首次启用阶段时屏幕随机闪烁的情况。#9649
已弃用 ⏳
Scene.terrainExaggeration 和 CesiumWidget、Viewer、Scene 的 options.terrainExaggeration 已被弃用,并将在 CesiumJS 1.85 中移除。请改用 Globe.terrainExaggeration。
对 Internet Explorer 的支持已被弃用,并将在 CesiumJS 1.84 中结束。
1.82.1 – 2021-06-01
这是一个仅在 npm 上发布的修复版本,用于修复不正确发布的 1.82.0。
1.82 – 2021-06-01
新增 🎉
添加了 FeatureDetection.supportsBigInt64Array、FeatureDetection.supportsBigUint64Array 和 FeatureDetection.supportsBigInt。
修复 🔧
修复了 decodeGoogleEarthEnterprisePacket 中 processTerrain,以处理包含地形网格之后的水面网格的新地形数据包格式。#9519
1.81 – 2021-05-01
修复 🔧
修复了 Camera.flyTo 在非 WGS84 椭球体上不能正确工作的情况。#9498
修复了在创建视口后设置 ViewportQuad 矩形没有效果的问题。#9511
修复了 TypeScript 未正确识别 ArcGISTiledElevationTerrainProvider 类型定义的问题。#9522
已弃用 ⏳
loadCRN 和 loadKTX 已被弃用,并将在 CesiumJS 1.83 中移除。它们将被对 KTX2 的支持所取代。#9478
1.80 – 2021-04-01
新增 🎉
添加了对在半透明 3D Tiles 上绘制地面基元的支持。#9399
————————————————
版权声明:本文为CSDN博主「xizhjxust_GIS」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wokao253615105/article/details/154231741

您可能还喜欢...

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注