@cesium/engine 11.0.0 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (774) hide show
  1. package/Build/Workers/{chunk-HFPMX5L2.js → chunk-2B5H7KIN.js} +1 -1
  2. package/Build/Workers/{chunk-KKAEXHDY.js → chunk-2RHMHHJH.js} +2 -2
  3. package/Build/Workers/{chunk-AI3O7UN2.js → chunk-3OHDXGFC.js} +6 -6
  4. package/Build/Workers/{chunk-TTI2SUWJ.js → chunk-3OM5QZSI.js} +2 -2
  5. package/Build/Workers/{chunk-2EDC3QGH.js → chunk-3UJV3W4Y.js} +1 -1
  6. package/Build/Workers/{chunk-N3BIL6WA.js → chunk-3X2LXRHU.js} +13 -13
  7. package/Build/Workers/{chunk-FJT3ERV7.js → chunk-4ESQ3DN2.js} +9 -9
  8. package/Build/Workers/{chunk-HO2NTC7I.js → chunk-4IQPX22D.js} +6 -6
  9. package/Build/Workers/{chunk-L6FARMF6.js → chunk-4XPGN5Y7.js} +11 -11
  10. package/Build/Workers/{chunk-4NBRIKB3.js → chunk-56LALJCU.js} +2 -2
  11. package/Build/Workers/{chunk-HC7RYWPZ.js → chunk-5FSKL7US.js} +12 -12
  12. package/Build/Workers/{chunk-54VC7SCM.js → chunk-5YKJKOFE.js} +7 -7
  13. package/Build/Workers/{chunk-6ZREIBKS.js → chunk-62YGXNGC.js} +7 -7
  14. package/Build/Workers/{chunk-BH5ZEN4I.js → chunk-6DYMJ57Z.js} +10 -10
  15. package/Build/Workers/{chunk-AS7P4BHI.js → chunk-7DSVCRFD.js} +6 -6
  16. package/Build/Workers/{chunk-6FFGOENI.js → chunk-7OISMGQF.js} +46 -23
  17. package/Build/Workers/{chunk-BJ3WF5RW.js → chunk-AL7BHP36.js} +6 -6
  18. package/Build/Workers/{chunk-WQRXRDCZ.js → chunk-AOCENJVH.js} +11 -11
  19. package/Build/Workers/{chunk-2MKRG7L7.js → chunk-ARTM66DL.js} +5 -5
  20. package/Build/Workers/{chunk-VSFFJGTA.js → chunk-B4AZL6Q4.js} +5 -5
  21. package/Build/Workers/{chunk-5IY5BXCT.js → chunk-BQNTN4CC.js} +83 -79
  22. package/Build/Workers/{chunk-AUM45VEG.js → chunk-C4IAULHW.js} +15 -15
  23. package/Build/Workers/{chunk-6PJIHPQB.js → chunk-ES6Q5HWK.js} +13 -13
  24. package/Build/Workers/{chunk-DVAIU7A4.js → chunk-GKBICLGC.js} +19 -23
  25. package/Build/Workers/{chunk-IBG5FVXC.js → chunk-GMGUR5GM.js} +4 -4
  26. package/Build/Workers/{chunk-OOA6GXKD.js → chunk-GUW6BS72.js} +7 -7
  27. package/Build/Workers/{chunk-KFW4UNQH.js → chunk-GYHHNFW5.js} +15 -25
  28. package/Build/Workers/{chunk-GOHDOWU5.js → chunk-GZG526CC.js} +14 -14
  29. package/Build/Workers/{chunk-BZXF3GNX.js → chunk-HILBDZUP.js} +2 -2
  30. package/Build/Workers/{chunk-BBO6BGLC.js → chunk-HYUTWUXN.js} +13 -13
  31. package/Build/Workers/{chunk-HA6TZ3XT.js → chunk-IL6SMMDD.js} +4 -4
  32. package/Build/Workers/{chunk-T4MB73MC.js → chunk-IT6AWHFV.js} +2 -2
  33. package/Build/Workers/{chunk-SRZJCF7G.js → chunk-J64XIF5C.js} +10 -36
  34. package/Build/Workers/{chunk-BUOFSNFW.js → chunk-JGGZ3H4W.js} +1 -1
  35. package/Build/Workers/{chunk-SIZXFNJY.js → chunk-JRULXFCC.js} +5 -5
  36. package/Build/Workers/{chunk-QGT2GMOK.js → chunk-MSY2AAW2.js} +4 -4
  37. package/Build/Workers/{chunk-XLCZE6DD.js → chunk-QXBRZZQS.js} +10 -10
  38. package/Build/Workers/{chunk-JYUCC5NV.js → chunk-SXJ37VUC.js} +7 -7
  39. package/Build/Workers/{chunk-OC4MYPVW.js → chunk-T6FZFMTF.js} +2 -2
  40. package/Build/Workers/{chunk-OSCHEWSG.js → chunk-TQK4D4AR.js} +7 -7
  41. package/Build/Workers/{chunk-2RZYNSMR.js → chunk-US3L7FXC.js} +7 -9
  42. package/Build/Workers/{chunk-RFQYEYAL.js → chunk-VGT4ONMC.js} +18 -20
  43. package/Build/Workers/{chunk-VHJ5ESXF.js → chunk-VJVTWBXB.js} +1 -1
  44. package/Build/Workers/{chunk-RJF5ZP76.js → chunk-VQZNBD3T.js} +4 -4
  45. package/Build/Workers/{chunk-WXDGOYTT.js → chunk-VUCVRDLD.js} +7 -7
  46. package/Build/Workers/{chunk-DJXXI7UF.js → chunk-W2Q2F7JS.js} +5 -5
  47. package/Build/Workers/{chunk-HZPMWR4H.js → chunk-WQCX7U65.js} +7 -7
  48. package/Build/Workers/{chunk-HFMJM3SX.js → chunk-WW5RTJ72.js} +1 -1
  49. package/Build/Workers/{chunk-IXLNNST6.js → chunk-X67KKHI7.js} +4 -4
  50. package/Build/Workers/{chunk-4TK5YR6Q.js → chunk-X7VRF25X.js} +5 -5
  51. package/Build/Workers/{chunk-O5SSW3B3.js → chunk-YANQEHO5.js} +6 -6
  52. package/Build/Workers/{chunk-HBZSCVZC.js → chunk-ZZNBFQL5.js} +11 -11
  53. package/Build/Workers/combineGeometry.js +23 -25
  54. package/Build/Workers/createBoxGeometry.js +16 -16
  55. package/Build/Workers/createBoxOutlineGeometry.js +14 -14
  56. package/Build/Workers/createCircleGeometry.js +24 -24
  57. package/Build/Workers/createCircleOutlineGeometry.js +17 -17
  58. package/Build/Workers/createCoplanarPolygonGeometry.js +31 -31
  59. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
  60. package/Build/Workers/createCorridorGeometry.js +27 -27
  61. package/Build/Workers/createCorridorOutlineGeometry.js +26 -26
  62. package/Build/Workers/createCylinderGeometry.js +18 -18
  63. package/Build/Workers/createCylinderOutlineGeometry.js +16 -16
  64. package/Build/Workers/createEllipseGeometry.js +24 -24
  65. package/Build/Workers/createEllipseOutlineGeometry.js +17 -17
  66. package/Build/Workers/createEllipsoidGeometry.js +17 -17
  67. package/Build/Workers/createEllipsoidOutlineGeometry.js +16 -16
  68. package/Build/Workers/createFrustumGeometry.js +16 -16
  69. package/Build/Workers/createFrustumOutlineGeometry.js +16 -16
  70. package/Build/Workers/createGeometry.js +25 -26
  71. package/Build/Workers/createGroundPolylineGeometry.js +20 -20
  72. package/Build/Workers/createPlaneGeometry.js +14 -14
  73. package/Build/Workers/createPlaneOutlineGeometry.js +13 -13
  74. package/Build/Workers/createPolygonGeometry.js +36 -40
  75. package/Build/Workers/createPolygonOutlineGeometry.js +40 -48
  76. package/Build/Workers/createPolylineGeometry.js +23 -23
  77. package/Build/Workers/createPolylineVolumeGeometry.js +32 -31
  78. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
  79. package/Build/Workers/createRectangleGeometry.js +28 -30
  80. package/Build/Workers/createRectangleOutlineGeometry.js +19 -19
  81. package/Build/Workers/createSimplePolylineGeometry.js +21 -21
  82. package/Build/Workers/createSphereGeometry.js +17 -17
  83. package/Build/Workers/createSphereOutlineGeometry.js +16 -16
  84. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  85. package/Build/Workers/createVectorTileClampedPolylines.js +13 -13
  86. package/Build/Workers/createVectorTileGeometries.js +22 -22
  87. package/Build/Workers/createVectorTilePoints.js +12 -12
  88. package/Build/Workers/createVectorTilePolygons.js +20 -20
  89. package/Build/Workers/createVectorTilePolylines.js +13 -13
  90. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -26
  91. package/Build/Workers/createVerticesFromHeightmap.js +22 -26
  92. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +42 -32
  93. package/Build/Workers/createWallGeometry.js +22 -22
  94. package/Build/Workers/createWallOutlineGeometry.js +21 -21
  95. package/Build/Workers/decodeDraco.js +11 -11
  96. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  97. package/Build/Workers/decodeI3S.js +10 -10
  98. package/Build/Workers/transcodeKTX2.js +7 -7
  99. package/Build/Workers/transferTypedArrayTest.js +1 -1
  100. package/Build/Workers/upsampleQuantizedTerrainMesh.js +20 -20
  101. package/Source/Core/ApproximateTerrainHeights.js +15 -15
  102. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +33 -35
  103. package/Source/Core/AttributeCompression.js +12 -12
  104. package/Source/Core/AxisAlignedBoundingBox.js +2 -2
  105. package/Source/Core/BingMapsGeocoderService.js +1 -1
  106. package/Source/Core/BoundingRectangle.js +3 -3
  107. package/Source/Core/BoundingSphere.js +45 -45
  108. package/Source/Core/BoxGeometry.js +6 -6
  109. package/Source/Core/BoxOutlineGeometry.js +3 -3
  110. package/Source/Core/Cartesian2.js +7 -7
  111. package/Source/Core/Cartesian3.js +20 -20
  112. package/Source/Core/Cartesian4.js +8 -8
  113. package/Source/Core/Cartographic.js +6 -6
  114. package/Source/Core/CatmullRomSpline.js +6 -6
  115. package/Source/Core/CesiumTerrainProvider.js +66 -68
  116. package/Source/Core/Check.d.ts +3 -3
  117. package/Source/Core/Check.js +11 -11
  118. package/Source/Core/CircleGeometry.js +6 -6
  119. package/Source/Core/CircleOutlineGeometry.js +4 -4
  120. package/Source/Core/Clock.js +4 -4
  121. package/Source/Core/Color.js +12 -9
  122. package/Source/Core/ColorGeometryInstanceAttribute.js +1 -1
  123. package/Source/Core/ComponentDatatype.js +4 -4
  124. package/Source/Core/CompressedTextureBuffer.js +2 -2
  125. package/Source/Core/ConstantSpline.js +1 -1
  126. package/Source/Core/CoplanarPolygonGeometry.js +44 -41
  127. package/Source/Core/CoplanarPolygonGeometryLibrary.js +5 -5
  128. package/Source/Core/CoplanarPolygonOutlineGeometry.js +6 -6
  129. package/Source/Core/CorridorGeometry.js +77 -77
  130. package/Source/Core/CorridorGeometryLibrary.js +48 -48
  131. package/Source/Core/CorridorOutlineGeometry.js +16 -16
  132. package/Source/Core/CullingVolume.js +4 -4
  133. package/Source/Core/CustomHeightmapTerrainProvider.js +13 -13
  134. package/Source/Core/CylinderGeometry.js +8 -8
  135. package/Source/Core/CylinderGeometryLibrary.js +1 -1
  136. package/Source/Core/CylinderOutlineGeometry.js +4 -4
  137. package/Source/Core/DeveloperError.js +1 -1
  138. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +20 -21
  139. package/Source/Core/DoubleEndedPriorityQueue.js +2 -2
  140. package/Source/Core/EarthOrientationParameters.js +21 -25
  141. package/Source/Core/EarthOrientationParametersSample.js +1 -1
  142. package/Source/Core/EllipseGeometry.js +55 -56
  143. package/Source/Core/EllipseGeometryLibrary.js +12 -12
  144. package/Source/Core/EllipseOutlineGeometry.js +19 -19
  145. package/Source/Core/Ellipsoid.js +25 -33
  146. package/Source/Core/EllipsoidGeodesic.js +18 -17
  147. package/Source/Core/EllipsoidGeometry.js +9 -8
  148. package/Source/Core/EllipsoidOutlineGeometry.js +4 -4
  149. package/Source/Core/EllipsoidRhumbLine.js +33 -32
  150. package/Source/Core/EllipsoidTangentPlane.js +16 -16
  151. package/Source/Core/EllipsoidTerrainProvider.js +11 -10
  152. package/Source/Core/EllipsoidalOccluder.js +110 -130
  153. package/Source/Core/FeatureDetection.js +4 -4
  154. package/Source/Core/FrustumGeometry.js +15 -15
  155. package/Source/Core/FrustumOutlineGeometry.js +4 -4
  156. package/Source/Core/GeographicTilingScheme.js +6 -6
  157. package/Source/Core/Geometry.js +15 -17
  158. package/Source/Core/GeometryAttribute.js +4 -9
  159. package/Source/Core/GeometryAttributes.js +6 -6
  160. package/Source/Core/GeometryInstance.js +3 -4
  161. package/Source/Core/GeometryInstanceAttribute.js +1 -6
  162. package/Source/Core/GeometryPipeline.js +133 -137
  163. package/Source/Core/GoogleEarthEnterpriseMetadata.js +19 -20
  164. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +25 -24
  165. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +17 -21
  166. package/Source/Core/GoogleEarthEnterpriseTileInformation.js +2 -2
  167. package/Source/Core/GoogleMaps.js +1 -1
  168. package/Source/Core/GregorianDate.js +4 -4
  169. package/Source/Core/GroundPolylineGeometry.js +104 -104
  170. package/Source/Core/HeadingPitchRoll.js +7 -7
  171. package/Source/Core/HeightmapTerrainData.js +58 -54
  172. package/Source/Core/HeightmapTessellator.js +22 -23
  173. package/Source/Core/HermitePolynomialApproximation.js +8 -8
  174. package/Source/Core/HermiteSpline.js +11 -11
  175. package/Source/Core/HilbertOrder.js +1 -1
  176. package/Source/Core/Iau2006XysData.js +6 -6
  177. package/Source/Core/IauOrientationAxes.js +2 -2
  178. package/Source/Core/IauOrientationParameters.js +1 -1
  179. package/Source/Core/IndexDatatype.js +5 -5
  180. package/Source/Core/IntersectionTests.js +36 -78
  181. package/Source/Core/Intersections2D.js +3 -3
  182. package/Source/Core/Ion.js +1 -1
  183. package/Source/Core/IonGeocoderService.js +2 -2
  184. package/Source/Core/IonResource.js +5 -5
  185. package/Source/Core/Iso8601.js +3 -3
  186. package/Source/Core/JulianDate.js +23 -33
  187. package/Source/Core/KTX2Transcoder.js +2 -2
  188. package/Source/Core/LagrangePolynomialApproximation.js +1 -1
  189. package/Source/Core/LinearApproximation.js +4 -4
  190. package/Source/Core/LinearSpline.js +2 -2
  191. package/Source/Core/Math.js +6 -4
  192. package/Source/Core/Matrix2.js +3 -3
  193. package/Source/Core/Matrix3.js +16 -16
  194. package/Source/Core/Matrix4.js +31 -31
  195. package/Source/Core/MorphWeightSpline.js +2 -2
  196. package/Source/Core/NearFarScalar.js +1 -1
  197. package/Source/Core/Occluder.js +52 -56
  198. package/Source/Core/OpenCageGeocoderService.js +2 -2
  199. package/Source/Core/OrientedBoundingBox.js +52 -51
  200. package/Source/Core/OrthographicFrustum.js +11 -11
  201. package/Source/Core/OrthographicOffCenterFrustum.js +17 -17
  202. package/Source/Core/PeliasGeocoderService.js +1 -1
  203. package/Source/Core/PerspectiveFrustum.js +61 -55
  204. package/Source/Core/PerspectiveOffCenterFrustum.js +58 -59
  205. package/Source/Core/PinBuilder.js +1 -1
  206. package/Source/Core/PixelFormat.js +6 -6
  207. package/Source/Core/Plane.js +9 -9
  208. package/Source/Core/PlaneGeometry.js +1 -1
  209. package/Source/Core/PolygonGeometry.js +95 -94
  210. package/Source/Core/PolygonGeometryLibrary.js +49 -51
  211. package/Source/Core/PolygonOutlineGeometry.js +49 -51
  212. package/Source/Core/PolygonPipeline.js +31 -31
  213. package/Source/Core/PolylineGeometry.js +10 -10
  214. package/Source/Core/PolylinePipeline.js +25 -25
  215. package/Source/Core/PolylineVolumeGeometry.js +9 -9
  216. package/Source/Core/PolylineVolumeGeometryLibrary.js +53 -53
  217. package/Source/Core/PolylineVolumeOutlineGeometry.js +6 -6
  218. package/Source/Core/QuadraticRealPolynomial.js +1 -1
  219. package/Source/Core/QuantizedMeshTerrainData.js +28 -28
  220. package/Source/Core/QuarticRealPolynomial.js +1 -1
  221. package/Source/Core/Quaternion.js +19 -19
  222. package/Source/Core/QuaternionSpline.js +2 -2
  223. package/Source/Core/Rectangle.js +34 -13
  224. package/Source/Core/RectangleCollisionChecker.js +3 -3
  225. package/Source/Core/RectangleGeometry.js +55 -56
  226. package/Source/Core/RectangleGeometryLibrary.js +8 -8
  227. package/Source/Core/RectangleOutlineGeometry.js +20 -20
  228. package/Source/Core/RequestScheduler.js +6 -6
  229. package/Source/Core/Resource.js +24 -24
  230. package/Source/Core/S2Cell.js +16 -80
  231. package/Source/Core/ScreenSpaceEventHandler.js +54 -53
  232. package/Source/Core/Simon1994PlanetaryPositions.js +13 -13
  233. package/Source/Core/SimplePolylineGeometry.js +7 -7
  234. package/Source/Core/SphereGeometry.js +2 -2
  235. package/Source/Core/SphereOutlineGeometry.js +3 -3
  236. package/Source/Core/Spline.js +1 -1
  237. package/Source/Core/SteppedSpline.js +1 -1
  238. package/Source/Core/Stereographic.js +9 -9
  239. package/Source/Core/TaskProcessor.js +13 -13
  240. package/Source/Core/TerrainEncoding.js +33 -38
  241. package/Source/Core/TerrainMesh.js +1 -1
  242. package/Source/Core/TerrainProvider.js +12 -12
  243. package/Source/Core/TileAvailability.js +28 -28
  244. package/Source/Core/TileProviderError.js +5 -5
  245. package/Source/Core/TilingScheme.js +1 -1
  246. package/Source/Core/TimeInterval.js +4 -4
  247. package/Source/Core/TimeIntervalCollection.js +16 -15
  248. package/Source/Core/Tipsify.js +2 -2
  249. package/Source/Core/Transforms.js +52 -54
  250. package/Source/Core/TranslationRotationScale.js +1 -1
  251. package/Source/Core/TridiagonalSystemSolver.js +4 -4
  252. package/Source/Core/VRTheWorldTerrainProvider.js +28 -26
  253. package/Source/Core/VertexFormat.js +6 -6
  254. package/Source/Core/VerticalExaggeration.js +4 -4
  255. package/Source/Core/VideoSynchronizer.js +1 -1
  256. package/Source/Core/WallGeometry.js +18 -18
  257. package/Source/Core/WallGeometryLibrary.js +7 -7
  258. package/Source/Core/WallOutlineGeometry.js +8 -8
  259. package/Source/Core/WebMercatorProjection.js +5 -6
  260. package/Source/Core/WebMercatorTilingScheme.js +13 -13
  261. package/Source/Core/WireframeIndexGenerator.js +8 -8
  262. package/Source/Core/arrayRemoveDuplicates.js +1 -1
  263. package/Source/Core/buildModuleUrl.js +2 -2
  264. package/Source/Core/decodeGoogleEarthEnterpriseData.js +4 -4
  265. package/Source/Core/decodeVectorPolylinePositions.js +4 -4
  266. package/Source/Core/destroyObject.js +1 -1
  267. package/Source/Core/getJsonFromTypedArray.js +1 -1
  268. package/Source/Core/getMagic.js +1 -1
  269. package/Source/Core/loadImageFromTypedArray.js +2 -2
  270. package/Source/Core/loadKTX2.js +1 -1
  271. package/Source/Core/pointInsideTriangle.js +1 -1
  272. package/Source/Core/resizeImageToNextPowerOfTwo.js +1 -1
  273. package/Source/Core/sampleTerrain.js +7 -7
  274. package/Source/Core/sampleTerrainMostDetailed.js +7 -7
  275. package/Source/Core/scaleToGeodeticSurface.js +3 -3
  276. package/Source/Core/srgbToLinear.js +1 -1
  277. package/Source/Core/writeTextToCanvas.js +1 -1
  278. package/Source/DataSources/BillboardGraphics.js +13 -13
  279. package/Source/DataSources/BillboardVisualizer.js +24 -24
  280. package/Source/DataSources/BoxGeometryUpdater.js +33 -32
  281. package/Source/DataSources/BoxGraphics.js +3 -3
  282. package/Source/DataSources/CallbackPositionProperty.js +173 -0
  283. package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
  284. package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -6
  285. package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
  286. package/Source/DataSources/ColorMaterialProperty.js +1 -1
  287. package/Source/DataSources/CompositeEntityCollection.js +14 -15
  288. package/Source/DataSources/CompositeMaterialProperty.js +5 -7
  289. package/Source/DataSources/CompositePositionProperty.js +4 -5
  290. package/Source/DataSources/CompositeProperty.js +2 -2
  291. package/Source/DataSources/ConstantPositionProperty.js +2 -2
  292. package/Source/DataSources/CorridorGeometryUpdater.js +61 -56
  293. package/Source/DataSources/CorridorGraphics.js +6 -6
  294. package/Source/DataSources/CylinderGeometryUpdater.js +42 -40
  295. package/Source/DataSources/CylinderGraphics.js +4 -4
  296. package/Source/DataSources/CzmlDataSource.js +365 -368
  297. package/Source/DataSources/DataSourceCollection.js +1 -1
  298. package/Source/DataSources/DataSourceDisplay.js +24 -24
  299. package/Source/DataSources/DynamicGeometryBatch.js +2 -2
  300. package/Source/DataSources/DynamicGeometryUpdater.js +14 -18
  301. package/Source/DataSources/EllipseGeometryUpdater.js +67 -63
  302. package/Source/DataSources/EllipseGraphics.js +7 -7
  303. package/Source/DataSources/EllipsoidGeometryUpdater.js +88 -86
  304. package/Source/DataSources/EllipsoidGraphics.js +5 -5
  305. package/Source/DataSources/Entity.js +13 -13
  306. package/Source/DataSources/EntityCluster.js +29 -27
  307. package/Source/DataSources/EntityCollection.js +7 -7
  308. package/Source/DataSources/EntityView.js +23 -23
  309. package/Source/DataSources/GeoJsonDataSource.js +25 -25
  310. package/Source/DataSources/GeometryUpdater.js +9 -10
  311. package/Source/DataSources/GeometryUpdaterSet.js +3 -3
  312. package/Source/DataSources/GeometryVisualizer.js +65 -71
  313. package/Source/DataSources/GpxDataSource.js +10 -10
  314. package/Source/DataSources/GridMaterialProperty.js +5 -5
  315. package/Source/DataSources/GroundGeometryUpdater.js +6 -6
  316. package/Source/DataSources/ImageMaterialProperty.js +2 -2
  317. package/Source/DataSources/KmlDataSource.js +212 -212
  318. package/Source/DataSources/LabelGraphics.js +14 -14
  319. package/Source/DataSources/LabelVisualizer.js +24 -24
  320. package/Source/DataSources/ModelGraphics.js +38 -17
  321. package/Source/DataSources/ModelVisualizer.js +41 -32
  322. package/Source/DataSources/NodeTransformationProperty.js +3 -3
  323. package/Source/DataSources/PathGraphics.js +2 -2
  324. package/Source/DataSources/PathVisualizer.js +99 -35
  325. package/Source/DataSources/PlaneGeometryUpdater.js +38 -37
  326. package/Source/DataSources/PlaneGraphics.js +2 -2
  327. package/Source/DataSources/PointGraphics.js +8 -8
  328. package/Source/DataSources/PointVisualizer.js +29 -29
  329. package/Source/DataSources/PolygonGeometryUpdater.js +68 -64
  330. package/Source/DataSources/PolygonGraphics.js +9 -9
  331. package/Source/DataSources/PolylineArrowMaterialProperty.js +1 -1
  332. package/Source/DataSources/PolylineDashMaterialProperty.js +4 -4
  333. package/Source/DataSources/PolylineGeometryUpdater.js +39 -44
  334. package/Source/DataSources/PolylineGlowMaterialProperty.js +3 -3
  335. package/Source/DataSources/PolylineGraphics.js +4 -4
  336. package/Source/DataSources/PolylineOutlineMaterialProperty.js +3 -3
  337. package/Source/DataSources/PolylineVisualizer.js +39 -43
  338. package/Source/DataSources/PolylineVolumeGeometryUpdater.js +70 -68
  339. package/Source/DataSources/PolylineVolumeGraphics.js +2 -2
  340. package/Source/DataSources/PositionProperty.js +4 -3
  341. package/Source/DataSources/PositionPropertyArray.js +3 -3
  342. package/Source/DataSources/Property.js +1 -1
  343. package/Source/DataSources/PropertyArray.js +1 -1
  344. package/Source/DataSources/PropertyBag.js +5 -5
  345. package/Source/DataSources/RectangleGeometryUpdater.js +68 -63
  346. package/Source/DataSources/RectangleGraphics.js +6 -6
  347. package/Source/DataSources/ReferenceProperty.js +6 -6
  348. package/Source/DataSources/Rotation.js +2 -2
  349. package/Source/DataSources/SampledPositionProperty.js +6 -6
  350. package/Source/DataSources/SampledProperty.js +16 -16
  351. package/Source/DataSources/ScaledPositionProperty.js +2 -2
  352. package/Source/DataSources/StaticGeometryColorBatch.js +41 -41
  353. package/Source/DataSources/StaticGeometryPerMaterialBatch.js +40 -40
  354. package/Source/DataSources/StaticGroundGeometryColorBatch.js +26 -27
  355. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +46 -44
  356. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +44 -43
  357. package/Source/DataSources/StaticOutlineGeometryBatch.js +28 -29
  358. package/Source/DataSources/StripeMaterialProperty.js +2 -2
  359. package/Source/DataSources/TerrainOffsetProperty.js +11 -11
  360. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +28 -30
  361. package/Source/DataSources/TimeIntervalCollectionProperty.js +1 -1
  362. package/Source/DataSources/VelocityOrientationProperty.js +3 -3
  363. package/Source/DataSources/VelocityVectorProperty.js +4 -4
  364. package/Source/DataSources/WallGeometryUpdater.js +25 -25
  365. package/Source/DataSources/WallGraphics.js +4 -4
  366. package/Source/DataSources/createPropertyDescriptor.js +3 -3
  367. package/Source/DataSources/exportKml.js +90 -86
  368. package/Source/DataSources/getElement.js +1 -1
  369. package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +4 -4
  370. package/Source/Renderer/AutomaticUniforms.js +14 -1
  371. package/Source/Renderer/Buffer.js +18 -18
  372. package/Source/Renderer/ClearCommand.js +1 -1
  373. package/Source/Renderer/ComputeEngine.js +1 -1
  374. package/Source/Renderer/Context.js +40 -40
  375. package/Source/Renderer/CubeMap.js +109 -32
  376. package/Source/Renderer/CubeMapFace.js +109 -32
  377. package/Source/Renderer/DrawCommand.js +50 -5
  378. package/Source/Renderer/Framebuffer.js +48 -49
  379. package/Source/Renderer/FramebufferManager.js +40 -34
  380. package/Source/Renderer/MultisampleFramebuffer.js +35 -14
  381. package/Source/Renderer/RenderState.js +36 -36
  382. package/Source/Renderer/Renderbuffer.js +3 -3
  383. package/Source/Renderer/Sampler.js +2 -2
  384. package/Source/Renderer/ShaderBuilder.js +8 -8
  385. package/Source/Renderer/ShaderCache.js +11 -15
  386. package/Source/Renderer/ShaderFunction.js +1 -1
  387. package/Source/Renderer/ShaderProgram.js +15 -15
  388. package/Source/Renderer/ShaderSource.js +40 -40
  389. package/Source/Renderer/Texture.js +74 -63
  390. package/Source/Renderer/UniformState.js +78 -58
  391. package/Source/Renderer/VertexArray.js +20 -20
  392. package/Source/Renderer/VertexArrayFacade.js +15 -16
  393. package/Source/Renderer/createUniform.js +1 -1
  394. package/Source/Renderer/createUniformArray.js +4 -4
  395. package/Source/Renderer/demodernizeShader.js +5 -5
  396. package/Source/Renderer/loadCubeMap.js +1 -1
  397. package/Source/Scene/ArcGisMapServerImageryProvider.js +39 -45
  398. package/Source/Scene/ArcGisMapService.js +4 -7
  399. package/Source/Scene/Atmosphere.js +22 -0
  400. package/Source/Scene/AutoExposure.js +4 -5
  401. package/Source/Scene/Axis.js +6 -6
  402. package/Source/Scene/B3dmParser.js +9 -9
  403. package/Source/Scene/BatchTable.js +7 -7
  404. package/Source/Scene/BatchTableHierarchy.js +62 -59
  405. package/Source/Scene/BatchTexture.js +2 -2
  406. package/Source/Scene/Billboard.js +45 -43
  407. package/Source/Scene/BillboardCollection.js +81 -83
  408. package/Source/Scene/BingMapsImageryProvider.js +13 -13
  409. package/Source/Scene/BoundingVolumeSemantics.js +10 -10
  410. package/Source/Scene/BoxEmitter.js +1 -1
  411. package/Source/Scene/BufferLoader.js +1 -1
  412. package/Source/Scene/Camera.js +161 -164
  413. package/Source/Scene/CameraEventAggregator.js +18 -18
  414. package/Source/Scene/CameraFlightPath.js +25 -25
  415. package/Source/Scene/Cesium3DTile.js +89 -95
  416. package/Source/Scene/Cesium3DTileBatchTable.js +61 -61
  417. package/Source/Scene/Cesium3DTileContentFactory.js +7 -7
  418. package/Source/Scene/Cesium3DTileFeature.js +1 -1
  419. package/Source/Scene/Cesium3DTileFeatureTable.js +8 -8
  420. package/Source/Scene/Cesium3DTileOptimizations.js +1 -1
  421. package/Source/Scene/Cesium3DTilePointFeature.js +11 -11
  422. package/Source/Scene/Cesium3DTileStyle.js +26 -24
  423. package/Source/Scene/Cesium3DTilesVoxelProvider.js +14 -20
  424. package/Source/Scene/Cesium3DTileset.js +120 -83
  425. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +8 -16
  426. package/Source/Scene/Cesium3DTilesetCache.js +2 -2
  427. package/Source/Scene/Cesium3DTilesetHeatmap.js +5 -5
  428. package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
  429. package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +2 -2
  430. package/Source/Scene/Cesium3DTilesetSkipTraversal.js +8 -12
  431. package/Source/Scene/Cesium3DTilesetStatistics.js +1 -1
  432. package/Source/Scene/Cesium3DTilesetTraversal.js +8 -10
  433. package/Source/Scene/ClassificationPrimitive.js +70 -69
  434. package/Source/Scene/ClippingPlaneCollection.js +39 -41
  435. package/Source/Scene/ClippingPolygon.js +8 -8
  436. package/Source/Scene/ClippingPolygonCollection.js +62 -63
  437. package/Source/Scene/CloudCollection.js +3 -10
  438. package/Source/Scene/Composite3DTileContent.js +6 -6
  439. package/Source/Scene/ConditionsExpression.js +5 -5
  440. package/Source/Scene/ContentMetadata.js +4 -4
  441. package/Source/Scene/CreditDisplay.js +8 -8
  442. package/Source/Scene/CumulusCloud.js +4 -4
  443. package/Source/Scene/DebugAppearance.js +2 -2
  444. package/Source/Scene/DebugCameraPrimitive.js +2 -2
  445. package/Source/Scene/DebugInspector.js +3 -3
  446. package/Source/Scene/DebugModelMatrixPrimitive.js +4 -4
  447. package/Source/Scene/DepthPlane.js +7 -7
  448. package/Source/Scene/DerivedCommand.js +422 -238
  449. package/Source/Scene/DiscardMissingTileImagePolicy.js +1 -1
  450. package/Source/Scene/DracoLoader.js +3 -3
  451. package/Source/Scene/DynamicEnvironmentMapManager.js +852 -0
  452. package/Source/Scene/EllipsoidPrimitive.js +7 -7
  453. package/Source/Scene/EllipsoidSurfaceAppearance.js +3 -3
  454. package/Source/Scene/Empty3DTileContent.js +1 -1
  455. package/Source/Scene/Expression.js +91 -91
  456. package/Source/Scene/Fog.js +76 -116
  457. package/Source/Scene/FrameRateMonitor.js +22 -22
  458. package/Source/Scene/FrameState.js +36 -3
  459. package/Source/Scene/Geometry3DTileContent.js +20 -20
  460. package/Source/Scene/GetFeatureInfoFormat.js +15 -14
  461. package/Source/Scene/Globe.js +32 -27
  462. package/Source/Scene/GlobeDepth.js +95 -66
  463. package/Source/Scene/GlobeSurfaceShaderSet.js +12 -10
  464. package/Source/Scene/GlobeSurfaceTile.js +33 -33
  465. package/Source/Scene/GlobeSurfaceTileProvider.js +127 -124
  466. package/Source/Scene/GlobeTranslucency.js +4 -4
  467. package/Source/Scene/GlobeTranslucencyFramebuffer.js +9 -9
  468. package/Source/Scene/GlobeTranslucencyState.js +53 -55
  469. package/Source/Scene/GltfBufferViewLoader.js +2 -2
  470. package/Source/Scene/GltfIndexBufferLoader.js +5 -5
  471. package/Source/Scene/GltfJsonLoader.js +2 -2
  472. package/Source/Scene/GltfLoader.js +177 -100
  473. package/Source/Scene/GltfStructuralMetadataLoader.js +9 -8
  474. package/Source/Scene/GltfTextureLoader.js +5 -5
  475. package/Source/Scene/GltfVertexBufferLoader.js +12 -13
  476. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +9 -9
  477. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +9 -9
  478. package/Source/Scene/GridImageryProvider.js +2 -2
  479. package/Source/Scene/GroundPolylinePrimitive.js +38 -39
  480. package/Source/Scene/GroundPrimitive.js +47 -45
  481. package/Source/Scene/GroupMetadata.js +4 -4
  482. package/Source/Scene/I3SDataProvider.js +12 -12
  483. package/Source/Scene/I3SDecoder.js +7 -8
  484. package/Source/Scene/I3SField.js +8 -8
  485. package/Source/Scene/I3SGeometry.js +14 -14
  486. package/Source/Scene/I3SLayer.js +26 -20
  487. package/Source/Scene/I3SNode.js +17 -17
  488. package/Source/Scene/I3SSublayer.js +4 -4
  489. package/Source/Scene/I3SSymbology.js +8 -8
  490. package/Source/Scene/I3dmParser.js +9 -9
  491. package/Source/Scene/ImageBasedLighting.js +32 -87
  492. package/Source/Scene/Imagery.js +3 -3
  493. package/Source/Scene/ImageryLayer.js +64 -66
  494. package/Source/Scene/ImageryLayerCollection.js +13 -15
  495. package/Source/Scene/ImageryLayerFeatureInfo.js +19 -20
  496. package/Source/Scene/ImageryProvider.js +1 -1
  497. package/Source/Scene/Implicit3DTileContent.js +34 -37
  498. package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -2
  499. package/Source/Scene/ImplicitMetadataView.js +2 -2
  500. package/Source/Scene/ImplicitSubtree.js +29 -30
  501. package/Source/Scene/ImplicitSubtreeCache.js +1 -1
  502. package/Source/Scene/ImplicitSubtreeMetadata.js +5 -5
  503. package/Source/Scene/ImplicitTileCoordinates.js +11 -11
  504. package/Source/Scene/ImplicitTileset.js +2 -2
  505. package/Source/Scene/InvertClassification.js +7 -7
  506. package/Source/Scene/IonImageryProvider.js +6 -6
  507. package/Source/Scene/JobScheduler.js +4 -4
  508. package/Source/Scene/Label.js +29 -29
  509. package/Source/Scene/LabelCollection.js +17 -15
  510. package/Source/Scene/MapboxImageryProvider.js +3 -3
  511. package/Source/Scene/MapboxStyleImageryProvider.js +4 -4
  512. package/Source/Scene/Material.js +26 -27
  513. package/Source/Scene/MaterialAppearance.js +4 -4
  514. package/Source/Scene/Megatexture.js +21 -24
  515. package/Source/Scene/MetadataClassProperty.js +11 -11
  516. package/Source/Scene/MetadataComponentType.js +1 -1
  517. package/Source/Scene/MetadataEntity.js +8 -8
  518. package/Source/Scene/MetadataEnum.js +1 -1
  519. package/Source/Scene/MetadataPicking.js +305 -0
  520. package/Source/Scene/MetadataSchemaLoader.js +1 -1
  521. package/Source/Scene/MetadataTable.js +2 -2
  522. package/Source/Scene/MetadataTableProperty.js +22 -22
  523. package/Source/Scene/Model/AlphaPipelineStage.js +2 -2
  524. package/Source/Scene/Model/AtmospherePipelineStage.js +13 -8
  525. package/Source/Scene/Model/B3dmLoader.js +8 -8
  526. package/Source/Scene/Model/BatchTexturePipelineStage.js +2 -2
  527. package/Source/Scene/Model/CPUStylingPipelineStage.js +4 -4
  528. package/Source/Scene/Model/ClassificationModelDrawCommand.js +8 -8
  529. package/Source/Scene/Model/ClassificationPipelineStage.js +5 -5
  530. package/Source/Scene/Model/CustomShader.js +9 -9
  531. package/Source/Scene/Model/CustomShaderPipelineStage.js +37 -38
  532. package/Source/Scene/Model/DequantizationPipelineStage.js +5 -5
  533. package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
  534. package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
  535. package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
  536. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
  537. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
  538. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +548 -0
  539. package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
  540. package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
  541. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +75 -0
  542. package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
  543. package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
  544. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +30 -0
  545. package/Source/Scene/Model/FeatureIdPipelineStage.js +40 -40
  546. package/Source/Scene/Model/GeoJsonLoader.js +17 -17
  547. package/Source/Scene/Model/GeometryPipelineStage.js +23 -24
  548. package/Source/Scene/Model/I3dmLoader.js +36 -36
  549. package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +56 -34
  550. package/Source/Scene/Model/InstancingPipelineStage.js +86 -86
  551. package/Source/Scene/Model/LightingPipelineStage.js +4 -4
  552. package/Source/Scene/Model/MaterialPipelineStage.js +78 -93
  553. package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
  554. package/Source/Scene/Model/MetadataPipelineStage.js +39 -47
  555. package/Source/Scene/Model/Model.js +228 -75
  556. package/Source/Scene/Model/Model3DTileContent.js +37 -13
  557. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  558. package/Source/Scene/Model/ModelAnimationCollection.js +9 -9
  559. package/Source/Scene/Model/ModelArticulation.js +2 -2
  560. package/Source/Scene/Model/ModelArticulationStage.js +4 -4
  561. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +11 -11
  562. package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +6 -6
  563. package/Source/Scene/Model/ModelColorPipelineStage.js +12 -13
  564. package/Source/Scene/Model/ModelDrawCommand.js +5 -5
  565. package/Source/Scene/Model/{buildDrawCommand.js → ModelDrawCommands.js} +85 -28
  566. package/Source/Scene/Model/ModelFeatureTable.js +5 -5
  567. package/Source/Scene/Model/ModelMatrixUpdateStage.js +24 -12
  568. package/Source/Scene/Model/ModelRenderResources.js +1 -1
  569. package/Source/Scene/Model/ModelRuntimeNode.js +15 -15
  570. package/Source/Scene/Model/ModelRuntimePrimitive.js +8 -5
  571. package/Source/Scene/Model/ModelSceneGraph.js +43 -43
  572. package/Source/Scene/Model/ModelSilhouettePipelineStage.js +4 -4
  573. package/Source/Scene/Model/ModelSkin.js +4 -4
  574. package/Source/Scene/Model/ModelSplitterPipelineStage.js +8 -9
  575. package/Source/Scene/Model/ModelUtility.js +5 -5
  576. package/Source/Scene/Model/MorphTargetsPipelineStage.js +18 -18
  577. package/Source/Scene/Model/NodeRenderResources.js +1 -1
  578. package/Source/Scene/Model/NodeStatisticsPipelineStage.js +1 -1
  579. package/Source/Scene/Model/PickingPipelineStage.js +5 -5
  580. package/Source/Scene/Model/PntsLoader.js +7 -7
  581. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +22 -23
  582. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +6 -6
  583. package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +7 -7
  584. package/Source/Scene/Model/PrimitiveRenderResources.js +3 -3
  585. package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +1 -1
  586. package/Source/Scene/Model/SceneMode2DPipelineStage.js +23 -23
  587. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +10 -14
  588. package/Source/Scene/Model/SkinningPipelineStage.js +5 -5
  589. package/Source/Scene/Model/StyleCommandsNeeded.js +1 -1
  590. package/Source/Scene/Model/TextureManager.js +2 -2
  591. package/Source/Scene/Model/TextureUniform.js +3 -3
  592. package/Source/Scene/Model/TilesetPipelineStage.js +2 -2
  593. package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +4 -4
  594. package/Source/Scene/Model/WireframePipelineStage.js +7 -7
  595. package/Source/Scene/Model/pickModel.js +26 -26
  596. package/Source/Scene/ModelComponents.js +13 -4
  597. package/Source/Scene/Moon.js +6 -5
  598. package/Source/Scene/Multiple3DTileContent.js +15 -14
  599. package/Source/Scene/OIT.js +48 -97
  600. package/Source/Scene/OpenStreetMapImageryProvider.js +8 -7
  601. package/Source/Scene/OrderedGroundPrimitiveCollection.js +2 -2
  602. package/Source/Scene/Particle.js +3 -3
  603. package/Source/Scene/ParticleEmitter.js +1 -1
  604. package/Source/Scene/ParticleSystem.js +32 -32
  605. package/Source/Scene/PerInstanceColorAppearance.js +1 -1
  606. package/Source/Scene/PickDepth.js +16 -4
  607. package/Source/Scene/PickDepthFramebuffer.js +1 -1
  608. package/Source/Scene/PickFramebuffer.js +24 -12
  609. package/Source/Scene/PickedMetadataInfo.js +39 -0
  610. package/Source/Scene/Picking.js +270 -120
  611. package/Source/Scene/PntsParser.js +28 -28
  612. package/Source/Scene/PointCloud.js +39 -38
  613. package/Source/Scene/PointCloudEyeDomeLighting.js +6 -6
  614. package/Source/Scene/PointCloudShading.js +3 -3
  615. package/Source/Scene/PointPrimitive.js +31 -28
  616. package/Source/Scene/PointPrimitiveCollection.js +34 -33
  617. package/Source/Scene/Polyline.js +9 -9
  618. package/Source/Scene/PolylineCollection.js +55 -57
  619. package/Source/Scene/PolylineColorAppearance.js +3 -3
  620. package/Source/Scene/PolylineMaterialAppearance.js +3 -3
  621. package/Source/Scene/PostProcessStage.js +95 -115
  622. package/Source/Scene/PostProcessStageCollection.js +35 -41
  623. package/Source/Scene/PostProcessStageComposite.js +2 -2
  624. package/Source/Scene/PostProcessStageLibrary.js +5 -5
  625. package/Source/Scene/PostProcessStageTextureCache.js +10 -10
  626. package/Source/Scene/Primitive.js +93 -93
  627. package/Source/Scene/PrimitiveCollection.js +1 -1
  628. package/Source/Scene/PrimitiveLoadPlan.js +1 -1
  629. package/Source/Scene/PrimitivePipeline.js +30 -30
  630. package/Source/Scene/PropertyTable.js +5 -5
  631. package/Source/Scene/PropertyTextureProperty.js +36 -7
  632. package/Source/Scene/QuadtreePrimitive.js +56 -58
  633. package/Source/Scene/QuadtreeTile.js +4 -4
  634. package/Source/Scene/QuadtreeTileProvider.js +1 -1
  635. package/Source/Scene/ResourceCache.js +7 -7
  636. package/Source/Scene/ResourceCacheKey.js +15 -15
  637. package/Source/Scene/Scene.js +879 -657
  638. package/Source/Scene/SceneFramebuffer.js +2 -2
  639. package/Source/Scene/SceneTransforms.js +30 -30
  640. package/Source/Scene/SceneTransitioner.js +47 -47
  641. package/Source/Scene/ScreenSpaceCameraController.js +180 -154
  642. package/Source/Scene/SensorVolumePortionToDisplay.js +1 -1
  643. package/Source/Scene/ShadowMap.js +71 -72
  644. package/Source/Scene/ShadowMapShader.js +9 -9
  645. package/Source/Scene/ShadowVolumeAppearance.js +39 -39
  646. package/Source/Scene/SingleTileImageryProvider.js +3 -3
  647. package/Source/Scene/SkyAtmosphere.js +8 -8
  648. package/Source/Scene/SkyBox.js +7 -8
  649. package/Source/Scene/SpatialNode.js +13 -13
  650. package/Source/Scene/SphereEmitter.js +1 -1
  651. package/Source/Scene/StructuralMetadata.js +1 -1
  652. package/Source/Scene/StyleExpression.js +1 -1
  653. package/Source/Scene/Sun.js +11 -7
  654. package/Source/Scene/SunPostProcess.js +6 -6
  655. package/Source/Scene/TerrainFillMesh.js +157 -156
  656. package/Source/Scene/TextureAtlas.js +11 -11
  657. package/Source/Scene/TileBoundingRegion.js +31 -31
  658. package/Source/Scene/TileBoundingS2Cell.js +37 -40
  659. package/Source/Scene/TileBoundingSphere.js +2 -2
  660. package/Source/Scene/TileCoordinatesImageryProvider.js +3 -3
  661. package/Source/Scene/TileImagery.js +7 -11
  662. package/Source/Scene/TileMapServiceImageryProvider.js +26 -25
  663. package/Source/Scene/TileMetadata.js +4 -4
  664. package/Source/Scene/TileOrientedBoundingBox.js +6 -6
  665. package/Source/Scene/Tileset3DTileContent.js +1 -1
  666. package/Source/Scene/TilesetMetadata.js +4 -4
  667. package/Source/Scene/TimeDynamicImagery.js +3 -3
  668. package/Source/Scene/TimeDynamicPointCloud.js +9 -9
  669. package/Source/Scene/TranslucentTileClassification.js +48 -58
  670. package/Source/Scene/TweenCollection.js +9 -9
  671. package/Source/Scene/UrlTemplateImageryProvider.js +23 -23
  672. package/Source/Scene/Vector3DTileClampedPolylines.js +21 -21
  673. package/Source/Scene/Vector3DTileContent.js +38 -39
  674. package/Source/Scene/Vector3DTileGeometry.js +11 -8
  675. package/Source/Scene/Vector3DTilePoints.js +18 -22
  676. package/Source/Scene/Vector3DTilePolygons.js +6 -6
  677. package/Source/Scene/Vector3DTilePolylines.js +8 -8
  678. package/Source/Scene/Vector3DTilePrimitive.js +30 -31
  679. package/Source/Scene/View.js +111 -80
  680. package/Source/Scene/VoxelBoxShape.js +34 -34
  681. package/Source/Scene/VoxelCell.js +7 -7
  682. package/Source/Scene/VoxelContent.js +1 -1
  683. package/Source/Scene/VoxelCylinderShape.js +48 -48
  684. package/Source/Scene/VoxelEllipsoidShape.js +83 -97
  685. package/Source/Scene/VoxelPrimitive.js +80 -80
  686. package/Source/Scene/VoxelRenderResources.js +13 -13
  687. package/Source/Scene/VoxelTraversal.js +41 -41
  688. package/Source/Scene/WebMapServiceImageryProvider.js +12 -12
  689. package/Source/Scene/WebMapTileServiceImageryProvider.js +8 -8
  690. package/Source/Scene/buildVoxelDrawCommands.js +10 -14
  691. package/Source/Scene/computeFlyToLocationForRectangle.js +7 -5
  692. package/Source/Scene/createBillboardPointCallback.js +2 -2
  693. package/Source/Scene/createElevationBandMaterial.js +8 -8
  694. package/Source/Scene/createGooglePhotorealistic3DTileset.js +1 -1
  695. package/Source/Scene/createOsmBuildingsAsync.js +1 -1
  696. package/Source/Scene/createTangentSpaceDebugPrimitive.js +7 -7
  697. package/Source/Scene/findContentMetadata.js +2 -2
  698. package/Source/Scene/findTileMetadata.js +2 -2
  699. package/Source/Scene/getBinaryAccessor.js +1 -1
  700. package/Source/Scene/getClipAndStyleCode.js +1 -1
  701. package/Source/Scene/getClippingFunction.js +1 -1
  702. package/Source/Scene/getMetadataClassProperty.js +43 -0
  703. package/Source/Scene/parseBatchTable.js +21 -24
  704. package/Source/Scene/parseFeatureMetadataLegacy.js +3 -3
  705. package/Source/Scene/parseStructuralMetadata.js +3 -3
  706. package/Source/Scene/processVoxelProperties.js +28 -33
  707. package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.glsl +44 -0
  708. package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.js +44 -0
  709. package/Source/Shaders/Builtin/Functions/computeScattering.glsl +0 -1
  710. package/Source/Shaders/Builtin/Functions/computeScattering.js +0 -1
  711. package/Source/Shaders/Builtin/Functions/packDepth.glsl +2 -2
  712. package/Source/Shaders/Builtin/Functions/packDepth.js +2 -2
  713. package/Source/Shaders/Builtin/Functions/sphericalHarmonics.glsl +3 -1
  714. package/Source/Shaders/Builtin/Functions/sphericalHarmonics.js +3 -1
  715. package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +3 -3
  716. package/Source/Shaders/Builtin/Functions/unpackDepth.js +3 -3
  717. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +1 -1
  718. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +1 -1
  719. package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +2 -2
  720. package/Source/Shaders/Builtin/Functions/writeLogDepth.js +2 -2
  721. package/Source/Shaders/ComputeIrradianceFS.glsl +103 -0
  722. package/Source/Shaders/ComputeIrradianceFS.js +105 -0
  723. package/Source/Shaders/ComputeRadianceMapFS.glsl +107 -0
  724. package/Source/Shaders/ComputeRadianceMapFS.js +109 -0
  725. package/Source/Shaders/ConvolveSpecularMapFS.glsl +70 -0
  726. package/Source/Shaders/ConvolveSpecularMapFS.js +72 -0
  727. package/Source/Shaders/ConvolveSpecularMapVS.glsl +24 -0
  728. package/Source/Shaders/ConvolveSpecularMapVS.js +26 -0
  729. package/Source/Shaders/DepthPlaneVS.glsl +1 -1
  730. package/Source/Shaders/DepthPlaneVS.js +1 -1
  731. package/Source/Shaders/GlobeFS.glsl +1 -2
  732. package/Source/Shaders/GlobeFS.js +1 -2
  733. package/Source/Shaders/Model/AtmosphereStageFS.glsl +1 -4
  734. package/Source/Shaders/Model/AtmosphereStageFS.js +1 -4
  735. package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +2 -155
  736. package/Source/Shaders/Model/ImageBasedLightingStageFS.js +3 -156
  737. package/Source/Shaders/Model/LightingStageFS.glsl +3 -22
  738. package/Source/Shaders/Model/LightingStageFS.js +3 -22
  739. package/Source/Shaders/Model/ModelFS.glsl +26 -0
  740. package/Source/Shaders/Model/ModelFS.js +26 -0
  741. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +59 -59
  742. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +60 -60
  743. package/Source/Shaders/SkyBoxVS.glsl +0 -1
  744. package/Source/Shaders/SkyBoxVS.js +0 -1
  745. package/Source/Widget/CesiumWidget.js +785 -9
  746. package/Source/Workers/combineGeometry.js +3 -4
  747. package/Source/Workers/createCircleGeometry.js +2 -2
  748. package/Source/Workers/createCircleOutlineGeometry.js +2 -2
  749. package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  750. package/Source/Workers/createCorridorOutlineGeometry.js +2 -2
  751. package/Source/Workers/createEllipsoidOutlineGeometry.js +1 -1
  752. package/Source/Workers/createGeometry.js +4 -5
  753. package/Source/Workers/createGroundPolylineGeometry.js +1 -1
  754. package/Source/Workers/createPolylineVolumeGeometry.js +2 -2
  755. package/Source/Workers/createPolylineVolumeOutlineGeometry.js +4 -4
  756. package/Source/Workers/createRectangleOutlineGeometry.js +1 -1
  757. package/Source/Workers/createSimplePolylineGeometry.js +2 -2
  758. package/Source/Workers/createTaskProcessorWorker.js +1 -1
  759. package/Source/Workers/createVectorTileClampedPolylines.js +30 -30
  760. package/Source/Workers/createVectorTileGeometries.js +18 -18
  761. package/Source/Workers/createVectorTilePoints.js +3 -3
  762. package/Source/Workers/createVectorTilePolygons.js +11 -11
  763. package/Source/Workers/createVectorTilePolylines.js +7 -7
  764. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +29 -30
  765. package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +60 -60
  766. package/Source/Workers/decodeDraco.js +23 -23
  767. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +4 -4
  768. package/Source/Workers/decodeI3S.js +53 -53
  769. package/Source/Workers/transcodeKTX2.js +9 -9
  770. package/Source/Workers/transferTypedArrayTest.js +1 -1
  771. package/Source/Workers/upsampleQuantizedTerrainMesh.js +37 -36
  772. package/index.d.ts +769 -47
  773. package/index.js +73 -51
  774. package/package.json +3 -3
