@cesium/engine 10.1.0 → 11.1.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 (845) hide show
  1. package/Build/Workers/{chunk-EB7PNZTK.js → chunk-26GA3JAM.js} +6 -5
  2. package/Build/Workers/{chunk-RZLZWKFN.js → chunk-27HUZ7SA.js} +4 -4
  3. package/Build/Workers/{chunk-A5CODJ4M.js → chunk-2ZGOQXYU.js} +6 -6
  4. package/Build/Workers/{chunk-TF776XCO.js → chunk-3Q2L65QU.js} +7 -7
  5. package/Build/Workers/{chunk-NVOABL76.js → chunk-472HQ3EH.js} +5 -5
  6. package/Build/Workers/{chunk-QX5XS4LC.js → chunk-5ODQSF26.js} +2 -2
  7. package/Build/Workers/{chunk-4YSNMHZ4.js → chunk-5OOFQLKF.js} +6 -6
  8. package/Build/Workers/{chunk-OXALEQPI.js → chunk-5PTXS2GO.js} +49 -23
  9. package/Build/Workers/{chunk-T77JILCU.js → chunk-6CHGCNMW.js} +2 -2
  10. package/Build/Workers/{chunk-FEVVHITK.js → chunk-76BYBWHP.js} +4 -4
  11. package/Build/Workers/{chunk-65MZOUNU.js → chunk-7BMOHCPM.js} +13 -13
  12. package/Build/Workers/{chunk-VE7BFUIX.js → chunk-7JO7GPJN.js} +1 -1
  13. package/Build/Workers/{chunk-5BLJ5ZM6.js → chunk-7KTQP4VB.js} +5 -5
  14. package/Build/Workers/{chunk-G5V4GPZE.js → chunk-7O373FFS.js} +8 -34
  15. package/Build/Workers/{chunk-S3PI2KFM.js → chunk-AD63PIY6.js} +2 -2
  16. package/Build/Workers/{chunk-6D66DPRV.js → chunk-BHQJ2NT7.js} +6 -6
  17. package/Build/Workers/{chunk-I2RC4XVN.js → chunk-C6YYBQXW.js} +4 -4
  18. package/Build/Workers/{chunk-X2ZQ7RJR.js → chunk-CKY7HOHV.js} +9 -9
  19. package/Build/Workers/{chunk-TO2PVHKI.js → chunk-DHYHSFFJ.js} +2 -2
  20. package/Build/Workers/{chunk-R6B7UCQB.js → chunk-DI5NGJUP.js} +2 -2
  21. package/Build/Workers/{chunk-X23FRWHJ.js → chunk-E27BLMDD.js} +7 -9
  22. package/Build/Workers/{chunk-N4QEHO3U.js → chunk-E63IIM5T.js} +1 -1
  23. package/Build/Workers/{chunk-BY3E4ONI.js → chunk-E6V6SQZW.js} +6 -6
  24. package/Build/Workers/{chunk-LSSWVB2X.js → chunk-EJZTDTUH.js} +4 -4
  25. package/Build/Workers/{chunk-XLTOBCDI.js → chunk-FDOV2LBJ.js} +7 -7
  26. package/Build/Workers/{chunk-ACRTCBN5.js → chunk-FIGIZHAQ.js} +11 -11
  27. package/Build/Workers/{chunk-4RMIRG6T.js → chunk-GESF4OXQ.js} +2 -2
  28. package/Build/Workers/{chunk-PNFHVBSF.js → chunk-GGZJN2TI.js} +16 -15
  29. package/Build/Workers/{chunk-KV4EQHK4.js → chunk-GNBFYG7F.js} +83 -79
  30. package/Build/Workers/{chunk-FOZWUH4T.js → chunk-GWCFU2SA.js} +7 -7
  31. package/Build/Workers/{chunk-Q55ECN3Y.js → chunk-I2ITFFPX.js} +1 -1
  32. package/Build/Workers/{chunk-XQI7XZHX.js → chunk-IBLIYJZR.js} +6 -6
  33. package/Build/Workers/{chunk-D2U4RI64.js → chunk-JW4FOI6M.js} +7 -7
  34. package/Build/Workers/{chunk-2J3JKXCP.js → chunk-K4GQUNB5.js} +9 -5
  35. package/Build/Workers/{chunk-POSRARY7.js → chunk-M3GMB5OP.js} +10 -10
  36. package/Build/Workers/{chunk-OOK53QUQ.js → chunk-MXIZJAPH.js} +1 -1
  37. package/Build/Workers/{chunk-OWGTMVDB.js → chunk-N5KJGGCM.js} +18 -20
  38. package/Build/Workers/{chunk-J7MQUQJY.js → chunk-NGPPMXRM.js} +12 -7
  39. package/Build/Workers/{chunk-OOMCT7OL.js → chunk-O3E4OAOE.js} +13 -13
  40. package/Build/Workers/{chunk-C3Z23UUJ.js → chunk-PGRPDNHG.js} +19 -23
  41. package/Build/Workers/{chunk-4VFBBNQ3.js → chunk-PRGYLLJT.js} +1 -1
  42. package/Build/Workers/{chunk-XZZNKIEV.js → chunk-S6MRMMQU.js} +6 -6
  43. package/Build/Workers/{chunk-76BYYG7N.js → chunk-SMDOP47J.js} +10 -10
  44. package/Build/Workers/{chunk-ZU334IDQ.js → chunk-TGONEMZO.js} +11 -11
  45. package/Build/Workers/{chunk-VRZ46QZ5.js → chunk-TKVT5GQM.js} +13 -13
  46. package/Build/Workers/{chunk-FDCLACT5.js → chunk-U72QNFOJ.js} +15 -25
  47. package/Build/Workers/{chunk-F3NDOSTZ.js → chunk-VJZB3WAV.js} +7 -7
  48. package/Build/Workers/{chunk-GPJR7MPQ.js → chunk-VU2MNO7L.js} +7 -7
  49. package/Build/Workers/{chunk-R4OIEIPE.js → chunk-XY4BATBS.js} +4 -4
  50. package/Build/Workers/{chunk-T6LPN7RI.js → chunk-YFXQECWV.js} +5 -5
  51. package/Build/Workers/{chunk-UCIPJSZX.js → chunk-YSGTGQQO.js} +14 -14
  52. package/Build/Workers/{chunk-BGE4QVG7.js → chunk-YZ733KKS.js} +12 -12
  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 +26 -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 +28 -5
  97. package/Build/Workers/decodeI3S.js +10 -10
  98. package/Build/Workers/transcodeKTX2.js +19 -18
  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 +44 -44
  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 +11 -8
  122. package/Source/Core/ColorGeometryInstanceAttribute.js +1 -1
  123. package/Source/Core/ComponentDatatype.js +4 -4
  124. package/Source/Core/CompressedTextureBuffer.js +13 -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 +45 -45
  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 +54 -55
  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 +17 -16
  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 +14 -14
  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 +11 -18
  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 +4 -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 +7 -21
  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 +51 -51
  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 +3 -3
  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/CallbackProperty.js +8 -2
  284. package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
  285. package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -6
  286. package/Source/DataSources/CheckerboardMaterialProperty.js +9 -3
  287. package/Source/DataSources/ColorMaterialProperty.js +8 -2
  288. package/Source/DataSources/CompositeEntityCollection.js +14 -15
  289. package/Source/DataSources/CompositeMaterialProperty.js +10 -11
  290. package/Source/DataSources/CompositePositionProperty.js +11 -6
  291. package/Source/DataSources/CompositeProperty.js +7 -7
  292. package/Source/DataSources/ConstantPositionProperty.js +9 -3
  293. package/Source/DataSources/CorridorGeometryUpdater.js +61 -56
  294. package/Source/DataSources/CorridorGraphics.js +6 -6
  295. package/Source/DataSources/CylinderGeometryUpdater.js +42 -40
  296. package/Source/DataSources/CylinderGraphics.js +4 -4
  297. package/Source/DataSources/CzmlDataSource.js +365 -368
  298. package/Source/DataSources/DataSourceCollection.js +1 -1
  299. package/Source/DataSources/DataSourceDisplay.js +23 -23
  300. package/Source/DataSources/DynamicGeometryBatch.js +2 -2
  301. package/Source/DataSources/DynamicGeometryUpdater.js +14 -18
  302. package/Source/DataSources/EllipseGeometryUpdater.js +67 -63
  303. package/Source/DataSources/EllipseGraphics.js +7 -7
  304. package/Source/DataSources/EllipsoidGeometryUpdater.js +88 -86
  305. package/Source/DataSources/EllipsoidGraphics.js +5 -5
  306. package/Source/DataSources/Entity.js +14 -14
  307. package/Source/DataSources/EntityCluster.js +29 -27
  308. package/Source/DataSources/EntityCollection.js +7 -7
  309. package/Source/DataSources/EntityView.js +23 -23
  310. package/Source/DataSources/GeoJsonDataSource.js +25 -25
  311. package/Source/DataSources/GeometryUpdater.js +9 -10
  312. package/Source/DataSources/GeometryUpdaterSet.js +3 -3
  313. package/Source/DataSources/GeometryVisualizer.js +65 -71
  314. package/Source/DataSources/GpxDataSource.js +10 -10
  315. package/Source/DataSources/GridMaterialProperty.js +12 -6
  316. package/Source/DataSources/GroundGeometryUpdater.js +6 -6
  317. package/Source/DataSources/ImageMaterialProperty.js +10 -3
  318. package/Source/DataSources/KmlDataSource.js +212 -212
  319. package/Source/DataSources/LabelGraphics.js +14 -14
  320. package/Source/DataSources/LabelVisualizer.js +24 -24
  321. package/Source/DataSources/MaterialProperty.js +7 -1
  322. package/Source/DataSources/ModelGraphics.js +37 -17
  323. package/Source/DataSources/ModelVisualizer.js +41 -32
  324. package/Source/DataSources/NodeTransformationProperty.js +10 -4
  325. package/Source/DataSources/PathGraphics.js +2 -2
  326. package/Source/DataSources/PathVisualizer.js +99 -35
  327. package/Source/DataSources/PlaneGeometryUpdater.js +38 -37
  328. package/Source/DataSources/PlaneGraphics.js +2 -2
  329. package/Source/DataSources/PointGraphics.js +8 -8
  330. package/Source/DataSources/PointVisualizer.js +29 -29
  331. package/Source/DataSources/PolygonGeometryUpdater.js +68 -64
  332. package/Source/DataSources/PolygonGraphics.js +9 -9
  333. package/Source/DataSources/PolylineArrowMaterialProperty.js +8 -2
  334. package/Source/DataSources/PolylineDashMaterialProperty.js +11 -5
  335. package/Source/DataSources/PolylineGeometryUpdater.js +39 -44
  336. package/Source/DataSources/PolylineGlowMaterialProperty.js +10 -4
  337. package/Source/DataSources/PolylineGraphics.js +4 -4
  338. package/Source/DataSources/PolylineOutlineMaterialProperty.js +10 -4
  339. package/Source/DataSources/PolylineVisualizer.js +39 -43
  340. package/Source/DataSources/PolylineVolumeGeometryUpdater.js +70 -68
  341. package/Source/DataSources/PolylineVolumeGraphics.js +2 -2
  342. package/Source/DataSources/PositionProperty.js +5 -4
  343. package/Source/DataSources/PositionPropertyArray.js +10 -4
  344. package/Source/DataSources/Property.js +2 -2
  345. package/Source/DataSources/PropertyArray.js +6 -6
  346. package/Source/DataSources/PropertyBag.js +10 -9
  347. package/Source/DataSources/RectangleGeometryUpdater.js +68 -63
  348. package/Source/DataSources/RectangleGraphics.js +6 -6
  349. package/Source/DataSources/ReferenceProperty.js +13 -7
  350. package/Source/DataSources/Rotation.js +2 -2
  351. package/Source/DataSources/SampledPositionProperty.js +13 -7
  352. package/Source/DataSources/SampledProperty.js +22 -20
  353. package/Source/DataSources/ScaledPositionProperty.js +8 -2
  354. package/Source/DataSources/StaticGeometryColorBatch.js +41 -41
  355. package/Source/DataSources/StaticGeometryPerMaterialBatch.js +40 -40
  356. package/Source/DataSources/StaticGroundGeometryColorBatch.js +26 -27
  357. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +46 -44
  358. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +44 -43
  359. package/Source/DataSources/StaticOutlineGeometryBatch.js +28 -29
  360. package/Source/DataSources/StripeMaterialProperty.js +9 -3
  361. package/Source/DataSources/TerrainOffsetProperty.js +20 -11
  362. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +35 -31
  363. package/Source/DataSources/TimeIntervalCollectionProperty.js +6 -6
  364. package/Source/DataSources/VelocityOrientationProperty.js +9 -4
  365. package/Source/DataSources/VelocityVectorProperty.js +7 -9
  366. package/Source/DataSources/WallGeometryUpdater.js +25 -25
  367. package/Source/DataSources/WallGraphics.js +4 -4
  368. package/Source/DataSources/createPropertyDescriptor.js +3 -3
  369. package/Source/DataSources/exportKml.js +90 -86
  370. package/Source/DataSources/getElement.js +1 -1
  371. package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +4 -4
  372. package/Source/Renderer/AutomaticUniforms.js +3 -18
  373. package/Source/Renderer/Buffer.js +18 -18
  374. package/Source/Renderer/ClearCommand.js +1 -1
  375. package/Source/Renderer/ComputeEngine.js +1 -1
  376. package/Source/Renderer/Context.js +55 -40
  377. package/Source/Renderer/CubeMap.js +332 -354
  378. package/Source/Renderer/CubeMapFace.js +43 -65
  379. package/Source/Renderer/DrawCommand.js +50 -5
  380. package/Source/Renderer/Framebuffer.js +48 -49
  381. package/Source/Renderer/FramebufferManager.js +40 -34
  382. package/Source/Renderer/MultisampleFramebuffer.js +35 -14
  383. package/Source/Renderer/PixelDatatype.js +23 -0
  384. package/Source/Renderer/RenderState.js +36 -36
  385. package/Source/Renderer/Renderbuffer.js +3 -3
  386. package/Source/Renderer/Sampler.js +9 -15
  387. package/Source/Renderer/ShaderBuilder.js +8 -8
  388. package/Source/Renderer/ShaderCache.js +11 -15
  389. package/Source/Renderer/ShaderFunction.js +1 -1
  390. package/Source/Renderer/ShaderProgram.js +22 -15
  391. package/Source/Renderer/ShaderSource.js +40 -40
  392. package/Source/Renderer/Texture.js +455 -380
  393. package/Source/Renderer/UniformState.js +68 -80
  394. package/Source/Renderer/VertexArray.js +20 -20
  395. package/Source/Renderer/VertexArrayFacade.js +15 -16
  396. package/Source/Renderer/createUniform.js +1 -1
  397. package/Source/Renderer/createUniformArray.js +4 -4
  398. package/Source/Renderer/demodernizeShader.js +7 -5
  399. package/Source/Renderer/loadCubeMap.js +3 -8
  400. package/Source/Scene/ArcGisMapServerImageryProvider.js +39 -45
  401. package/Source/Scene/ArcGisMapService.js +4 -7
  402. package/Source/Scene/AutoExposure.js +4 -5
  403. package/Source/Scene/Axis.js +6 -6
  404. package/Source/Scene/B3dmParser.js +9 -9
  405. package/Source/Scene/BatchTable.js +7 -7
  406. package/Source/Scene/BatchTableHierarchy.js +62 -59
  407. package/Source/Scene/BatchTexture.js +2 -2
  408. package/Source/Scene/Billboard.js +45 -43
  409. package/Source/Scene/BillboardCollection.js +81 -83
  410. package/Source/Scene/BingMapsImageryProvider.js +13 -13
  411. package/Source/Scene/BoundingVolumeSemantics.js +10 -10
  412. package/Source/Scene/BoxEmitter.js +1 -1
  413. package/Source/Scene/BufferLoader.js +1 -1
  414. package/Source/Scene/Camera.js +161 -164
  415. package/Source/Scene/CameraEventAggregator.js +67 -23
  416. package/Source/Scene/CameraFlightPath.js +25 -25
  417. package/Source/Scene/Cesium3DTile.js +89 -95
  418. package/Source/Scene/Cesium3DTileBatchTable.js +61 -61
  419. package/Source/Scene/Cesium3DTileContentFactory.js +7 -7
  420. package/Source/Scene/Cesium3DTileFeature.js +1 -1
  421. package/Source/Scene/Cesium3DTileFeatureTable.js +8 -8
  422. package/Source/Scene/Cesium3DTileOptimizations.js +1 -1
  423. package/Source/Scene/Cesium3DTilePointFeature.js +11 -11
  424. package/Source/Scene/Cesium3DTileStyle.js +26 -24
  425. package/Source/Scene/Cesium3DTilesVoxelProvider.js +14 -20
  426. package/Source/Scene/Cesium3DTileset.js +81 -83
  427. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +8 -16
  428. package/Source/Scene/Cesium3DTilesetCache.js +2 -2
  429. package/Source/Scene/Cesium3DTilesetHeatmap.js +5 -5
  430. package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
  431. package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +2 -2
  432. package/Source/Scene/Cesium3DTilesetSkipTraversal.js +8 -12
  433. package/Source/Scene/Cesium3DTilesetStatistics.js +1 -1
  434. package/Source/Scene/Cesium3DTilesetTraversal.js +8 -10
  435. package/Source/Scene/ClassificationPrimitive.js +70 -69
  436. package/Source/Scene/ClippingPlaneCollection.js +39 -41
  437. package/Source/Scene/ClippingPolygon.js +8 -8
  438. package/Source/Scene/ClippingPolygonCollection.js +62 -63
  439. package/Source/Scene/CloudCollection.js +3 -10
  440. package/Source/Scene/Composite3DTileContent.js +6 -6
  441. package/Source/Scene/ConditionsExpression.js +5 -5
  442. package/Source/Scene/ContentMetadata.js +4 -4
  443. package/Source/Scene/CreditDisplay.js +8 -8
  444. package/Source/Scene/CumulusCloud.js +4 -4
  445. package/Source/Scene/DebugAppearance.js +2 -2
  446. package/Source/Scene/DebugCameraPrimitive.js +2 -2
  447. package/Source/Scene/DebugInspector.js +3 -3
  448. package/Source/Scene/DebugModelMatrixPrimitive.js +4 -4
  449. package/Source/Scene/DepthPlane.js +7 -7
  450. package/Source/Scene/DerivedCommand.js +422 -238
  451. package/Source/Scene/DiscardMissingTileImagePolicy.js +1 -1
  452. package/Source/Scene/DracoLoader.js +3 -3
  453. package/Source/Scene/EllipsoidPrimitive.js +7 -7
  454. package/Source/Scene/EllipsoidSurfaceAppearance.js +3 -3
  455. package/Source/Scene/Empty3DTileContent.js +1 -1
  456. package/Source/Scene/Expression.js +91 -91
  457. package/Source/Scene/Fog.js +8 -41
  458. package/Source/Scene/FrameRateMonitor.js +22 -22
  459. package/Source/Scene/FrameState.js +31 -0
  460. package/Source/Scene/Geometry3DTileContent.js +20 -20
  461. package/Source/Scene/GetFeatureInfoFormat.js +15 -14
  462. package/Source/Scene/Globe.js +33 -28
  463. package/Source/Scene/GlobeDepth.js +95 -66
  464. package/Source/Scene/GlobeSurfaceShaderSet.js +41 -34
  465. package/Source/Scene/GlobeSurfaceTile.js +33 -33
  466. package/Source/Scene/GlobeSurfaceTileProvider.js +132 -127
  467. package/Source/Scene/GlobeTranslucency.js +4 -4
  468. package/Source/Scene/GlobeTranslucencyFramebuffer.js +9 -9
  469. package/Source/Scene/GlobeTranslucencyState.js +53 -55
  470. package/Source/Scene/GltfBufferViewLoader.js +2 -2
  471. package/Source/Scene/GltfIndexBufferLoader.js +5 -5
  472. package/Source/Scene/GltfJsonLoader.js +2 -2
  473. package/Source/Scene/GltfLoader.js +177 -100
  474. package/Source/Scene/GltfStructuralMetadataLoader.js +9 -8
  475. package/Source/Scene/GltfTextureLoader.js +5 -5
  476. package/Source/Scene/GltfVertexBufferLoader.js +12 -13
  477. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +9 -9
  478. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +9 -9
  479. package/Source/Scene/GridImageryProvider.js +2 -2
  480. package/Source/Scene/GroundPolylinePrimitive.js +38 -39
  481. package/Source/Scene/GroundPrimitive.js +47 -45
  482. package/Source/Scene/GroupMetadata.js +4 -4
  483. package/Source/Scene/I3SDataProvider.js +12 -12
  484. package/Source/Scene/I3SDecoder.js +7 -8
  485. package/Source/Scene/I3SField.js +8 -8
  486. package/Source/Scene/I3SGeometry.js +14 -14
  487. package/Source/Scene/I3SLayer.js +26 -20
  488. package/Source/Scene/I3SNode.js +17 -17
  489. package/Source/Scene/I3SSublayer.js +4 -4
  490. package/Source/Scene/I3SSymbology.js +8 -8
  491. package/Source/Scene/I3dmParser.js +9 -9
  492. package/Source/Scene/ImageBasedLighting.js +58 -56
  493. package/Source/Scene/Imagery.js +3 -3
  494. package/Source/Scene/ImageryLayer.js +64 -66
  495. package/Source/Scene/ImageryLayerCollection.js +13 -15
  496. package/Source/Scene/ImageryLayerFeatureInfo.js +19 -20
  497. package/Source/Scene/ImageryProvider.js +1 -1
  498. package/Source/Scene/Implicit3DTileContent.js +34 -37
  499. package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -2
  500. package/Source/Scene/ImplicitMetadataView.js +2 -2
  501. package/Source/Scene/ImplicitSubtree.js +29 -30
  502. package/Source/Scene/ImplicitSubtreeCache.js +1 -1
  503. package/Source/Scene/ImplicitSubtreeMetadata.js +5 -5
  504. package/Source/Scene/ImplicitTileCoordinates.js +11 -11
  505. package/Source/Scene/ImplicitTileset.js +2 -2
  506. package/Source/Scene/InvertClassification.js +7 -7
  507. package/Source/Scene/IonImageryProvider.js +6 -6
  508. package/Source/Scene/JobScheduler.js +4 -4
  509. package/Source/Scene/Label.js +31 -31
  510. package/Source/Scene/LabelCollection.js +17 -15
  511. package/Source/Scene/MapboxImageryProvider.js +3 -3
  512. package/Source/Scene/MapboxStyleImageryProvider.js +4 -4
  513. package/Source/Scene/Material.js +50 -29
  514. package/Source/Scene/MaterialAppearance.js +4 -4
  515. package/Source/Scene/Megatexture.js +21 -24
  516. package/Source/Scene/MetadataClassProperty.js +11 -11
  517. package/Source/Scene/MetadataComponentType.js +1 -1
  518. package/Source/Scene/MetadataEntity.js +8 -8
  519. package/Source/Scene/MetadataEnum.js +1 -1
  520. package/Source/Scene/MetadataPicking.js +305 -0
  521. package/Source/Scene/MetadataSchemaLoader.js +1 -1
  522. package/Source/Scene/MetadataTable.js +2 -2
  523. package/Source/Scene/MetadataTableProperty.js +22 -22
  524. package/Source/Scene/Model/AlphaPipelineStage.js +2 -2
  525. package/Source/Scene/Model/AtmospherePipelineStage.js +3 -3
  526. package/Source/Scene/Model/B3dmLoader.js +8 -8
  527. package/Source/Scene/Model/BatchTexturePipelineStage.js +2 -2
  528. package/Source/Scene/Model/CPUStylingPipelineStage.js +4 -4
  529. package/Source/Scene/Model/ClassificationModelDrawCommand.js +8 -8
  530. package/Source/Scene/Model/ClassificationPipelineStage.js +5 -5
  531. package/Source/Scene/Model/CustomShader.js +9 -9
  532. package/Source/Scene/Model/CustomShaderPipelineStage.js +37 -38
  533. package/Source/Scene/Model/DequantizationPipelineStage.js +5 -5
  534. package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
  535. package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
  536. package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
  537. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
  538. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
  539. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +548 -0
  540. package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
  541. package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
  542. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +75 -0
  543. package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
  544. package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
  545. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +30 -0
  546. package/Source/Scene/Model/FeatureIdPipelineStage.js +40 -40
  547. package/Source/Scene/Model/GeoJsonLoader.js +17 -17
  548. package/Source/Scene/Model/GeometryPipelineStage.js +23 -24
  549. package/Source/Scene/Model/I3dmLoader.js +36 -36
  550. package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +22 -30
  551. package/Source/Scene/Model/InstancingPipelineStage.js +86 -86
  552. package/Source/Scene/Model/LightingPipelineStage.js +4 -4
  553. package/Source/Scene/Model/MaterialPipelineStage.js +78 -93
  554. package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
  555. package/Source/Scene/Model/MetadataPipelineStage.js +39 -47
  556. package/Source/Scene/Model/Model.js +134 -54
  557. package/Source/Scene/Model/Model3DTileContent.js +32 -13
  558. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  559. package/Source/Scene/Model/ModelAnimationCollection.js +9 -9
  560. package/Source/Scene/Model/ModelArticulation.js +2 -2
  561. package/Source/Scene/Model/ModelArticulationStage.js +4 -4
  562. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +11 -11
  563. package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +6 -6
  564. package/Source/Scene/Model/ModelColorPipelineStage.js +12 -13
  565. package/Source/Scene/Model/ModelDrawCommand.js +5 -5
  566. package/Source/Scene/Model/{buildDrawCommand.js → ModelDrawCommands.js} +85 -28
  567. package/Source/Scene/Model/ModelFeatureTable.js +5 -5
  568. package/Source/Scene/Model/ModelMatrixUpdateStage.js +24 -12
  569. package/Source/Scene/Model/ModelRenderResources.js +1 -1
  570. package/Source/Scene/Model/ModelRuntimeNode.js +15 -15
  571. package/Source/Scene/Model/ModelRuntimePrimitive.js +8 -5
  572. package/Source/Scene/Model/ModelSceneGraph.js +42 -43
  573. package/Source/Scene/Model/ModelSilhouettePipelineStage.js +4 -4
  574. package/Source/Scene/Model/ModelSkin.js +4 -4
  575. package/Source/Scene/Model/ModelSplitterPipelineStage.js +8 -9
  576. package/Source/Scene/Model/ModelUtility.js +5 -5
  577. package/Source/Scene/Model/MorphTargetsPipelineStage.js +18 -18
  578. package/Source/Scene/Model/NodeRenderResources.js +1 -1
  579. package/Source/Scene/Model/NodeStatisticsPipelineStage.js +1 -1
  580. package/Source/Scene/Model/PickingPipelineStage.js +5 -5
  581. package/Source/Scene/Model/PntsLoader.js +7 -7
  582. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +22 -23
  583. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +6 -6
  584. package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +7 -7
  585. package/Source/Scene/Model/PrimitiveRenderResources.js +3 -3
  586. package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +1 -1
  587. package/Source/Scene/Model/SceneMode2DPipelineStage.js +23 -23
  588. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +10 -14
  589. package/Source/Scene/Model/SkinningPipelineStage.js +5 -5
  590. package/Source/Scene/Model/StyleCommandsNeeded.js +1 -1
  591. package/Source/Scene/Model/TextureManager.js +2 -2
  592. package/Source/Scene/Model/TextureUniform.js +3 -3
  593. package/Source/Scene/Model/TilesetPipelineStage.js +2 -2
  594. package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +4 -4
  595. package/Source/Scene/Model/WireframePipelineStage.js +7 -7
  596. package/Source/Scene/Model/pickModel.js +26 -26
  597. package/Source/Scene/ModelComponents.js +13 -4
  598. package/Source/Scene/Moon.js +6 -5
  599. package/Source/Scene/Multiple3DTileContent.js +15 -14
  600. package/Source/Scene/OIT.js +48 -97
  601. package/Source/Scene/OpenStreetMapImageryProvider.js +8 -7
  602. package/Source/Scene/OrderedGroundPrimitiveCollection.js +2 -2
  603. package/Source/Scene/Particle.js +3 -3
  604. package/Source/Scene/ParticleEmitter.js +1 -1
  605. package/Source/Scene/ParticleSystem.js +32 -32
  606. package/Source/Scene/PerInstanceColorAppearance.js +1 -1
  607. package/Source/Scene/PickDepth.js +16 -4
  608. package/Source/Scene/PickDepthFramebuffer.js +1 -1
  609. package/Source/Scene/PickFramebuffer.js +24 -12
  610. package/Source/Scene/PickedMetadataInfo.js +39 -0
  611. package/Source/Scene/Picking.js +270 -120
  612. package/Source/Scene/PntsParser.js +28 -28
  613. package/Source/Scene/PointCloud.js +39 -38
  614. package/Source/Scene/PointCloudEyeDomeLighting.js +6 -6
  615. package/Source/Scene/PointCloudShading.js +3 -3
  616. package/Source/Scene/PointPrimitive.js +31 -28
  617. package/Source/Scene/PointPrimitiveCollection.js +34 -33
  618. package/Source/Scene/Polyline.js +9 -9
  619. package/Source/Scene/PolylineCollection.js +55 -57
  620. package/Source/Scene/PolylineColorAppearance.js +3 -3
  621. package/Source/Scene/PolylineMaterialAppearance.js +3 -3
  622. package/Source/Scene/PostProcessStage.js +95 -115
  623. package/Source/Scene/PostProcessStageCollection.js +73 -49
  624. package/Source/Scene/PostProcessStageComposite.js +2 -2
  625. package/Source/Scene/PostProcessStageLibrary.js +30 -4
  626. package/Source/Scene/PostProcessStageTextureCache.js +10 -10
  627. package/Source/Scene/Primitive.js +93 -93
  628. package/Source/Scene/PrimitiveCollection.js +1 -1
  629. package/Source/Scene/PrimitiveLoadPlan.js +1 -1
  630. package/Source/Scene/PrimitivePipeline.js +30 -30
  631. package/Source/Scene/PropertyTable.js +5 -5
  632. package/Source/Scene/PropertyTextureProperty.js +36 -7
  633. package/Source/Scene/QuadtreePrimitive.js +56 -58
  634. package/Source/Scene/QuadtreeTile.js +4 -4
  635. package/Source/Scene/QuadtreeTileProvider.js +1 -1
  636. package/Source/Scene/ResourceCache.js +7 -7
  637. package/Source/Scene/ResourceCacheKey.js +15 -15
  638. package/Source/Scene/Scene.js +897 -677
  639. package/Source/Scene/SceneFramebuffer.js +2 -2
  640. package/Source/Scene/SceneTransforms.js +30 -92
  641. package/Source/Scene/SceneTransitioner.js +47 -47
  642. package/Source/Scene/ScreenSpaceCameraController.js +171 -157
  643. package/Source/Scene/SensorVolumePortionToDisplay.js +1 -1
  644. package/Source/Scene/ShadowMap.js +71 -72
  645. package/Source/Scene/ShadowMapShader.js +9 -9
  646. package/Source/Scene/ShadowVolumeAppearance.js +39 -39
  647. package/Source/Scene/SingleTileImageryProvider.js +3 -3
  648. package/Source/Scene/SkyAtmosphere.js +8 -8
  649. package/Source/Scene/SkyBox.js +17 -24
  650. package/Source/Scene/SpatialNode.js +13 -13
  651. package/Source/Scene/SpecularEnvironmentCubeMap.js +240 -0
  652. package/Source/Scene/SphereEmitter.js +1 -1
  653. package/Source/Scene/StructuralMetadata.js +1 -1
  654. package/Source/Scene/StyleExpression.js +1 -1
  655. package/Source/Scene/Sun.js +11 -7
  656. package/Source/Scene/SunPostProcess.js +6 -6
  657. package/Source/Scene/TerrainFillMesh.js +157 -156
  658. package/Source/Scene/TextureAtlas.js +11 -11
  659. package/Source/Scene/TileBoundingRegion.js +31 -31
  660. package/Source/Scene/TileBoundingS2Cell.js +37 -40
  661. package/Source/Scene/TileBoundingSphere.js +2 -2
  662. package/Source/Scene/TileCoordinatesImageryProvider.js +3 -3
  663. package/Source/Scene/TileImagery.js +7 -11
  664. package/Source/Scene/TileMapServiceImageryProvider.js +26 -25
  665. package/Source/Scene/TileMetadata.js +4 -4
  666. package/Source/Scene/TileOrientedBoundingBox.js +6 -6
  667. package/Source/Scene/Tileset3DTileContent.js +1 -1
  668. package/Source/Scene/TilesetMetadata.js +4 -4
  669. package/Source/Scene/TimeDynamicImagery.js +3 -3
  670. package/Source/Scene/TimeDynamicPointCloud.js +9 -9
  671. package/Source/Scene/Tonemapper.js +35 -23
  672. package/Source/Scene/TranslucentTileClassification.js +48 -58
  673. package/Source/Scene/TweenCollection.js +9 -9
  674. package/Source/Scene/UrlTemplateImageryProvider.js +23 -23
  675. package/Source/Scene/Vector3DTileClampedPolylines.js +21 -21
  676. package/Source/Scene/Vector3DTileContent.js +38 -39
  677. package/Source/Scene/Vector3DTileGeometry.js +11 -8
  678. package/Source/Scene/Vector3DTilePoints.js +18 -22
  679. package/Source/Scene/Vector3DTilePolygons.js +6 -6
  680. package/Source/Scene/Vector3DTilePolylines.js +8 -8
  681. package/Source/Scene/Vector3DTilePrimitive.js +30 -31
  682. package/Source/Scene/View.js +111 -80
  683. package/Source/Scene/VoxelBoxShape.js +34 -34
  684. package/Source/Scene/VoxelCell.js +7 -7
  685. package/Source/Scene/VoxelContent.js +1 -1
  686. package/Source/Scene/VoxelCylinderShape.js +48 -48
  687. package/Source/Scene/VoxelEllipsoidShape.js +83 -97
  688. package/Source/Scene/VoxelPrimitive.js +80 -109
  689. package/Source/Scene/VoxelRenderResources.js +13 -16
  690. package/Source/Scene/VoxelTraversal.js +41 -41
  691. package/Source/Scene/WebMapServiceImageryProvider.js +12 -12
  692. package/Source/Scene/WebMapTileServiceImageryProvider.js +8 -8
  693. package/Source/Scene/buildVoxelDrawCommands.js +10 -14
  694. package/Source/Scene/computeFlyToLocationForRectangle.js +7 -5
  695. package/Source/Scene/createBillboardPointCallback.js +2 -2
  696. package/Source/Scene/createElevationBandMaterial.js +8 -8
  697. package/Source/Scene/createGooglePhotorealistic3DTileset.js +1 -1
  698. package/Source/Scene/createOsmBuildingsAsync.js +1 -1
  699. package/Source/Scene/createTangentSpaceDebugPrimitive.js +7 -7
  700. package/Source/Scene/findContentMetadata.js +2 -2
  701. package/Source/Scene/findTileMetadata.js +2 -2
  702. package/Source/Scene/getBinaryAccessor.js +1 -1
  703. package/Source/Scene/getClipAndStyleCode.js +1 -1
  704. package/Source/Scene/getClippingFunction.js +1 -1
  705. package/Source/Scene/getMetadataClassProperty.js +43 -0
  706. package/Source/Scene/parseBatchTable.js +21 -24
  707. package/Source/Scene/parseFeatureMetadataLegacy.js +3 -3
  708. package/Source/Scene/parseStructuralMetadata.js +3 -3
  709. package/Source/Scene/processVoxelProperties.js +28 -33
  710. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -2
  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/pbrLighting.glsl +2 -2
  714. package/Source/Shaders/Builtin/Functions/pbrLighting.js +2 -2
  715. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.glsl +23 -0
  716. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.js +25 -0
  717. package/Source/Shaders/Builtin/Functions/textureCube.glsl +21 -2
  718. package/Source/Shaders/Builtin/Functions/textureCube.js +21 -2
  719. package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +3 -3
  720. package/Source/Shaders/Builtin/Functions/unpackDepth.js +3 -3
  721. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +1 -1
  722. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +1 -1
  723. package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +2 -2
  724. package/Source/Shaders/Builtin/Functions/writeLogDepth.js +2 -2
  725. package/Source/Shaders/Builtin/Structs/materialInput.glsl +2 -0
  726. package/Source/Shaders/Builtin/Structs/materialInput.js +2 -0
  727. package/Source/Shaders/DepthPlaneVS.glsl +1 -1
  728. package/Source/Shaders/DepthPlaneVS.js +1 -1
  729. package/Source/Shaders/GlobeFS.glsl +10 -4
  730. package/Source/Shaders/GlobeFS.js +10 -4
  731. package/Source/Shaders/Materials/WaterMaskMaterial.glsl +15 -0
  732. package/Source/Shaders/Materials/WaterMaskMaterial.js +17 -0
  733. package/Source/Shaders/Model/AtmosphereStageFS.glsl +1 -1
  734. package/Source/Shaders/Model/AtmosphereStageFS.js +1 -1
  735. package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +40 -29
  736. package/Source/Shaders/Model/ImageBasedLightingStageFS.js +40 -29
  737. package/Source/Shaders/Model/LightingStageFS.glsl +2 -2
  738. package/Source/Shaders/Model/LightingStageFS.js +2 -2
  739. package/Source/Shaders/Model/ModelFS.glsl +26 -0
  740. package/Source/Shaders/Model/ModelFS.js +26 -0
  741. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +4 -0
  742. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +4 -0
  743. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +59 -59
  744. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +60 -60
  745. package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +4 -0
  746. package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +4 -0
  747. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +4 -0
  748. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +4 -0
  749. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.glsl +25 -0
  750. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js +27 -0
  751. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +4 -0
  752. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +4 -0
  753. package/Source/Shaders/SkyAtmosphereFS.glsl +1 -1
  754. package/Source/Shaders/SkyAtmosphereFS.js +1 -1
  755. package/Source/Widget/CesiumWidget.js +10 -9
  756. package/Source/Workers/combineGeometry.js +3 -4
  757. package/Source/Workers/createCircleGeometry.js +2 -2
  758. package/Source/Workers/createCircleOutlineGeometry.js +2 -2
  759. package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  760. package/Source/Workers/createCorridorOutlineGeometry.js +2 -2
  761. package/Source/Workers/createEllipsoidOutlineGeometry.js +1 -1
  762. package/Source/Workers/createGeometry.js +4 -5
  763. package/Source/Workers/createGroundPolylineGeometry.js +1 -1
  764. package/Source/Workers/createPolylineVolumeGeometry.js +2 -2
  765. package/Source/Workers/createPolylineVolumeOutlineGeometry.js +4 -4
  766. package/Source/Workers/createRectangleOutlineGeometry.js +1 -1
  767. package/Source/Workers/createSimplePolylineGeometry.js +2 -2
  768. package/Source/Workers/createTaskProcessorWorker.js +1 -1
  769. package/Source/Workers/createVectorTileClampedPolylines.js +30 -30
  770. package/Source/Workers/createVectorTileGeometries.js +18 -18
  771. package/Source/Workers/createVectorTilePoints.js +3 -3
  772. package/Source/Workers/createVectorTilePolygons.js +11 -11
  773. package/Source/Workers/createVectorTilePolylines.js +7 -7
  774. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +29 -30
  775. package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +60 -60
  776. package/Source/Workers/decodeDraco.js +23 -23
  777. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +3 -3
  778. package/Source/Workers/decodeI3S.js +53 -53
  779. package/Source/Workers/transcodeKTX2.js +9 -9
  780. package/Source/Workers/transferTypedArrayTest.js +1 -1
  781. package/Source/Workers/upsampleQuantizedTerrainMesh.js +37 -36
  782. package/index.d.ts +620 -136
  783. package/index.js +221 -205
  784. package/package.json +3 -3
  785. package/Build/Workers/chunk-2GEAGYUY.js +0 -1477
  786. package/Build/Workers/chunk-3WUV74WM.js +0 -1800
  787. package/Build/Workers/chunk-4MSUJ4I7.js +0 -456
  788. package/Build/Workers/chunk-5KWHSZYL.js +0 -834
  789. package/Build/Workers/chunk-5O6JWQ4E.js +0 -398
  790. package/Build/Workers/chunk-6OFDHMHR.js +0 -1258
  791. package/Build/Workers/chunk-AA4GZKOT.js +0 -75
  792. package/Build/Workers/chunk-B75IEX2S.js +0 -390
  793. package/Build/Workers/chunk-BAVI3ZS2.js +0 -39
  794. package/Build/Workers/chunk-BBDZYSZB.js +0 -287
  795. package/Build/Workers/chunk-C45MU4GZ.js +0 -220
  796. package/Build/Workers/chunk-CF7P7K7E.js +0 -684
  797. package/Build/Workers/chunk-D4K27X2M.js +0 -305
  798. package/Build/Workers/chunk-DKVHRNFY.js +0 -100
  799. package/Build/Workers/chunk-ELI4BUOT.js +0 -963
  800. package/Build/Workers/chunk-FQPSOOPH.js +0 -258
  801. package/Build/Workers/chunk-GNHZH7HP.js +0 -37
  802. package/Build/Workers/chunk-GWT64LKY.js +0 -171
  803. package/Build/Workers/chunk-HGEEOMSC.js +0 -157
  804. package/Build/Workers/chunk-IUROUBPA.js +0 -300
  805. package/Build/Workers/chunk-JNLWLSTP.js +0 -476
  806. package/Build/Workers/chunk-JYQNWIQQ.js +0 -44
  807. package/Build/Workers/chunk-KUN2ZA5X.js +0 -138
  808. package/Build/Workers/chunk-LXQ5QAEJ.js +0 -196
  809. package/Build/Workers/chunk-MBZH7YZ7.js +0 -945
  810. package/Build/Workers/chunk-MKXWJTFQ.js +0 -781
  811. package/Build/Workers/chunk-MMV6TO3P.js +0 -101
  812. package/Build/Workers/chunk-MSKXMXJI.js +0 -500
  813. package/Build/Workers/chunk-OAPA2RTG.js +0 -239
  814. package/Build/Workers/chunk-OE4MCOC7.js +0 -421
  815. package/Build/Workers/chunk-OJF4RTJG.js +0 -634
  816. package/Build/Workers/chunk-OXSI7N4C.js +0 -768
  817. package/Build/Workers/chunk-PYHLO636.js +0 -2857
  818. package/Build/Workers/chunk-QD4KM3GO.js +0 -138
  819. package/Build/Workers/chunk-QMLTCCYG.js +0 -55
  820. package/Build/Workers/chunk-QYQIVZBU.js +0 -117
  821. package/Build/Workers/chunk-R3TKLC6E.js +0 -1075
  822. package/Build/Workers/chunk-R4ZEWO4I.js +0 -122
  823. package/Build/Workers/chunk-RCK55EDX.js +0 -691
  824. package/Build/Workers/chunk-RHBWXX7C.js +0 -629
  825. package/Build/Workers/chunk-SAPFXU5X.js +0 -102
  826. package/Build/Workers/chunk-TBBFDFCS.js +0 -368
  827. package/Build/Workers/chunk-TGY6H6N6.js +0 -163
  828. package/Build/Workers/chunk-UOEUCKKU.js +0 -59
  829. package/Build/Workers/chunk-VFBNELXB.js +0 -353
  830. package/Build/Workers/chunk-VYWUFRRR.js +0 -1052
  831. package/Build/Workers/chunk-WVSELU6O.js +0 -2716
  832. package/Build/Workers/chunk-X43SJLQL.js +0 -10364
  833. package/Build/Workers/chunk-XUOJCLOH.js +0 -511
  834. package/Build/Workers/chunk-YLYBLJ3Y.js +0 -73
  835. package/Build/Workers/chunk-ZEE2EIFD.js +0 -430
  836. package/Build/Workers/chunk-ZIKGV7EL.js +0 -58
  837. package/Source/Scene/OctahedralProjectedCubeMap.js +0 -444
  838. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.glsl +0 -78
  839. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.js +0 -80
  840. package/Source/Shaders/OctahedralProjectionAtlasFS.glsl +0 -89
  841. package/Source/Shaders/OctahedralProjectionAtlasFS.js +0 -91
  842. package/Source/Shaders/OctahedralProjectionFS.glsl +0 -14
  843. package/Source/Shaders/OctahedralProjectionFS.js +0 -16
  844. package/Source/Shaders/OctahedralProjectionVS.glsl +0 -10
  845. package/Source/Shaders/OctahedralProjectionVS.js +0 -12
@@ -69,7 +69,7 @@ function Globe(ellipsoid) {
69
69
  ellipsoid.maximumRadius / 1000.0,
70
70
  0.0,
71
71
  ellipsoid.maximumRadius / 5.0,
72
- 1.0
72
+ 1.0,
73
73
  );
74
74
 
75
75
  this._translucency = new GlobeTranslucency();
@@ -612,13 +612,13 @@ Object.defineProperties(Globe.prototype, {
612
612
  //>>includeStart('debug', pragmas.debug);
613
613
  if (defined(value) && value.far < value.near) {
614
614
  throw new DeveloperError(
615
- "far distance must be greater than near distance."
615
+ "far distance must be greater than near distance.",
616
616
  );
617
617
  }
618
618
  //>>includeEnd('debug');
619
619
  this._undergroundColorAlphaByDistance = NearFarScalar.clone(
620
620
  value,
621
- this._undergroundColorAlphaByDistance
621
+ this._undergroundColorAlphaByDistance,
622
622
  );
623
623
  },
624
624
  },
@@ -673,11 +673,11 @@ function createComparePickTileFunction(rayOrigin) {
673
673
  return function (a, b) {
674
674
  const aDist = BoundingSphere.distanceSquaredTo(
675
675
  a.pickBoundingSphere,
676
- rayOrigin
676
+ rayOrigin,
677
677
  );
678
678
  const bDist = BoundingSphere.distanceSquaredTo(
679
679
  b.pickBoundingSphere,
680
- rayOrigin
680
+ rayOrigin,
681
681
  );
682
682
 
683
683
  return aDist - bDist;
@@ -705,7 +705,7 @@ Globe.prototype.pickWorldCoordinates = function (
705
705
  ray,
706
706
  scene,
707
707
  cullBackFaces,
708
- result
708
+ result,
709
709
  ) {
710
710
  //>>includeStart('debug', pragmas.debug);
711
711
  if (!defined(ray)) {
@@ -740,23 +740,24 @@ Globe.prototype.pickWorldCoordinates = function (
740
740
 
741
741
  let boundingVolume = surfaceTile.pickBoundingSphere;
742
742
  if (mode !== SceneMode.SCENE3D) {
743
- surfaceTile.pickBoundingSphere = boundingVolume = BoundingSphere.fromRectangleWithHeights2D(
744
- tile.rectangle,
745
- projection,
746
- surfaceTile.tileBoundingRegion.minimumHeight,
747
- surfaceTile.tileBoundingRegion.maximumHeight,
748
- boundingVolume
749
- );
743
+ surfaceTile.pickBoundingSphere = boundingVolume =
744
+ BoundingSphere.fromRectangleWithHeights2D(
745
+ tile.rectangle,
746
+ projection,
747
+ surfaceTile.tileBoundingRegion.minimumHeight,
748
+ surfaceTile.tileBoundingRegion.maximumHeight,
749
+ boundingVolume,
750
+ );
750
751
  Cartesian3.fromElements(
751
752
  boundingVolume.center.z,
752
753
  boundingVolume.center.x,
753
754
  boundingVolume.center.y,
754
- boundingVolume.center
755
+ boundingVolume.center,
755
756
  );
756
757
  } else if (defined(surfaceTile.renderedMesh)) {
757
758
  BoundingSphere.clone(
758
759
  surfaceTile.tileBoundingRegion.boundingSphere,
759
- boundingVolume
760
+ boundingVolume,
760
761
  );
761
762
  } else {
762
763
  // So wait how did we render this thing then? It shouldn't be possible to get here.
@@ -766,7 +767,7 @@ Globe.prototype.pickWorldCoordinates = function (
766
767
  const boundingSphereIntersection = IntersectionTests.raySphere(
767
768
  ray,
768
769
  boundingVolume,
769
- scratchSphereIntersectionResult
770
+ scratchSphereIntersectionResult,
770
771
  );
771
772
  if (defined(boundingSphereIntersection)) {
772
773
  sphereIntersections.push(surfaceTile);
@@ -783,7 +784,7 @@ Globe.prototype.pickWorldCoordinates = function (
783
784
  scene.mode,
784
785
  scene.mapProjection,
785
786
  cullBackFaces,
786
- result
787
+ result,
787
788
  );
788
789
  if (defined(intersection)) {
789
790
  break;
@@ -905,13 +906,13 @@ Globe.prototype.getHeight = function (cartographic) {
905
906
  cartographic.latitude,
906
907
  0.0,
907
908
  ellipsoid,
908
- scratchGetHeightCartesian
909
+ scratchGetHeightCartesian,
909
910
  );
910
911
 
911
912
  const ray = scratchGetHeightRay;
912
913
  const surfaceNormal = ellipsoid.geodeticSurfaceNormal(
913
914
  cartesian,
914
- ray.direction
915
+ ray.direction,
915
916
  );
916
917
 
917
918
  // Try to find the intersection point between the surface normal and z-axis.
@@ -919,7 +920,7 @@ Globe.prototype.getHeight = function (cartographic) {
919
920
  const rayOrigin = ellipsoid.getSurfaceNormalIntersectionWithZAxis(
920
921
  cartesian,
921
922
  11500.0,
922
- ray.origin
923
+ ray.origin,
923
924
  );
924
925
 
925
926
  // Theoretically, not with Earth datums, the intersection point can be outside the ellipsoid
@@ -936,7 +937,7 @@ Globe.prototype.getHeight = function (cartographic) {
936
937
  const vectorToMinimumPoint = Cartesian3.multiplyByScalar(
937
938
  surfaceNormal,
938
939
  Math.abs(magnitude) + 1,
939
- scratchGetHeightIntersection
940
+ scratchGetHeightIntersection,
940
941
  );
941
942
  Cartesian3.subtract(cartesian, vectorToMinimumPoint, ray.origin);
942
943
  }
@@ -946,7 +947,7 @@ Globe.prototype.getHeight = function (cartographic) {
946
947
  undefined,
947
948
  projection,
948
949
  false,
949
- scratchGetHeightIntersection
950
+ scratchGetHeightIntersection,
950
951
  );
951
952
  if (!defined(intersection)) {
952
953
  return undefined;
@@ -954,7 +955,7 @@ Globe.prototype.getHeight = function (cartographic) {
954
955
 
955
956
  return ellipsoid.cartesianToCartographic(
956
957
  intersection,
957
- scratchGetHeightCartographic
958
+ scratchGetHeightCartographic,
958
959
  ).height;
959
960
  };
960
961
 
@@ -979,7 +980,6 @@ Globe.prototype.beginFrame = function (frameState) {
979
980
  const tileProvider = surface.tileProvider;
980
981
  const terrainProvider = this.terrainProvider;
981
982
  const hasWaterMask =
982
- this.showWaterEffect &&
983
983
  defined(terrainProvider) &&
984
984
  terrainProvider.hasWaterMask &&
985
985
  terrainProvider.hasWaterMask;
@@ -1034,15 +1034,19 @@ Globe.prototype.beginFrame = function (frameState) {
1034
1034
  tileProvider.zoomedOutOceanSpecularIntensity =
1035
1035
  mode === SceneMode.SCENE3D ? this._zoomedOutOceanSpecularIntensity : 0.0;
1036
1036
  tileProvider.hasWaterMask = hasWaterMask;
1037
+ tileProvider.showWaterEffect = this.showWaterEffect;
1037
1038
  tileProvider.oceanNormalMap = this._oceanNormalMap;
1038
1039
  tileProvider.enableLighting = this.enableLighting;
1039
1040
  tileProvider.dynamicAtmosphereLighting = this.dynamicAtmosphereLighting;
1040
- tileProvider.dynamicAtmosphereLightingFromSun = this.dynamicAtmosphereLightingFromSun;
1041
+ tileProvider.dynamicAtmosphereLightingFromSun =
1042
+ this.dynamicAtmosphereLightingFromSun;
1041
1043
  tileProvider.showGroundAtmosphere = this.showGroundAtmosphere;
1042
1044
  tileProvider.atmosphereLightIntensity = this.atmosphereLightIntensity;
1043
- tileProvider.atmosphereRayleighCoefficient = this.atmosphereRayleighCoefficient;
1045
+ tileProvider.atmosphereRayleighCoefficient =
1046
+ this.atmosphereRayleighCoefficient;
1044
1047
  tileProvider.atmosphereMieCoefficient = this.atmosphereMieCoefficient;
1045
- tileProvider.atmosphereRayleighScaleHeight = this.atmosphereRayleighScaleHeight;
1048
+ tileProvider.atmosphereRayleighScaleHeight =
1049
+ this.atmosphereRayleighScaleHeight;
1046
1050
  tileProvider.atmosphereMieScaleHeight = this.atmosphereMieScaleHeight;
1047
1051
  tileProvider.atmosphereMieAnisotropy = this.atmosphereMieAnisotropy;
1048
1052
  tileProvider.shadows = this.shadows;
@@ -1054,7 +1058,8 @@ Globe.prototype.beginFrame = function (frameState) {
1054
1058
  tileProvider.backFaceCulling = this.backFaceCulling;
1055
1059
  tileProvider.vertexShadowDarkness = this.vertexShadowDarkness;
1056
1060
  tileProvider.undergroundColor = this._undergroundColor;
1057
- tileProvider.undergroundColorAlphaByDistance = this._undergroundColorAlphaByDistance;
1061
+ tileProvider.undergroundColorAlphaByDistance =
1062
+ this._undergroundColorAlphaByDistance;
1058
1063
  tileProvider.lambertDiffuseMultiplier = this.lambertDiffuseMultiplier;
1059
1064
 
1060
1065
  surface.beginFrame(frameState);
@@ -14,6 +14,9 @@ import StencilFunction from "./StencilFunction.js";
14
14
  import StencilOperation from "./StencilOperation.js";
15
15
 
16
16
  /**
17
+ * @alias GlobeDepth
18
+ * @constructor
19
+ *
17
20
  * @private
18
21
  */
19
22
  function GlobeDepth() {
@@ -83,21 +86,14 @@ Object.defineProperties(GlobeDepth.prototype, {
83
86
  },
84
87
  });
85
88
 
86
- function destroyFramebuffers(globeDepth) {
87
- globeDepth._pickColorFramebuffer.destroy();
88
- globeDepth._outputFramebuffer.destroy();
89
- globeDepth._copyDepthFramebuffer.destroy();
90
- globeDepth._tempCopyDepthFramebuffer.destroy();
91
- globeDepth._updateDepthFramebuffer.destroy();
92
- }
93
-
94
89
  function updateCopyCommands(globeDepth, context, width, height, passState) {
95
- globeDepth._viewport.width = width;
96
- globeDepth._viewport.height = height;
90
+ const viewport = globeDepth._viewport;
91
+ viewport.width = width;
92
+ viewport.height = height;
97
93
 
98
94
  const useScissorTest = !BoundingRectangle.equals(
99
- globeDepth._viewport,
100
- passState.viewport
95
+ viewport,
96
+ passState.viewport,
101
97
  );
102
98
  let updateScissor = useScissorTest !== globeDepth._useScissorTest;
103
99
  globeDepth._useScissorTest = useScissorTest;
@@ -107,25 +103,25 @@ function updateCopyCommands(globeDepth, context, width, height, passState) {
107
103
  ) {
108
104
  globeDepth._scissorRectangle = BoundingRectangle.clone(
109
105
  passState.viewport,
110
- globeDepth._scissorRectangle
106
+ globeDepth._scissorRectangle,
111
107
  );
112
108
  updateScissor = true;
113
109
  }
114
110
 
115
111
  if (
116
112
  !defined(globeDepth._rs) ||
117
- !BoundingRectangle.equals(globeDepth._viewport, globeDepth._rs.viewport) ||
113
+ !BoundingRectangle.equals(viewport, globeDepth._rs.viewport) ||
118
114
  updateScissor
119
115
  ) {
120
116
  globeDepth._rs = RenderState.fromCache({
121
- viewport: globeDepth._viewport,
117
+ viewport: viewport,
122
118
  scissorTest: {
123
119
  enabled: globeDepth._useScissorTest,
124
120
  rectangle: globeDepth._scissorRectangle,
125
121
  },
126
122
  });
127
123
  globeDepth._rsBlend = RenderState.fromCache({
128
- viewport: globeDepth._viewport,
124
+ viewport: viewport,
129
125
  scissorTest: {
130
126
  enabled: globeDepth._useScissorTest,
131
127
  rectangle: globeDepth._scissorRectangle,
@@ -135,7 +131,7 @@ function updateCopyCommands(globeDepth, context, width, height, passState) {
135
131
 
136
132
  // Copy packed depth only if the 3D Tiles bit is set
137
133
  globeDepth._rsUpdate = RenderState.fromCache({
138
- viewport: globeDepth._viewport,
134
+ viewport: viewport,
139
135
  scissorTest: {
140
136
  enabled: globeDepth._useScissorTest,
141
137
  rectangle: globeDepth._scissorRectangle,
@@ -165,7 +161,7 @@ function updateCopyCommands(globeDepth, context, width, height, passState) {
165
161
  },
166
162
  },
167
163
  owner: globeDepth,
168
- }
164
+ },
169
165
  );
170
166
  }
171
167
 
@@ -183,7 +179,7 @@ function updateCopyCommands(globeDepth, context, width, height, passState) {
183
179
  },
184
180
  },
185
181
  owner: globeDepth,
186
- }
182
+ },
187
183
  );
188
184
  }
189
185
 
@@ -199,7 +195,7 @@ function updateCopyCommands(globeDepth, context, width, height, passState) {
199
195
  },
200
196
  },
201
197
  owner: globeDepth,
202
- }
198
+ },
203
199
  );
204
200
  }
205
201
 
@@ -217,7 +213,7 @@ function updateCopyCommands(globeDepth, context, width, height, passState) {
217
213
  },
218
214
  },
219
215
  owner: globeDepth,
220
- }
216
+ },
221
217
  );
222
218
  }
223
219
 
@@ -236,16 +232,27 @@ function updateCopyCommands(globeDepth, context, width, height, passState) {
236
232
  globeDepth._clearGlobeColorCommand.framebuffer = globeDepth.framebuffer;
237
233
  }
238
234
 
235
+ /**
236
+ * Update framebuffers and render state.
237
+ *
238
+ * @param {Context} context The context used for rendering.
239
+ * @param {PassState} passState Rendering state for subsequent render passes.
240
+ * @param {BoundingRectangle} viewport The viewport for the rendering.
241
+ * @param {number} numSamples The number of samples for multi-sample anti-aliasing (MSAA).
242
+ * @param {boolean} hdr <code>true</code> if the color output needs to be floating point for HDR rendering.
243
+ * @param {boolean} clearGlobeDepth <code>true</code> if the depth buffer should be cleared before rendering 3D Tiles and opaque entities.
244
+ *
245
+ * @private
246
+ */
239
247
  GlobeDepth.prototype.update = function (
240
248
  context,
241
249
  passState,
242
250
  viewport,
243
251
  numSamples,
244
252
  hdr,
245
- clearGlobeDepth
253
+ clearGlobeDepth,
246
254
  ) {
247
- const width = viewport.width;
248
- const height = viewport.height;
255
+ const { width, height } = viewport;
249
256
 
250
257
  const pixelDatatype = hdr
251
258
  ? context.halfFloatingPointTexture
@@ -261,17 +268,24 @@ GlobeDepth.prototype.update = function (
261
268
  width,
262
269
  height,
263
270
  numSamples,
264
- pixelDatatype
271
+ pixelDatatype,
265
272
  );
266
273
  }
267
274
  this._copyDepthFramebuffer.update(context, width, height);
268
275
  updateCopyCommands(this, context, width, height, passState);
269
276
  context.uniformState.globeDepthTexture = undefined;
270
277
 
271
- this._useHdr = hdr;
272
278
  this._clearGlobeDepth = clearGlobeDepth;
273
279
  };
274
280
 
281
+ /**
282
+ * If using MSAA, resolve the stencil.
283
+ *
284
+ * @param {Context} context
285
+ * @param {boolean} blitStencil <code>true</code> if the stencil has been set.
286
+ *
287
+ * @private
288
+ */
275
289
  GlobeDepth.prototype.prepareColorTextures = function (context, blitStencil) {
276
290
  if (!this.picking && this._numSamples > 1) {
277
291
  this._outputFramebuffer.prepareTextures(context, blitStencil);
@@ -282,58 +296,65 @@ GlobeDepth.prototype.executeCopyDepth = function (context, passState) {
282
296
  if (defined(this._copyDepthCommand)) {
283
297
  this.prepareColorTextures(context);
284
298
  this._copyDepthCommand.execute(context, passState);
285
- context.uniformState.globeDepthTexture = this._copyDepthFramebuffer.getColorTexture();
299
+ context.uniformState.globeDepthTexture =
300
+ this._copyDepthFramebuffer.getColorTexture();
286
301
  }
287
302
  };
288
303
 
304
+ /**
305
+ * Update the existing depth texture using a stencil.
306
+ *
307
+ * @param {Context} context The context used for rendering.
308
+ * @param {PassState} passState Render state for subsequent rendering passes.
309
+ * @param {Texture} [depthTexture] The depth texture to copy.
310
+ */
289
311
  GlobeDepth.prototype.executeUpdateDepth = function (
290
312
  context,
291
313
  passState,
292
- clearGlobeDepth,
293
- depthTexture
314
+ depthTexture,
294
315
  ) {
295
316
  const depthTextureToCopy = defined(depthTexture)
296
317
  ? depthTexture
297
318
  : passState.framebuffer.depthStencilTexture;
298
319
  if (
299
- clearGlobeDepth ||
300
- depthTextureToCopy !== this.colorFramebufferManager.getDepthStencilTexture()
320
+ !this._clearGlobeDepth &&
321
+ depthTextureToCopy === this.colorFramebufferManager.getDepthStencilTexture()
301
322
  ) {
302
- // First copy the depth to a temporary globe depth texture, then update the
303
- // main globe depth texture where the stencil bit for 3D Tiles is set.
304
- // This preserves the original globe depth except where 3D Tiles is rendered.
305
- // The additional texture and framebuffer resources are created on demand.
306
- if (defined(this._updateDepthCommand)) {
307
- if (
308
- !defined(this._updateDepthFramebuffer.framebuffer) ||
309
- this._updateDepthFramebuffer.getDepthStencilTexture() !==
310
- depthTextureToCopy ||
311
- this._updateDepthFramebuffer.getColorTexture() !==
312
- this._copyDepthFramebuffer.getColorTexture()
313
- ) {
314
- const width = this._copyDepthFramebuffer.getColorTexture().width;
315
- const height = this._copyDepthFramebuffer.getColorTexture().height;
316
- this._tempCopyDepthFramebuffer.destroy();
317
- this._tempCopyDepthFramebuffer.update(context, width, height);
318
-
319
- const colorTexture = this._copyDepthFramebuffer.getColorTexture();
320
- this._updateDepthFramebuffer.setColorTexture(colorTexture, 0);
321
- this._updateDepthFramebuffer.setDepthStencilTexture(depthTextureToCopy);
322
- this._updateDepthFramebuffer.update(context, width, height);
323
-
324
- updateCopyCommands(this, context, width, height, passState);
325
- }
326
- this._tempCopyDepthTexture = depthTextureToCopy;
327
- this._tempCopyDepthCommand.execute(context, passState);
328
- this._updateDepthCommand.execute(context, passState);
323
+ // Fast path - the depth texture can be copied normally.
324
+ if (defined(this._copyDepthCommand)) {
325
+ this._copyDepthCommand.execute(context, passState);
329
326
  }
330
327
  return;
331
328
  }
329
+ if (!defined(this._updateDepthCommand)) {
330
+ return;
331
+ }
332
332
 
333
- // Fast path - the depth texture can be copied normally.
334
- if (defined(this._copyDepthCommand)) {
335
- this._copyDepthCommand.execute(context, passState);
333
+ // First copy the depth to a temporary globe depth texture, then update the
334
+ // main globe depth texture where the stencil bit for 3D Tiles is set.
335
+ // This preserves the original globe depth except where 3D Tiles is rendered.
336
+ // The additional texture and framebuffer resources are created on demand.
337
+ const updateDepthFramebuffer = this._updateDepthFramebuffer;
338
+ if (
339
+ !defined(updateDepthFramebuffer.framebuffer) ||
340
+ updateDepthFramebuffer.getDepthStencilTexture() !== depthTextureToCopy ||
341
+ updateDepthFramebuffer.getColorTexture() !==
342
+ this._copyDepthFramebuffer.getColorTexture()
343
+ ) {
344
+ const colorTexture = this._copyDepthFramebuffer.getColorTexture();
345
+ const { width, height } = colorTexture;
346
+ this._tempCopyDepthFramebuffer.destroy();
347
+ this._tempCopyDepthFramebuffer.update(context, width, height);
348
+
349
+ updateDepthFramebuffer.setColorTexture(colorTexture, 0);
350
+ updateDepthFramebuffer.setDepthStencilTexture(depthTextureToCopy);
351
+ updateDepthFramebuffer.update(context, width, height);
352
+
353
+ updateCopyCommands(this, context, width, height, passState);
336
354
  }
355
+ this._tempCopyDepthTexture = depthTextureToCopy;
356
+ this._tempCopyDepthCommand.execute(context, passState);
357
+ this._updateDepthCommand.execute(context, passState);
337
358
  };
338
359
 
339
360
  GlobeDepth.prototype.executeCopyColor = function (context, passState) {
@@ -355,22 +376,30 @@ GlobeDepth.prototype.isDestroyed = function () {
355
376
  };
356
377
 
357
378
  GlobeDepth.prototype.destroy = function () {
358
- destroyFramebuffers(this);
379
+ this._pickColorFramebuffer.destroy();
380
+ this._outputFramebuffer.destroy();
381
+ this._copyDepthFramebuffer.destroy();
382
+ this._tempCopyDepthFramebuffer.destroy();
383
+ this._updateDepthFramebuffer.destroy();
359
384
 
360
385
  if (defined(this._copyColorCommand)) {
361
- this._copyColorCommand.shaderProgram = this._copyColorCommand.shaderProgram.destroy();
386
+ this._copyColorCommand.shaderProgram =
387
+ this._copyColorCommand.shaderProgram.destroy();
362
388
  }
363
389
 
364
390
  if (defined(this._copyDepthCommand)) {
365
- this._copyDepthCommand.shaderProgram = this._copyDepthCommand.shaderProgram.destroy();
391
+ this._copyDepthCommand.shaderProgram =
392
+ this._copyDepthCommand.shaderProgram.destroy();
366
393
  }
367
394
 
368
395
  if (defined(this._tempCopyDepthCommand)) {
369
- this._tempCopyDepthCommand.shaderProgram = this._tempCopyDepthCommand.shaderProgram.destroy();
396
+ this._tempCopyDepthCommand.shaderProgram =
397
+ this._tempCopyDepthCommand.shaderProgram.destroy();
370
398
  }
371
399
 
372
400
  if (defined(this._updateDepthCommand)) {
373
- this._updateDepthCommand.shaderProgram = this._updateDepthCommand.shaderProgram.destroy();
401
+ this._updateDepthCommand.shaderProgram =
402
+ this._updateDepthCommand.shaderProgram.destroy();
374
403
  }
375
404
 
376
405
  return destroyObject(this);
@@ -11,7 +11,7 @@ function GlobeSurfaceShader(
11
11
  material,
12
12
  shaderProgram,
13
13
  clippingShaderState,
14
- clippingPolygonShaderState
14
+ clippingPolygonShaderState,
15
15
  ) {
16
16
  this.numberOfDayTextures = numberOfDayTextures;
17
17
  this.flags = flags;
@@ -109,6 +109,7 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
109
109
  const applyAlpha = options.applyAlpha;
110
110
  const applyDayNightAlpha = options.applyDayNightAlpha;
111
111
  const applySplit = options.applySplit;
112
+ const hasWaterMask = options.hasWaterMask;
112
113
  const showReflectiveOcean = options.showReflectiveOcean;
113
114
  const showOceanWaves = options.showOceanWaves;
114
115
  const enableLighting = options.enableLighting;
@@ -168,30 +169,31 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
168
169
  (applySaturation << 5) |
169
170
  (applyGamma << 6) |
170
171
  (applyAlpha << 7) |
171
- (showReflectiveOcean << 8) |
172
- (showOceanWaves << 9) |
173
- (enableLighting << 10) |
174
- (dynamicAtmosphereLighting << 11) |
175
- (dynamicAtmosphereLightingFromSun << 12) |
176
- (showGroundAtmosphere << 13) |
177
- (perFragmentGroundAtmosphere << 14) |
178
- (hasVertexNormals << 15) |
179
- (useWebMercatorProjection << 16) |
180
- (enableFog << 17) |
181
- (quantization << 18) |
182
- (applySplit << 19) |
183
- (enableClippingPlanes << 20) |
184
- (enableClippingPolygons << 21) |
185
- (cartographicLimitRectangleFlag << 22) |
186
- (imageryCutoutFlag << 23) |
187
- (colorCorrect << 24) |
188
- (highlightFillTile << 25) |
189
- (colorToAlpha << 26) |
190
- (hasGeodeticSurfaceNormals << 27) |
191
- (hasExaggeration << 28) |
192
- (showUndergroundColor << 29) |
193
- (translucent << 30) |
194
- (applyDayNightAlpha << 31);
172
+ (hasWaterMask << 8) |
173
+ (showReflectiveOcean << 9) |
174
+ (showOceanWaves << 10) |
175
+ (enableLighting << 11) |
176
+ (dynamicAtmosphereLighting << 12) |
177
+ (dynamicAtmosphereLightingFromSun << 13) |
178
+ (showGroundAtmosphere << 14) |
179
+ (perFragmentGroundAtmosphere << 15) |
180
+ (hasVertexNormals << 16) |
181
+ (useWebMercatorProjection << 17) |
182
+ (enableFog << 18) |
183
+ (quantization << 19) |
184
+ (applySplit << 20) |
185
+ (enableClippingPlanes << 21) |
186
+ (enableClippingPolygons << 22) |
187
+ (cartographicLimitRectangleFlag << 23) |
188
+ (imageryCutoutFlag << 24) |
189
+ (colorCorrect << 25) |
190
+ (highlightFillTile << 26) |
191
+ (colorToAlpha << 27) |
192
+ (hasGeodeticSurfaceNormals << 28) |
193
+ (hasExaggeration << 29) |
194
+ (showUndergroundColor << 30) |
195
+ (translucent << 31) |
196
+ (applyDayNightAlpha << 32);
195
197
 
196
198
  let currentClippingShaderState = 0;
197
199
  if (defined(clippingPlanes) && clippingPlanes.length > 0) {
@@ -241,7 +243,7 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
241
243
  // Need to go before GlobeFS
242
244
  if (currentClippingShaderState !== 0) {
243
245
  fs.sources.unshift(
244
- getClippingFunction(clippingPlanes, frameState.context)
246
+ getClippingFunction(clippingPlanes, frameState.context),
245
247
  );
246
248
  }
247
249
 
@@ -255,7 +257,7 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
255
257
  fs.defines.push(
256
258
  `TEXTURE_UNITS ${numberOfDayTextures}`,
257
259
  cartographicLimitRectangleDefine,
258
- imageryCutoutDefine
260
+ imageryCutoutDefine,
259
261
  );
260
262
 
261
263
  if (applyBrightness) {
@@ -279,6 +281,9 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
279
281
  if (applyDayNightAlpha) {
280
282
  fs.defines.push("APPLY_DAY_NIGHT_ALPHA");
281
283
  }
284
+ if (hasWaterMask) {
285
+ fs.defines.push("HAS_WATER_MASK");
286
+ }
282
287
  if (showReflectiveOcean) {
283
288
  fs.defines.push("SHOW_REFLECTIVE_OCEAN");
284
289
  vs.defines.push("SHOW_REFLECTIVE_OCEAN");
@@ -350,10 +355,10 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
350
355
  }
351
356
 
352
357
  fs.defines.push(
353
- `CLIPPING_POLYGON_REGIONS_LENGTH ${clippingPolygons.extentsCount}`
358
+ `CLIPPING_POLYGON_REGIONS_LENGTH ${clippingPolygons.extentsCount}`,
354
359
  );
355
360
  vs.defines.push(
356
- `CLIPPING_POLYGON_REGIONS_LENGTH ${clippingPolygons.extentsCount}`
361
+ `CLIPPING_POLYGON_REGIONS_LENGTH ${clippingPolygons.extentsCount}`,
357
362
  );
358
363
  }
359
364
 
@@ -393,7 +398,8 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
393
398
  texelUnclipped = v_textureCoordinates.x < cutoutAndColorResult.x || cutoutAndColorResult.z < v_textureCoordinates.x || v_textureCoordinates.y < cutoutAndColorResult.y || cutoutAndColorResult.w < v_textureCoordinates.y;\n\
394
399
  cutoutAndColorResult = sampleAndBlend(\n`;
395
400
  } else {
396
- computeDayColor += "\
401
+ computeDayColor +=
402
+ "\
397
403
  color = sampleAndBlend(\n";
398
404
  }
399
405
  computeDayColor += `\
@@ -404,8 +410,8 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
404
410
  u_dayTextureTranslationAndScale[${i}],\n\
405
411
  ${applyAlpha ? `u_dayTextureAlpha[${i}]` : "1.0"},\n\
406
412
  ${applyDayNightAlpha ? `u_dayTextureNightAlpha[${i}]` : "1.0"},\n${
407
- applyDayNightAlpha ? `u_dayTextureDayAlpha[${i}]` : "1.0"
408
- },\n${applyBrightness ? `u_dayTextureBrightness[${i}]` : "0.0"},\n\
413
+ applyDayNightAlpha ? `u_dayTextureDayAlpha[${i}]` : "1.0"
414
+ },\n${applyBrightness ? `u_dayTextureBrightness[${i}]` : "0.0"},\n\
409
415
  ${applyContrast ? `u_dayTextureContrast[${i}]` : "0.0"},\n\
410
416
  ${applyHue ? `u_dayTextureHue[${i}]` : "0.0"},\n\
411
417
  ${applySaturation ? `u_dayTextureSaturation[${i}]` : "0.0"},\n\
@@ -421,7 +427,8 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
421
427
  }
422
428
  }
423
429
 
424
- computeDayColor += "\
430
+ computeDayColor +=
431
+ "\
425
432
  return color;\n\
426
433
  }";
427
434
 
@@ -443,7 +450,7 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
443
450
  this.material,
444
451
  shader,
445
452
  currentClippingShaderState,
446
- currentClippingPolygonsShaderState
453
+ currentClippingPolygonsShaderState,
447
454
  );
448
455
  }
449
456