Cesium 發行日志(至1.79.1,后續見博客主頁其他連接)


https://github.com/CesiumGS/cesium/blob/master/CHANGES.md

鑒於后續更新會越來越長,故決定分拆,見我的置頂博客。本文終止更新於 1.79.1 版本

1.79.1 發布時間:2021-03-01(北京時間)

問題修復 🔧

  • 修復地形誇大的bug

1.79 發布時間:2021-03-01(北京時間 17點左右)

重大改動📣

  • 移除了 Cesium3DTileset.url,一個在上一個版本已經不推薦使用的屬性。使用 Cesium3DTileset.resource.url 來代替。
  • 移除了 EasingFunction.QUADRACTIC_INEasingFunction.QUADRACTIC_OUTEasingFunction.QUADRACTIC_IN_OUT 三個在 1.77 版本中已經不推薦使用的常量,分別使用 EasingFunction.QUADRATIC_INEasingFunction.QUADRATIC_OUTEasingFunction.QUADRATIC_IN_OUT 三個代替(拼寫有略微不同)。
  • TaskProcessor 構造函數中 maximumActiveTasks 選項默認設為無限大。

問題修復 🔧

  • 修復了在 node 程序中使用完整的 Cesium ZIP 打包的問題
  • 修復了在 EllipsoidGeodesic 類中,正確的輸入值會導致表面距離計算結果為 NaN 的問題
  • 修復了 ArcGISTiledElevationTerrainProvider 中全局函數 sampleTerrainsampleTerrainMostDetailed 不運行的問題
  • 為更規范,CZML 中的 polylineVolume 現在使用 cartesian2 屬性來指定形狀坐標,之前的 cartesian 屬性依舊保留,以便后向兼容。
  • 移除了 Cesium3DTileset 每次 update 時沒有必要的矩陣復制動作。

1.78 發布時間:2021-02-02(北京時間)

新增功能 🎉

  • BillboardCollectionEntityClusterLabelCollectionPointPrimitiveCollectionPolylineCollection 這幾個類添加 show 屬性,以便快捷地將這些容器下的元素整體消失或顯示
  • TaskProcessor 類(私有類)除了接受一個worker的名稱外,還可以額外接受一個絕對路徑參數。這使得可以調用自定義的 WebWorker 了,而不必提前把代碼復制粘貼到 Workers 目錄下。
  • Cartesian2 類添加一個靜態方法:cross,用以計算二維向量的叉積。
  • Math 類添加一個靜態方法:previousPowerOfTwo,它接受一個數字,並返回一個比這個數字小的且大於0、且為 2 的次方的數字。例如傳入29,返回16;傳入33,返回32.

修復 🔧

  • 修復了 Math.mod 方法關於小數位數不准確的 BUG,原來調用 Cesium.Math.mod(0.1, 1.0) 會輸出 0.10000000000000009,現在改用新算法后修復了這個問題。

    新算法在更新后補充。

即將過期 ⏳

  • Cesium3DTileset.url 即將廢棄,並且在下一版本(1.79)中正式移除,請使用 Cesium3DTileset.resource.url 來獲取 url 參數。

1.77版本 北京時間 20210105

1.76更新較少,可以跳過

新增功能 🎉

添加了 ElevationBand 材質類型,能給指定范圍的海拔高度的地形映射對應的顏色(或漸變)