@@ -61,6 +61,7 @@ import Cesium3DTilesetMostDetailedTraversal from "./Cesium3DTilesetMostDetailedT
61
61
  import Cesium3DTilesetBaseTraversal from "./Cesium3DTilesetBaseTraversal.js";
62
62
  import Cesium3DTilesetSkipTraversal from "./Cesium3DTilesetSkipTraversal.js";
63
63
  import Ray from "../Core/Ray.js";
64
+ import DynamicEnvironmentMapManager from "./DynamicEnvironmentMapManager.js";
64
65
 
65
66
  /**
66
67
  * @typedef {Object} Cesium3DTileset.ConstructorOptions
@@ -104,6 +105,7 @@ import Ray from "../Core/Ray.js";
104
105
  * @property {object} [pointCloudShading] Options for constructing a {@link PointCloudShading} object to control point attenuation based on geometric error and lighting.
105
106
  * @property {Cartesian3} [lightColor] The light color when shading models. When <code>undefined</code> the scene's light color is used instead.
106
107
  * @property {ImageBasedLighting} [imageBasedLighting] The properties for managing image-based lighting for this tileset.
108
+ * @param {DynamicEnvironmentMapManager.ConstructorOptions} [options.environmentMapOptions] The properties for managing dynamic environment maps on this model.
107
109
  * @property {boolean} [backFaceCulling=true] Whether to cull back-facing geometry. When true, back face culling is determined by the glTF material's doubleSided property; when false, back face culling is disabled.
108
110
  * @property {boolean} [enableShowOutline=true] Whether to enable outlines for models using the {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/CESIUM_primitive_outline|CESIUM_primitive_outline} extension. This can be set to false to avoid the additional processing of geometry at load time. When false, the showOutlines and outlineColor options are ignored.
109
111
  * @property {boolean} [showOutline=true] Whether to display the outline for models using the {@link https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/CESIUM_primitive_outline|CESIUM_primitive_outline} extension. When true, outlines are displayed. When false, outlines are not displayed.
@@ -229,7 +231,7 @@ function Cesium3DTileset(options) {
229
231
 
230
232
  this._cullWithChildrenBounds = defaultValue(
231
233
  options.cullWithChildrenBounds,
232
- true
234
+ true,
233
235
  );
234
236
  this._allTilesAdditive = true;
235
237
 
@@ -240,7 +242,7 @@ function Cesium3DTileset(options) {
240
242
 
241
243
  this._maximumScreenSpaceError = defaultValue(
242
244
  options.maximumScreenSpaceError,
243
- 16
245
+ 16,
244
246
  );
245
247
  this._memoryAdjustedScreenSpaceError = this._maximumScreenSpaceError;
246
248
 
@@ -251,13 +253,13 @@ function Cesium3DTileset(options) {
251
253
 
252
254
  const maximumCacheOverflowBytes = defaultValue(
253
255
  options.maximumCacheOverflowBytes,
254
- 512 * 1024 * 1024
256
+ 512 * 1024 * 1024,
255
257
  );
256
258
  //>>includeStart('debug', pragmas.debug);
257
259
  Check.typeOf.number.greaterThanOrEquals(
258
260
  "maximumCacheOverflowBytes",
259
261
  maximumCacheOverflowBytes,
260
- 0
262
+ 0,
261
263
  );
262
264
  //>>includeEnd('debug');
263
265
  this._maximumCacheOverflowBytes = maximumCacheOverflowBytes;
@@ -294,7 +296,7 @@ function Cesium3DTileset(options) {
294
296
  reverseScreenSpaceError: Number.MAX_VALUE,
295
297
  };
296
298
  this._heatmap = new Cesium3DTilesetHeatmap(
297
- options.debugHeatmapTilePropertyName
299
+ options.debugHeatmapTilePropertyName,
298
300
  );
299
301
 
300
302
  /**
@@ -305,7 +307,7 @@ function Cesium3DTileset(options) {
305
307
  */
306
308
  this.cullRequestsWhileMoving = defaultValue(
307
309
  options.cullRequestsWhileMoving,
308
- true
310
+ true,
309
311
  );
310
312
  this._cullRequestsWhileMoving = false;
311
313
 
@@ -317,7 +319,7 @@ function Cesium3DTileset(options) {
317
319
  */
318
320
  this.cullRequestsWhileMovingMultiplier = defaultValue(
319
321
  options.cullRequestsWhileMovingMultiplier,
320
- 60.0
322
+ 60.0,
321
323
  );
322
324
 
323
325
  /**
@@ -329,7 +331,7 @@ function Cesium3DTileset(options) {
329
331
  this.progressiveResolutionHeightFraction = CesiumMath.clamp(
330
332
  defaultValue(options.progressiveResolutionHeightFraction, 0.3),
331
333
  0.0,
332
- 0.5
334
+ 0.5,
333
335
  );
334
336
 
335
337
  /**
@@ -355,12 +357,12 @@ function Cesium3DTileset(options) {
355
357
 
356
358
  this._vectorClassificationOnly = defaultValue(
357
359
  options.vectorClassificationOnly,
358
- false
360
+ false,
359
361
  );
360
362
 
361
363
  this._vectorKeepDecodedPositions = defaultValue(
362
364
  options.vectorKeepDecodedPositions,
363
- false
365
+ false,
364
366
  );
365
367
 
366
368
  /**
@@ -379,7 +381,7 @@ function Cesium3DTileset(options) {
379
381
  */
380
382
  this.preloadFlightDestinations = defaultValue(
381
383
  options.preloadFlightDestinations,
382
- true
384
+ true,
383
385
  );
384
386
  this._pass = undefined; // Cesium3DTilePass
385
387
 
@@ -395,7 +397,7 @@ function Cesium3DTileset(options) {
395
397
  */
396
398
  this.dynamicScreenSpaceError = defaultValue(
397
399
  options.dynamicScreenSpaceError,
398
- true
400
+ true,
399
401
  );
400
402
 
401
403
  /**
@@ -408,12 +410,12 @@ function Cesium3DTileset(options) {
408
410
  */
409
411
  this.foveatedScreenSpaceError = defaultValue(
410
412
  options.foveatedScreenSpaceError,
411
- true
413
+ true,
412
414
  );
413
415
  this._foveatedConeSize = defaultValue(options.foveatedConeSize, 0.1);
414
416
  this._foveatedMinimumScreenSpaceErrorRelaxation = defaultValue(
415
417
  options.foveatedMinimumScreenSpaceErrorRelaxation,
416
- 0.0
418
+ 0.0,
417
419
  );
418
420
 
419
421
  /**
@@ -424,7 +426,7 @@ function Cesium3DTileset(options) {
424
426
  */
425
427
  this.foveatedInterpolationCallback = defaultValue(
426
428
  options.foveatedInterpolationCallback,
427
- CesiumMath.lerp
429
+ CesiumMath.lerp,
428
430
  );
429
431
 
430
432
  /**
@@ -461,7 +463,7 @@ function Cesium3DTileset(options) {
461
463
  */
462
464
  this.dynamicScreenSpaceErrorDensity = defaultValue(
463
465
  options.dynamicScreenSpaceErrorDensity,
464
- 2.0e-4
466
+ 2.0e-4,
465
467
  );
466
468
 
467
469
  /**
@@ -482,7 +484,7 @@ function Cesium3DTileset(options) {
482
484
  */
483
485
  this.dynamicScreenSpaceErrorFactor = defaultValue(
484
486
  options.dynamicScreenSpaceErrorFactor,
485
- 24.0
487
+ 24.0,
486
488
  );
487
489
 
488
490
  /**
@@ -496,7 +498,7 @@ function Cesium3DTileset(options) {
496
498
  */
497
499
  this.dynamicScreenSpaceErrorHeightFalloff = defaultValue(
498
500
  options.dynamicScreenSpaceErrorHeightFalloff,
499
- 0.25
501
+ 0.25,
500
502
  );
501
503
 
502
504
  // Updated based on the camera position and direction
@@ -759,7 +761,7 @@ function Cesium3DTileset(options) {
759
761
  */
760
762
  this.skipScreenSpaceErrorFactor = defaultValue(
761
763
  options.skipScreenSpaceErrorFactor,
762
- 16
764
+ 16,
763
765
  );
764
766
 
765
767
  /**
@@ -786,7 +788,7 @@ function Cesium3DTileset(options) {
786
788
  */
787
789
  this.immediatelyLoadDesiredLevelOfDetail = defaultValue(
788
790
  options.immediatelyLoadDesiredLevelOfDetail,
789
- false
791
+ false,
790
792
  );
791
793
 
792
794
  /**
@@ -806,7 +808,7 @@ function Cesium3DTileset(options) {
806
808
  ClippingPlaneCollection.setOwner(
807
809
  options.clippingPlanes,
808
810
  this,
809
- "_clippingPlanes"
811
+ "_clippingPlanes",
810
812
  );
811
813
  }
812
814
 
@@ -815,7 +817,7 @@ function Cesium3DTileset(options) {
815
817
  ClippingPolygonCollection.setOwner(
816
818
  options.clippingPolygons,
817
819
  this,
818
- "_clippingPolygons"
820
+ "_clippingPolygons",
819
821
  );
820
822
  }
821
823
 
@@ -827,6 +829,10 @@ function Cesium3DTileset(options) {
827
829
  this._shouldDestroyImageBasedLighting = true;
828
830
  }
829
831
 
832
+ this._environmentMapManager = new DynamicEnvironmentMapManager(
833
+ options.environmentMapOptions,
834
+ );
835
+
830
836
  /**
831
837
  * The light color when shading models. When <code>undefined</code> the scene's light color is used instead.
832
838
  * <p>
@@ -877,7 +883,7 @@ function Cesium3DTileset(options) {
877
883
  */
878
884
  this.splitDirection = defaultValue(
879
885
  options.splitDirection,
880
- SplitDirection.NONE
886
+ SplitDirection.NONE,
881
887
  );
882
888
 
883
889
  /**
@@ -918,7 +924,7 @@ function Cesium3DTileset(options) {
918
924
 
919
925
  this._enableDebugWireframe = defaultValue(
920
926
  options.enableDebugWireframe,
921
- false
927
+ false,
922
928
  );
923
929
 
924
930
  /**
@@ -936,7 +942,7 @@ function Cesium3DTileset(options) {
936
942
  if (this.debugWireframe === true && this._enableDebugWireframe === false) {
937
943
  oneTimeWarning(
938
944
  "tileset-debug-wireframe-ignored",
939
- "enableDebugWireframe must be set to true in the Cesium3DTileset constructor, otherwise debugWireframe will be ignored."
945
+ "enableDebugWireframe must be set to true in the Cesium3DTileset constructor, otherwise debugWireframe will be ignored.",
940
946
  );
941
947
  }
942
948
 
@@ -953,7 +959,7 @@ function Cesium3DTileset(options) {
953
959
  */
954
960
  this.debugShowBoundingVolume = defaultValue(
955
961
  options.debugShowBoundingVolume,
956
- false
962
+ false,
957
963
  );
958
964
 
959
965
  /**
@@ -968,7 +974,7 @@ function Cesium3DTileset(options) {
968
974
  */
969
975
  this.debugShowContentBoundingVolume = defaultValue(
970
976
  options.debugShowContentBoundingVolume,
971
- false
977
+ false,
972
978
  );
973
979
 
974
980
  /**
@@ -982,7 +988,7 @@ function Cesium3DTileset(options) {
982
988
  */
983
989
  this.debugShowViewerRequestVolume = defaultValue(
984
990
  options.debugShowViewerRequestVolume,
985
- false
991
+ false,
986
992
  );
987
993
 
988
994
  /**
@@ -1005,7 +1011,7 @@ function Cesium3DTileset(options) {
1005
1011
  */
1006
1012
  this.debugShowGeometricError = defaultValue(
1007
1013
  options.debugShowGeometricError,
1008
- false
1014
+ false,
1009
1015
  );
1010
1016
 
1011
1017
  /**
@@ -1019,7 +1025,7 @@ function Cesium3DTileset(options) {
1019
1025
  */
1020
1026
  this.debugShowRenderingStatistics = defaultValue(
1021
1027
  options.debugShowRenderingStatistics,
1022
- false
1028
+ false,
1023
1029
  );
1024
1030
 
1025
1031
  /**
@@ -1068,7 +1074,7 @@ function Cesium3DTileset(options) {
1068
1074
 
1069
1075
  let instanceFeatureIdLabel = defaultValue(
1070
1076
  options.instanceFeatureIdLabel,
1071
- "instanceFeatureId_0"
1077
+ "instanceFeatureId_0",
1072
1078
  );
1073
1079
  if (typeof instanceFeatureIdLabel === "number") {
1074
1080
  instanceFeatureIdLabel = `instanceFeatureId_${instanceFeatureIdLabel}`;
@@ -1224,7 +1230,7 @@ Object.defineProperties(Cesium3DTileset.prototype, {
1224
1230
  get: function () {
1225
1231
  deprecationWarning(
1226
1232
  "Cesium3DTileset.basePath",
1227
- "Cesium3DTileset.basePath has been deprecated. All tiles are relative to the url of the tileset JSON file that contains them. Use the url property instead."
1233
+ "Cesium3DTileset.basePath has been deprecated. All tiles are relative to the url of the tileset JSON file that contains them. Use the url property instead.",
1228
1234
  );
1229
1235
  return this._basePath;
1230
1236
  },
@@ -1440,7 +1446,7 @@ Object.defineProperties(Cesium3DTileset.prototype, {
1440
1446
  Check.typeOf.number.greaterThanOrEquals(
1441
1447
  "maximumScreenSpaceError",
1442
1448
  value,
1443
- 0
1449
+ 0,
1444
1450
  );
1445
1451
  //>>includeEnd('debug');
1446
1452
 
@@ -1675,7 +1681,7 @@ Object.defineProperties(Cesium3DTileset.prototype, {
1675
1681
  Matrix4.multiply(
1676
1682
  this.root.computedTransform,
1677
1683
  this._initialClippingPlanesOriginMatrix,
1678
- this._clippingPlanesOriginMatrix
1684
+ this._clippingPlanesOriginMatrix,
1679
1685
  );
1680
1686
  this._clippingPlanesOriginMatrixDirty = false;
1681
1687
  }
@@ -1801,12 +1807,12 @@ Object.defineProperties(Cesium3DTileset.prototype, {
1801
1807
  Check.typeOf.number.greaterThanOrEquals(
1802
1808
  "foveatedMinimumScreenSpaceErrorRelaxation",
1803
1809
  value,
1804
- 0.0
1810
+ 0.0,
1805
1811
  );
1806
1812
  Check.typeOf.number.lessThanOrEquals(
1807
1813
  "foveatedMinimumScreenSpaceErrorRelaxation",
1808
1814
  value,
1809
- this.maximumScreenSpaceError
1815
+ this.maximumScreenSpaceError,
1810
1816
  );
1811
1817
  //>>includeEnd('debug');
1812
1818
 
@@ -1859,6 +1865,25 @@ Object.defineProperties(Cesium3DTileset.prototype, {
1859
1865
  },
1860
1866
  },
1861
1867
 
1868
+ /**
1869
+ * The properties for managing dynamic environment maps on this model. Affects lighting.
1870
+ *
1871
+ * @memberof Cesium3DTileset.prototype
1872
+ * @readonly
1873
+ *
1874
+ * @example
1875
+ * // Change the ground color used for a tileset's environment map to a forest green
1876
+ * const environmentMapManager = tileset.environmentMapManager;
1877
+ * environmentMapManager.groundColor = Cesium.Color.fromCssColorString("#203b34");
1878
+ *
1879
+ * @type {DynamicEnvironmentMapManager}
1880
+ */
1881
+ environmentMapManager: {
1882
+ get: function () {
1883
+ return this._environmentMapManager;
1884
+ },
1885
+ },
1886
+
1862
1887
  /**
1863
1888
  * Indicates that only the tileset's vector tiles should be used for classification.
1864
1889
  *
@@ -2080,7 +2105,7 @@ Cesium3DTileset.fromUrl = async function (url, options) {
2080
2105
  const tilesetJson = await Cesium3DTileset.loadJson(resource);
2081
2106
  const metadataExtension = await processMetadataExtension(
2082
2107
  resource,
2083
- tilesetJson
2108
+ tilesetJson,
2084
2109
  );
2085
2110
 
2086
2111
  const tileset = new Cesium3DTileset(options);
@@ -2118,27 +2143,25 @@ Cesium3DTileset.fromUrl = async function (url, options) {
2118
2143
  // the tile transform and model matrix at run time
2119
2144
  const boundingVolume = tileset._root.createBoundingVolume(
2120
2145
  tilesetJson.root.boundingVolume,
2121
- Matrix4.IDENTITY
2146
+ Matrix4.IDENTITY,
2122
2147
  );
2123
2148
  const clippingPlanesOrigin = boundingVolume.boundingSphere.center;
2124
2149
  // If this origin is above the surface of the earth
2125
2150
  // we want to apply an ENU orientation as our best guess of orientation.
2126
2151
  // Otherwise, we assume it gets its position/orientation completely from the
2127
2152
  // root tile transform and the tileset's model matrix
2128
- const originCartographic = tileset._ellipsoid.cartesianToCartographic(
2129
- clippingPlanesOrigin
2130
- );
2153
+ const originCartographic =
2154
+ tileset._ellipsoid.cartesianToCartographic(clippingPlanesOrigin);
2131
2155
  if (
2132
2156
  defined(originCartographic) &&
2133
2157
  originCartographic.height >
2134
2158
  ApproximateTerrainHeights._defaultMinTerrainHeight
2135
2159
  ) {
2136
- tileset._initialClippingPlanesOriginMatrix = Transforms.eastNorthUpToFixedFrame(
2137
- clippingPlanesOrigin
2138
- );
2160
+ tileset._initialClippingPlanesOriginMatrix =
2161
+ Transforms.eastNorthUpToFixedFrame(clippingPlanesOrigin);
2139
2162
  }
2140
2163
  tileset._clippingPlanesOriginMatrix = Matrix4.clone(
2141
- tileset._initialClippingPlanesOriginMatrix
2164
+ tileset._initialClippingPlanesOriginMatrix,
2142
2165
  );
2143
2166
 
2144
2167
  return tileset;
@@ -2174,7 +2197,7 @@ Cesium3DTileset.prototype.makeStyleDirty = function () {
2174
2197
  Cesium3DTileset.prototype.loadTileset = function (
2175
2198
  resource,
2176
2199
  tilesetJson,
2177
- parentTile
2200
+ parentTile,
2178
2201
  ) {
2179
2202
  const asset = tilesetJson.asset;
2180
2203
  if (!defined(asset)) {
@@ -2186,7 +2209,7 @@ Cesium3DTileset.prototype.loadTileset = function (
2186
2209
  asset.version !== "1.1"
2187
2210
  ) {
2188
2211
  throw new RuntimeError(
2189
- "The tileset must be 3D Tiles version 0.0, 1.0, or 1.1"
2212
+ "The tileset must be 3D Tiles version 0.0, 1.0, or 1.1",
2190
2213
  );
2191
2214
  }
2192
2215
 
@@ -2269,7 +2292,7 @@ function makeTile(tileset, baseResource, tileHeader, parentTile) {
2269
2292
  const implicitTileset = new ImplicitTileset(
2270
2293
  baseResource,
2271
2294
  tileHeader,
2272
- metadataSchema
2295
+ metadataSchema,
2273
2296
  );
2274
2297
  const rootCoordinates = new ImplicitTileCoordinates({
2275
2298
  subdivisionScheme: implicitTileset.subdivisionScheme,
@@ -2385,21 +2408,21 @@ function updateDynamicScreenSpaceError(tileset, frameState) {
2385
2408
  // Transform camera position and direction into the local coordinate system of the tileset
2386
2409
  const transformLocal = Matrix4.inverseTransformation(
2387
2410
  root.computedTransform,
2388
- scratchMatrix
2411
+ scratchMatrix,
2389
2412
  );
2390
2413
  const ellipsoid = frameState.mapProjection.ellipsoid;
2391
2414
  const boundingVolume = tileBoundingVolume.boundingVolume;
2392
2415
  const centerLocal = Matrix4.multiplyByPoint(
2393
2416
  transformLocal,
2394
2417
  boundingVolume.center,
2395
- scratchCenter
2418
+ scratchCenter,
2396
2419
  );
2397
2420
  if (Cartesian3.magnitude(centerLocal) > ellipsoid.minimumRadius) {
2398
2421
  // The tileset is defined in WGS84. Approximate the minimum and maximum height.
2399
2422
  const centerCartographic = Cartographic.fromCartesian(
2400
2423
  centerLocal,
2401
2424
  ellipsoid,
2402
- scratchCartographic
2425
+ scratchCartographic,
2403
2426
  );
2404
2427
  up = Cartesian3.normalize(camera.positionWC, scratchPositionNormal);
2405
2428
  direction = camera.directionWC;
@@ -2411,13 +2434,13 @@ function updateDynamicScreenSpaceError(tileset, frameState) {
2411
2434
  const positionLocal = Matrix4.multiplyByPoint(
2412
2435
  transformLocal,
2413
2436
  camera.positionWC,
2414
- scratchPosition
2437
+ scratchPosition,
2415
2438
  );
2416
2439
  up = Cartesian3.UNIT_Z;
2417
2440
  direction = Matrix4.multiplyByPointAsVector(
2418
2441
  transformLocal,
2419
2442
  camera.directionWC,
2420
- scratchDirection
2443
+ scratchDirection,
2421
2444
  );
2422
2445
  direction = Cartesian3.normalize(direction, direction);
2423
2446
  height = positionLocal.z;
@@ -2427,7 +2450,7 @@ function updateDynamicScreenSpaceError(tileset, frameState) {
2427
2450
  const halfHeightVector = Matrix3.getColumn(
2428
2451
  boundingVolume.halfAxes,
2429
2452
  2,
2430
- scratchHalfHeight
2453
+ scratchHalfHeight,
2431
2454
  );
2432
2455
  const halfHeight = Cartesian3.magnitude(halfHeightVector);
2433
2456
  minimumHeight = centerLocal.z - halfHeight;
@@ -2449,7 +2472,7 @@ function updateDynamicScreenSpaceError(tileset, frameState) {
2449
2472
  const t = CesiumMath.clamp(
2450
2473
  (height - heightClose) / (heightFar - heightClose),
2451
2474
  0.0,
2452
- 1.0
2475
+ 1.0,
2453
2476
  );
2454
2477
 
2455
2478
  // Increase density as the camera tilts towards the horizon
@@ -2563,7 +2586,7 @@ Cesium3DTileset.prototype.prePassesUpdate = function (frameState) {
2563
2586
  }
2564
2587
  this._timeSinceLoad = Math.max(
2565
2588
  JulianDate.secondsDifference(frameState.time, this._loadTimestamp) * 1000,
2566
- 0.0
2589
+ 0.0,
2567
2590
  );
2568
2591
 
2569
2592
  if (this.dynamicScreenSpaceError) {
@@ -2646,6 +2669,7 @@ function handleTileFailure(error, tileset, tile) {
2646
2669
  } else {
2647
2670
  console.log(`A 3D tile failed to load: ${url}`);
2648
2671
  console.log(`Error: ${message}`);
2672
+ console.log(error.stack);
2649
2673
  }
2650
2674
  }
2651
2675
 
@@ -2693,12 +2717,12 @@ function processUpdateHeight(tileset, tile, frameState) {
2693
2717
  const ellipsoid = callbackData.ellipsoid;
2694
2718
  const positionCartographic = Cartographic.clone(
2695
2719
  callbackData.positionCartographic,
2696
- scratchUpdateHeightCartographic
2720
+ scratchUpdateHeightCartographic,
2697
2721
  );
2698
2722
  const centerCartographic = Cartographic.fromCartesian(
2699
2723
  boundingSphere.center,
2700
2724
  ellipsoid,
2701
- scratchUpdateHeightCartographic2
2725
+ scratchUpdateHeightCartographic2,
2702
2726
  );
2703
2727
 
2704
2728
  // This can be undefined when the bounding sphere is at the origin
@@ -2709,7 +2733,7 @@ function processUpdateHeight(tileset, tile, frameState) {
2709
2733
  const position = Cartographic.toCartesian(
2710
2734
  positionCartographic,
2711
2735
  ellipsoid,
2712
- scratchUpdateHeightCartesian
2736
+ scratchUpdateHeightCartesian,
2713
2737
  );
2714
2738
  if (
2715
2739
  Cartesian3.distance(position, boundingSphere.center) <=
@@ -2773,7 +2797,7 @@ function increaseScreenSpaceError(tileset) {
2773
2797
  "increase-screenSpaceError",
2774
2798
  `The tiles needed to meet maximumScreenSpaceError would use more memory than allocated for this tileset.
2775
2799
  The tileset will be rendered with a larger screen space error (see memoryAdjustedScreenSpaceError).
2776
- Consider using larger values for cacheBytes and maximumCacheOverflowBytes.`
2800
+ Consider using larger values for cacheBytes and maximumCacheOverflowBytes.`,
2777
2801
  );
2778
2802
  //>>includeEnd('debug');
2779
2803
 
@@ -2788,7 +2812,7 @@ function increaseScreenSpaceError(tileset) {
2788
2812
  function decreaseScreenSpaceError(tileset) {
2789
2813
  tileset._memoryAdjustedScreenSpaceError = Math.max(
2790
2814
  tileset.memoryAdjustedScreenSpaceError / 1.02,
2791
- tileset.maximumScreenSpaceError
2815
+ tileset.maximumScreenSpaceError,
2792
2816
  );
2793
2817
  }
2794
2818
 
@@ -2829,7 +2853,7 @@ function computeTileLabelPosition(tile) {
2829
2853
  normal = Cartesian3.multiplyByScalar(
2830
2854
  normal,
2831
2855
  0.75 * radius,
2832
- scratchCartesian
2856
+ scratchCartesian,
2833
2857
  );
2834
2858
  position = Cartesian3.add(normal, center, scratchCartesian);
2835
2859
  }
@@ -2875,10 +2899,10 @@ function addTileDebugLabel(tile, tileset, position) {
2875
2899
 
2876
2900
  if (tileset.debugShowMemoryUsage) {
2877
2901
  labelString += `\nTexture Memory: ${formatMemoryString(
2878
- tile.content.texturesByteLength
2902
+ tile.content.texturesByteLength,
2879
2903
  )}`;
2880
2904
  labelString += `\nGeometry Memory: ${formatMemoryString(
2881
- tile.content.geometryByteLength
2905
+ tile.content.geometryByteLength,
2882
2906
  )}`;
2883
2907
  attributes += 2;
2884
2908
  }
@@ -2928,7 +2952,7 @@ function updateTileDebugLabels(tileset, frameState) {
2928
2952
  const label = addTileDebugLabel(
2929
2953
  tileset.debugPickedTile,
2930
2954
  tileset,
2931
- position
2955
+ position,
2932
2956
  );
2933
2957
  label.pixelOffset = new Cartesian2(15, -15); // Offset to avoid picking the label.
2934
2958
  }
@@ -3068,7 +3092,7 @@ function updateTiles(tileset, frameState, passOptions) {
3068
3092
  frameState,
3069
3093
  numberOfInitialCommands,
3070
3094
  tileset.pointCloudShading,
3071
- tileset.boundingSphere
3095
+ tileset.boundingSphere,
3072
3096
  );
3073
3097
  }
3074
3098
 
@@ -3172,7 +3196,7 @@ function raiseLoadProgressEvent(tileset, frameState) {
3172
3196
  frameState.afterRender.push(function () {
3173
3197
  tileset.loadProgress.raiseEvent(
3174
3198
  numberOfPendingRequests,
3175
- numberOfTilesProcessing
3199
+ numberOfTilesProcessing,
3176
3200
  );
3177
3201
 
3178
3202
  return true;
@@ -3234,12 +3258,12 @@ function detectModelMatrixChanged(tileset, frameState) {
3234
3258
  tileset._updatedModelMatrixFrame = frameState.frameNumber;
3235
3259
  tileset._modelMatrixChanged = !Matrix4.equals(
3236
3260
  tileset.modelMatrix,
3237
- tileset._previousModelMatrix
3261
+ tileset._previousModelMatrix,
3238
3262
  );
3239
3263
  if (tileset._modelMatrixChanged) {
3240
3264
  tileset._previousModelMatrix = Matrix4.clone(
3241
3265
  tileset.modelMatrix,
3242
- tileset._previousModelMatrix
3266
+ tileset._previousModelMatrix,
3243
3267
  );
3244
3268
  }
3245
3269
  }
@@ -3329,7 +3353,7 @@ function createCredits(tileset) {
3329
3353
  credits.forEach(
3330
3354
  (credit) =>
3331
3355
  (credit.showOnScreen =
3332
- credit.showOnScreen || tileset._showCreditsOnScreen)
3356
+ credit.showOnScreen || tileset._showCreditsOnScreen),
3333
3357
  );
3334
3358
 
3335
3359
  tileset._credits = credits;
@@ -3368,7 +3392,7 @@ Cesium3DTileset.prototype.update = function (frameState) {
3368
3392
  */
3369
3393
  Cesium3DTileset.prototype.updateForPass = function (
3370
3394
  frameState,
3371
- tilesetPassState
3395
+ tilesetPassState,
3372
3396
  ) {
3373
3397
  //>>includeStart('debug', pragmas.debug);
3374
3398
  Check.typeOf.object("frameState", frameState);
@@ -3400,7 +3424,7 @@ Cesium3DTileset.prototype.updateForPass = function (
3400
3424
 
3401
3425
  const commandList = defaultValue(
3402
3426
  tilesetPassState.commandList,
3403
- originalCommandList
3427
+ originalCommandList,
3404
3428
  );
3405
3429
  const commandStart = commandList.length;
3406
3430
 
@@ -3408,9 +3432,17 @@ Cesium3DTileset.prototype.updateForPass = function (
3408
3432
  frameState.camera = defaultValue(tilesetPassState.camera, originalCamera);
3409
3433
  frameState.cullingVolume = defaultValue(
3410
3434
  tilesetPassState.cullingVolume,
3411
- originalCullingVolume
3435
+ originalCullingVolume,
3412
3436
  );
3413
3437
 
3438
+ if (passOptions.isRender) {
3439
+ const environmentMapManager = this._environmentMapManager;
3440
+ if (defined(this._root)) {
3441
+ environmentMapManager.position = this.boundingSphere.center;
3442
+ }
3443
+ environmentMapManager.update(frameState);
3444
+ }
3445
+
3414
3446
  // Update clipping polygons
3415
3447
  const clippingPolygons = this._clippingPolygons;
3416
3448
  if (defined(clippingPolygons) && clippingPolygons.enabled) {
@@ -3425,7 +3457,7 @@ Cesium3DTileset.prototype.updateForPass = function (
3425
3457
  this,
3426
3458
  frameState,
3427
3459
  passStatistics,
3428
- passOptions
3460
+ passOptions,
3429
3461
  );
3430
3462
  }
3431
3463
 
@@ -3513,6 +3545,11 @@ Cesium3DTileset.prototype.destroy = function () {
3513
3545
  }
3514
3546
  this._imageBasedLighting = undefined;
3515
3547
 
3548
+ if (!this._environmentMapManager.isDestroyed()) {
3549
+ this._environmentMapManager.destroy();
3550
+ }
3551
+ this._environmentMapManager = undefined;
3552
+
3516
3553
  return destroyObject(this);
3517
3554
  };
3518
3555
 
@@ -3539,7 +3576,7 @@ Cesium3DTileset.checkSupportedExtensions = function (extensionsRequired) {
3539
3576
  for (let i = 0; i < extensionsRequired.length; i++) {
3540
3577
  if (!Cesium3DTileset.supportedExtensions[extensionsRequired[i]]) {
3541
3578
  throw new RuntimeError(
3542
- `Unsupported 3D Tiles Extension: ${extensionsRequired[i]}`
3579
+ `Unsupported 3D Tiles Extension: ${extensionsRequired[i]}`,
3543
3580
  );
3544
3581
  }
3545
3582
  }
@@ -3576,7 +3613,7 @@ Cesium3DTileset.prototype.getHeight = function (cartographic, scene) {
3576
3613
  const ray = scratchGetHeightRay;
3577
3614
  const position = ellipsoid.cartographicToCartesian(
3578
3615
  cartographic,
3579
- ray.direction
3616
+ ray.direction,
3580
3617
  );
3581
3618
  Cartesian3.normalize(ray.direction, ray.direction);
3582
3619
 
@@ -3585,7 +3622,7 @@ Cesium3DTileset.prototype.getHeight = function (cartographic, scene) {
3585
3622
  ray.origin = Cartesian3.multiplyByScalar(
3586
3623
  ray.direction,
3587
3624
  -2 * ellipsoid.maximumRadius,
3588
- ray.origin
3625
+ ray.origin,
3589
3626
  );
3590
3627
 
3591
3628
  const intersection = this.pick(ray, scene.frameState, scratchIntersection);
@@ -3595,7 +3632,7 @@ Cesium3DTileset.prototype.getHeight = function (cartographic, scene) {
3595
3632
 
3596
3633
  return ellipsoid.cartesianToCartographic(
3597
3634
  intersection,
3598
- scratchGetHeightCartographic
3635
+ scratchGetHeightCartographic,
3599
3636
  )?.height;
3600
3637
  };
3601
3638
 
@@ -3614,7 +3651,7 @@ Cesium3DTileset.prototype.getHeight = function (cartographic, scene) {
3614
3651
  Cesium3DTileset.prototype.updateHeight = function (
3615
3652
  cartographic,
3616
3653
  callback,
3617
- ellipsoid
3654
+ ellipsoid,
3618
3655
  ) {
3619
3656
  ellipsoid = defaultValue(ellipsoid, Ellipsoid.WGS84);
3620
3657
 
@@ -3671,7 +3708,7 @@ Cesium3DTileset.prototype.pick = function (ray, frameState, result) {
3671
3708
  const boundsIntersection = IntersectionTests.raySphere(
3672
3709
  ray,
3673
3710
  tile.contentBoundingVolume.boundingSphere,
3674
- scratchSphereIntersection
3711
+ scratchSphereIntersection,
3675
3712
  );
3676
3713
  if (!defined(boundsIntersection) || !defined(tile.content)) {
3677
3714
  continue;
@@ -3684,11 +3721,11 @@ Cesium3DTileset.prototype.pick = function (ray, frameState, result) {
3684
3721
  candidates.sort((a, b) => {
3685
3722
  const aDist = BoundingSphere.distanceSquaredTo(
3686
3723
  a.contentBoundingVolume.boundingSphere,
3687
- ray.origin
3724
+ ray.origin,
3688
3725
  );
3689
3726
  const bDist = BoundingSphere.distanceSquaredTo(
3690
3727
  b.contentBoundingVolume.boundingSphere,
3691
- ray.origin
3728
+ ray.origin,
3692
3729
  );
3693
3730
 
3694
3731
  return aDist - bDist;
@@ -3700,7 +3737,7 @@ Cesium3DTileset.prototype.pick = function (ray, frameState, result) {
3700
3737
  const candidate = tile.content.pick(
3701
3738
  ray,
3702
3739
  frameState,
3703
- scratchPickIntersection
3740
+ scratchPickIntersection,
3704
3741
  );
3705
3742
 
3706
3743
  if (defined(candidate)) {