@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
@@ -41,7 +41,7 @@ function GetFeatureInfoFormat(type, format, callback) {
41
41
  //>>includeStart('debug', pragmas.debug);
42
42
  else {
43
43
  throw new DeveloperError(
44
- 'format is required when type is not "json", "xml", "html", or "text".'
44
+ 'format is required when type is not "json", "xml", "html", or "text".',
45
45
  );
46
46
  }
47
47
  //>>includeEnd('debug');
@@ -62,7 +62,7 @@ function GetFeatureInfoFormat(type, format, callback) {
62
62
  //>>includeStart('debug', pragmas.debug);
63
63
  else {
64
64
  throw new DeveloperError(
65
- 'callback is required when type is not "json", "xml", "html", or "text".'
65
+ 'callback is required when type is not "json", "xml", "html", or "text".',
66
66
  );
67
67
  }
68
68
  //>>includeEnd('debug');
@@ -125,7 +125,7 @@ function xmlToFeatureInfo(xml) {
125
125
  } else if (documentElement.localName === "ServiceExceptionReport") {
126
126
  // This looks like a WMS server error, so no features picked.
127
127
  throw new RuntimeError(
128
- new XMLSerializer().serializeToString(documentElement)
128
+ new XMLSerializer().serializeToString(documentElement),
129
129
  );
130
130
  } else if (documentElement.localName === "msGMLOutput") {
131
131
  return msGmlToFeatureInfo(xml);
@@ -142,7 +142,7 @@ function mapInfoXmlToFeatureInfo(xml) {
142
142
 
143
143
  const features = multiFeatureCollection.getElementsByTagNameNS(
144
144
  mapInfoMxpNamespace,
145
- "Feature"
145
+ "Feature",
146
146
  );
147
147
  for (let featureIndex = 0; featureIndex < features.length; ++featureIndex) {
148
148
  const feature = features[featureIndex];
@@ -151,7 +151,7 @@ function mapInfoXmlToFeatureInfo(xml) {
151
151
 
152
152
  const propertyElements = feature.getElementsByTagNameNS(
153
153
  mapInfoMxpNamespace,
154
- "Val"
154
+ "Val",
155
155
  );
156
156
  for (
157
157
  let propertyIndex = 0;
@@ -201,14 +201,14 @@ function esriXmlToFeatureInfo(xml) {
201
201
  }
202
202
 
203
203
  result.push(
204
- imageryLayerFeatureInfoFromDataAndProperties(feature, properties)
204
+ imageryLayerFeatureInfoFromDataAndProperties(feature, properties),
205
205
  );
206
206
  }
207
207
  } else {
208
208
  // Thredds format -- looks like esri, but instead of containing FIELDS, contains FeatureInfo element
209
209
  const featureInfoElements = featureInfoResponse.getElementsByTagNameNS(
210
210
  "*",
211
- "FeatureInfo"
211
+ "FeatureInfo",
212
212
  );
213
213
  for (
214
214
  let featureInfoElementIndex = 0;
@@ -235,8 +235,8 @@ function esriXmlToFeatureInfo(xml) {
235
235
  result.push(
236
236
  imageryLayerFeatureInfoFromDataAndProperties(
237
237
  featureInfoElement,
238
- properties
239
- )
238
+ properties,
239
+ ),
240
240
  );
241
241
  }
242
242
  }
@@ -251,7 +251,7 @@ function gmlToFeatureInfo(xml) {
251
251
 
252
252
  const featureMembers = featureCollection.getElementsByTagNameNS(
253
253
  gmlNamespace,
254
- "featureMember"
254
+ "featureMember",
255
255
  );
256
256
  for (
257
257
  let featureIndex = 0;
@@ -263,7 +263,7 @@ function gmlToFeatureInfo(xml) {
263
263
  const properties = {};
264
264
  getGmlPropertiesRecursively(featureMember, properties);
265
265
  result.push(
266
- imageryLayerFeatureInfoFromDataAndProperties(featureMember, properties)
266
+ imageryLayerFeatureInfoFromDataAndProperties(featureMember, properties),
267
267
  );
268
268
  }
269
269
 
@@ -288,7 +288,7 @@ function msGmlToFeatureInfo(xml) {
288
288
  }
289
289
  if (!defined(layer)) {
290
290
  throw new RuntimeError(
291
- "Unable to find first child of the feature info xml document"
291
+ "Unable to find first child of the feature info xml document",
292
292
  );
293
293
  }
294
294
  const featureMembers = layer.childNodes;
@@ -302,7 +302,7 @@ function msGmlToFeatureInfo(xml) {
302
302
  const properties = {};
303
303
  getGmlPropertiesRecursively(featureMember, properties);
304
304
  result.push(
305
- imageryLayerFeatureInfoFromDataAndProperties(featureMember, properties)
305
+ imageryLayerFeatureInfoFromDataAndProperties(featureMember, properties),
306
306
  );
307
307
  }
308
308
  }
@@ -364,7 +364,8 @@ function unknownXmlToFeatureInfo(xml) {
364
364
  }
365
365
 
366
366
  const emptyBodyRegex = /<body>\s*<\/body>/im;
367
- const wmsServiceExceptionReportRegex = /<ServiceExceptionReport([\s\S]*)<\/ServiceExceptionReport>/im;
367
+ const wmsServiceExceptionReportRegex =
368
+ /<ServiceExceptionReport([\s\S]*)<\/ServiceExceptionReport>/im;
368
369
  const titleRegex = /<title>([\s\S]*)<\/title>/im;
369
370
 
370
371
  function textToFeatureInfo(text) {
@@ -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
 
@@ -1037,12 +1038,15 @@ Globe.prototype.beginFrame = function (frameState) {
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;
@@ -243,7 +243,7 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
243
243
  // Need to go before GlobeFS
244
244
  if (currentClippingShaderState !== 0) {
245
245
  fs.sources.unshift(
246
- getClippingFunction(clippingPlanes, frameState.context)
246
+ getClippingFunction(clippingPlanes, frameState.context),
247
247
  );
248
248
  }
249
249
 
@@ -257,7 +257,7 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
257
257
  fs.defines.push(
258
258
  `TEXTURE_UNITS ${numberOfDayTextures}`,
259
259
  cartographicLimitRectangleDefine,
260
- imageryCutoutDefine
260
+ imageryCutoutDefine,
261
261
  );
262
262
 
263
263
  if (applyBrightness) {
@@ -355,10 +355,10 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
355
355
  }
356
356
 
357
357
  fs.defines.push(
358
- `CLIPPING_POLYGON_REGIONS_LENGTH ${clippingPolygons.extentsCount}`
358
+ `CLIPPING_POLYGON_REGIONS_LENGTH ${clippingPolygons.extentsCount}`,
359
359
  );
360
360
  vs.defines.push(
361
- `CLIPPING_POLYGON_REGIONS_LENGTH ${clippingPolygons.extentsCount}`
361
+ `CLIPPING_POLYGON_REGIONS_LENGTH ${clippingPolygons.extentsCount}`,
362
362
  );
363
363
  }
364
364
 
@@ -398,7 +398,8 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
398
398
  texelUnclipped = v_textureCoordinates.x < cutoutAndColorResult.x || cutoutAndColorResult.z < v_textureCoordinates.x || v_textureCoordinates.y < cutoutAndColorResult.y || cutoutAndColorResult.w < v_textureCoordinates.y;\n\
399
399
  cutoutAndColorResult = sampleAndBlend(\n`;
400
400
  } else {
401
- computeDayColor += "\
401
+ computeDayColor +=
402
+ "\
402
403
  color = sampleAndBlend(\n";
403
404
  }
404
405
  computeDayColor += `\
@@ -409,8 +410,8 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
409
410
  u_dayTextureTranslationAndScale[${i}],\n\
410
411
  ${applyAlpha ? `u_dayTextureAlpha[${i}]` : "1.0"},\n\
411
412
  ${applyDayNightAlpha ? `u_dayTextureNightAlpha[${i}]` : "1.0"},\n${
412
- applyDayNightAlpha ? `u_dayTextureDayAlpha[${i}]` : "1.0"
413
- },\n${applyBrightness ? `u_dayTextureBrightness[${i}]` : "0.0"},\n\
413
+ applyDayNightAlpha ? `u_dayTextureDayAlpha[${i}]` : "1.0"
414
+ },\n${applyBrightness ? `u_dayTextureBrightness[${i}]` : "0.0"},\n\
414
415
  ${applyContrast ? `u_dayTextureContrast[${i}]` : "0.0"},\n\
415
416
  ${applyHue ? `u_dayTextureHue[${i}]` : "0.0"},\n\
416
417
  ${applySaturation ? `u_dayTextureSaturation[${i}]` : "0.0"},\n\
@@ -426,7 +427,8 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
426
427
  }
427
428
  }
428
429
 
429
- computeDayColor += "\
430
+ computeDayColor +=
431
+ "\
430
432
  return color;\n\
431
433
  }";
432
434
 
@@ -448,7 +450,7 @@ GlobeSurfaceShaderSet.prototype.getShaderProgram = function (options) {
448
450
  this.material,
449
451
  shader,
450
452
  currentClippingShaderState,
451
- currentClippingPolygonsShaderState
453
+ currentClippingPolygonsShaderState,
452
454
  );
453
455
  }
454
456