這個和之前的 [Globe Materials - Cesium Sandcastle](https://sandcastle.cesium.com/?src=Globe Materials.html) 很像,但是比 ElevationRamp 更靈活。

修復 🔧

修復了當改動模型或 3dtiles 的顏色、背面裁剪、輪廓寬度時的錯誤

主要是修改了 Model 類的 updateColor函數、updateBackFaceCulling函數、updateSilhouette函數的三處判斷

即將棄用的API ⏳

EasingFunction.QUADRACTIC_INEasingFunction.QUADRACTIC_OUTEasingFunction.QUADRACTIC_IN_OUT 三個屬性將於 1.79 版本移除,
分別使用 EasingFunction.QUADRATIC_INEasingFunction.QUADRATIC_OUTEasingFunction.QUADRATIC_IN_OUT 代替。

1.75版本 北京時間 20201102

這個版本官方偷懶,沒什么更新

修復 🔧

  • 修復了 glTF 模型有 KHR_materials_unlit 擴展時,PBR 材質會導致法線被禁用的問題;
  • 修復了API文檔:writeTextToCanvas 的返回值類型
  • 修復了API文檔:Viewer.globe 的構造函數

1.74版本 北京時間 20201002

(1.73有事跳過了)

新增功能

  • 新增:Matrix3.inverseTranspose 方法 以及 Matrix4.inverseTranspose 方法

    功能:提供矩陣的逆轉置計算功能:先計算逆矩陣,再轉置,最后返回。

問題修復

  • 修復相機縮放時可能卡住的問題

  • 修復平面幾何實體繞局部坐標軸旋轉不正確的問題

  • 修復平面幾何實體(Plane Entity)的法線轉換問題

    參考:https://www.cnblogs.com/flytrace/p/3379816.html

    局部坐標到相機坐標使用 Model-View 矩陣即可,但是局部法線行不通,可能會出現不垂直原來切線的情況。相機坐標空間下的法線,其轉換矩陣是 Model-View 矩陣的逆轉置。

    如果 Model-View 是正交矩陣,那么法線的矩陣也是 Model-View 矩陣。

  • 修復Ground Primitive 對象在攝像機某些角度會被裁切的問題

  • 修復了當設置 TerrainProvider 時,可能造成橢球一半消失的bug

  • 修復了OSM建築圖層的陰影模式打開時,可能會崩潰的問題

1.72版本 @20200803 北京時間

大改動

  • Cesium 不再提供 Mapbox 的訪問令牌,並且 BaseLayerPicker 移除了 Mapbox 的影像圖層。如果你使用 MapboxImageryProviderMapboxStyleImageryProvider,請傳遞 options.accessToken 參數。

功能添加

  • glTF 模型支持第二張紋理貼圖,其名稱是 TEXCOORD_1

廢棄功能

  • MapboxApi.defaultAccessToken 將在 1.73 版本中丟棄。實例化有關 Mapbox 的 Provider 時,在構造方法傳遞你自己的 token。
  • BingMapsApi 將在 1.73 版本中丟棄,實例化有關 BingMap 的對象時(例如 BingMapsImageryProviderBingMapsGeocoderService)在構造方法傳遞你的key.

BUG修復

  • 修復了 3dTiles 空瓦片的替換優化
  • 包括 GeoJSON 在內,存在垂直拐角的折線進行了修復。
  • 修復了使用 Color.fromCssColorString 時,顏色字符串有空格會出問題的BUG。
  • 修復了對地形瓦片可見性估算的bug
  • 修復了地下模式的牆體渲染問題
  • 修復了牆體第一個點和最后一個點相同時牆體一側會出問題的bug
  • 修復了 標簽(label)輪廓線顏色 translucencyByDistance 屬性的bug
  • 修復了 SampledPositionProperty.removeSample 返回值的bug
  • 修復了牆體的坐標有重復時,紋理坐標不正常的問題
  • 修復了在安卓設備上,裁剪平面無法正確進行裁剪的問題,這一般是 Mali GPU 的設備上,它們的 WebGL 不支持浮點數紋理。

1.71版本 @20200702 北京時間 04:29

大改動

  • 更新 WallGeometry 為點的順序,而不是原來的逆時針順序。有紋理貼圖的牆體的外觀會受到影響,如果這次更新的版本對牆體有變,那么請調整點的順序。

功能添加

  • Cesium3DTilesetModel 類添加 backFaceCulling 屬性,以支持觀察瓦片/模型的底面或者內部,解決了從模型里面看外面透視的問題

  • Ellipsoid 類添加 surfaceArea 屬性,用來計算貼地矩形的近似面積。

  • CZML 數據增加 PolylineVolume 形狀的支持。

  • Color 類添加 toCssHexString 方法來獲取 CSS 中hex格式的顏色字符串。

功能修復

  • 修復了當3dtiles沒有gltf動畫時的錯誤(意思就是當 i3dm 和 b3dm 內嵌的 gltf 有動畫時,將被支持)

  • 修復了給定原點的情況下, Ellipsoid.geodeticSurfaceNormal 除以 0 的計算錯誤,返回 undefined 作為代替。

  • 修復了 WallGeometry 在坐標很接近時的錯誤

  • 修復了啟用對數緩存情況下的模型顯示的問題(模型穿透等)

  • 修復了 PolylineArcType.RHUMB(恆向線,如果同緯度則是緯度圈上的線而不是大圓上的弧)繪制會崩潰的問題。

  • 修復了標簽的背景色、內填充選項的處理問題

  • 修復了幾個使用 WebGL2 渲染的問題

  • 修復了從透視視圖切換到正交視圖時三角面相互重疊的錯誤(即穿模)

  • 修復了首幀切換到正交視圖時導致縮放級別不正確的錯誤(例如畫面模糊等)

  • 修復了 scene.pickFromRay 操作不正常的問題,之前容易獲取到模型內部的點位,而正確的點位應該在模型表面

  • 修復了當構造 Entity 時沒有傳遞 name 屬性(傳遞 undefined 或者 null)拋異常的問題

  • 文檔修復,ScreenSpaceEventHandler.getInputAction 返回值的文檔已經修正。

  • 修改了報錯面板的樣式。

  • 修復動畫面板在 iOS 13.5.1 中 SVG圖標未顯示的問題。

1.70.1版本 @20200610 北京時間 22:15

(NMD突然更新)
這是一個小修補版本,主要改進 TypeScript 類型定義和 JSDoc 生成的文檔。

新增內容

  • Resource 類新增 toString() 方法
  • Transforms.rotationMatrixFromPositionVelocity 方法由私有變為公開

BUG修復

  • 修復了處理 PixelFormat 時 flipY 的錯誤。
  • 修復了 3dTiles 數據在請求取消后仍駐留在內存中導致的內存泄漏問題。
  • 修復了諸多 JSDoc 生成的文檔的問題,得益於 TypeScript

1.70版本 @20200601 北京時間 0702 05:09

重大公告

  • 現在,所有 CesiumION用戶都可以使用 Cesium OSM 建築 -- 一個世界級別的三維建築白膜圖層,基於OSM的建築數據。當然,可以作為3dTiles加載。更多信息查看官方博客

    • 在沙盒中探索Cesium OSM Buildings
    • 用法:viewer.scene.primitives.add(Cesium.createOsmBuildings())
    • 包括每個建築要素的屬性,例如名稱、地址等。查看更多屬性
  • Cesium 現在支持 TypeScript 的類型定義了

    • 如果使用 ES 模塊來導入 Cesium ,那么自動使用 ts 的有關工具
    • 如果直接導入單個 CesiumJS 源文件,則需要在 tsconfig.json 文件中添加 "types":["cesium"]屬性,以便使用定義
    • 如果你有自己的定義,而且沒有准備好切換Cesium版本,可以在安裝后刪除 Source/Cesium.d.ts 文件
    • 查看官方發布的博客來看更多的信息
  • Cesium 現在支持 Globe 半透明的地下渲染模式了!

    • 實例化 Globe 時,可傳遞 GlobeTranslucency 可選項來控制 globe 的透明度,這個 GlobeTranslucency 包括表面透明、背面透明與半透明矩形等屬性。
    • Globe 添加 Globe.undergroundColorGlobe.undergroundColorAlphaByDistance 屬性,以控制當攝像機在地下或者 globe 是半透明狀態時,globe 的背面如何渲染
    • 增強地下時攝像機控制能力
    • 沙盒新增三個示例:Globe Translucency、Globe Interior、Underground Color

新增功能

  • API文檔接受了一大批修復與增強改進,歸功於TS!
  • 添加屬性 Cesium3DTileset.extensions,以便從 tileset.json 中獲取擴展數據。
  • 添加 frustumSplits 選項到 DebugCameraPrimitive(相機視錐體)
  • 添加了 Globe.undergroundColorGlobe.undergroundColorAlphaByDistance 兩個屬性,用於控制當Camera在地下或Globe為半透明狀態時,Globe的背面如何渲染的功能。
  • 添加 nightAlphadayAlpha 屬性到 ImageryLayer 中,以分別控制向日半球和背日半球的透明度。
  • 添加了一個沙盒示例,用來展示使用 PostProcessStage 來添加霧效
  • Color.fromCssColorString 添加了 #rgba#rrggbbaa 格式的支持
  • 添加了 Camera.completeFlight ,這個東西會使得攝像機立刻結束運動,並立即跳轉到目的地,並返回回調。

BUG修復

  • 修復了移除后的廣告牌(billboard)會改變地形的BUG
  • 修復了DebugCameraPrimitve(相機視錐體)會忽略Camera的近平面和遠平面的bug
  • 修復了3DTiles點雲樣式的問題,其中${feature.propertyName}${feature["propertyName"]}這樣的語法會讓程序崩潰,還解決了使用非字母和數字的字符來當屬性名稱會崩潰的問題
  • 修復了渲染gltf模型時可能發生的崩壞。該Bug會在gltf模型外邊線添加新頂點時發生,這個過程索引緩沖區從Uint16切換到Uint32。
  • 修復了2.5D視圖時的深度平面,改善地平線附近的polylines或其他primitives的顯示質量。
  • 修復了2.5D時貼地primitive的一些問題

1.69版本 @20200501

新增功能

  • 添加Scene.cameraUnderground屬性,以指示是否在地下
  • 添加RequestScheduler到公共API中,以便用戶更好控制網絡請求
  • 增強了glTF模型的邊緣顯示

重大更新

  • Scene.sunColor被移除。使用Scene.light.colorScene.light.intensity代替。
  • 移除isArray。使用JS原生的Array.isArray函數代替。

BUG修復

  • 修復啟用對數緩沖時,polyline的幾個問題。
  • 修復了glTF的skin支持問題。考慮將其設為一個可選的屬性:skeleton
  • 修復了gltf非循環性動畫中不連續問題(最后一幀丟幀)。開發者希望在動畫停止時觸發另一個事件#issue7387
  • 修復了即使啟用對數緩沖,視野范圍也很廣的問題。
  • 修復了等高線材質透明的不生效的問題
  • 修復銷毀CesiumWidget對象時潛在的內存泄漏。
  • 在較新的iOS設備上幾何實例支持高精度浮動
  • 修復ios 安卓和uwp顯示Cesium ION圖標不正常的問題

1.68版本 @20200402 0:42[北京時間]

新增功能

BUG修復

  • 當前版本可以在帶有或不帶有--experimental-modules版本的NodeJS(12或者更高版本)中使用Cesium。早期的NodeJS版本依舊可用。
  • 與Cesium的canvas進行交互時,現在將使先前聚焦的元素模糊。這樣可以防止在與Globe交互時意外修改輸入元素。(本段機翻,不知道這是什么功能,見 https://github.com/CesiumGS/cesium/pull/8662)
  • 如果請求TMS數據服務的描述文檔tilemapresource.xml失敗並且對應瓦片等級的外界框rectangle太大,TileMapServiceImageryProvider會強制將minimalLevel屬性設為0。
  • 修復了使用較小的橢球(Ellipsoid)時渲染地面大氣的問題、Globe錯誤遮擋對象的問題。
  • 修復了1.67版本中引入的一個功能BUG,該功能會使得重疊的、帶顏色的地表幾何圖形具有視覺錯誤。
  • 修復了在啟用對數深度緩沖區(Logarithmic Depth Buffer)的情況下,近距離查看折線(Polyline)時的被裁剪問題,這是大多數系統的默認設置。

版權沒有,盜版隨你。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM