@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
@@ -29,14 +29,14 @@ function findContentMetadata(tileset, contentHeader) {
29
29
  if (!defined(tileset.schema)) {
30
30
  findContentMetadata._oneTimeWarning(
31
31
  "findContentMetadata-missing-root-schema",
32
- "Could not find a metadata schema for content metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json."
32
+ "Could not find a metadata schema for content metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.",
33
33
  );
34
34
  return undefined;
35
35
  }
36
36
 
37
37
  const classes = defaultValue(
38
38
  tileset.schema.classes,
39
- defaultValue.EMPTY_OBJECT
39
+ defaultValue.EMPTY_OBJECT,
40
40
  );
41
41
  if (defined(metadataJson.class)) {
42
42
  const contentClass = classes[metadataJson.class];
@@ -31,14 +31,14 @@ function findTileMetadata(tileset, tileHeader) {
31
31
  if (!defined(tileset.schema)) {
32
32
  findTileMetadata._oneTimeWarning(
33
33
  "findTileMetadata-missing-root-schema",
34
- "Could not find a metadata schema for tile metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json."
34
+ "Could not find a metadata schema for tile metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.",
35
35
  );
36
36
  return undefined;
37
37
  }
38
38
 
39
39
  const classes = defaultValue(
40
40
  tileset.schema.classes,
41
- defaultValue.EMPTY_OBJECT
41
+ defaultValue.EMPTY_OBJECT,
42
42
  );
43
43
  if (defined(metadataJson.class)) {
44
44
  const tileClass = classes[metadataJson.class];
@@ -48,7 +48,7 @@ function getBinaryAccessor(accessor) {
48
48
  componentDatatype,
49
49
  buffer,
50
50
  byteOffset,
51
- componentsPerAttribute * length
51
+ componentsPerAttribute * length,
52
52
  );
53
53
  },
54
54
  };
@@ -12,7 +12,7 @@ import Check from "../Core/Check.js";
12
12
  function getClipAndStyleCode(
13
13
  samplerUniformName,
14
14
  matrixUniformName,
15
- styleUniformName
15
+ styleUniformName,
16
16
  ) {
17
17
  //>>includeStart('debug', pragmas.debug);
18
18
  Check.typeOf.string("samplerUniformName", samplerUniformName);
@@ -22,7 +22,7 @@ function getClippingFunction(clippingPlaneCollection, context) {
22
22
  const textureResolution = ClippingPlaneCollection.getTextureResolution(
23
23
  clippingPlaneCollection,
24
24
  context,
25
- textureResolutionScratch
25
+ textureResolutionScratch,
26
26
  );
27
27
  const width = textureResolution.x;
28
28
  const height = textureResolution.y;
@@ -0,0 +1,43 @@
1
+ import defined from "../Core/defined.js";
2
+
3
+ /**
4
+ * Return the `MetadataClassProperty` from the given schema that
5
+ * matches the given description.
6
+ *
7
+ * If the given schema is `undefined`, then `undefined` is returned.
8
+ * If the given `schemaId` is defined but does not match the ID
9
+ * of the given schema, then `undefined` is returned.
10
+ * If the given schema does not have a class with the given name,
11
+ * or the class does not have a property with the given name,
12
+ * then `undefined` is returned.
13
+ *
14
+ * Otherwise, the `MetadataClassProperty` is returned.
15
+ *
16
+ * @param {object} schema The schema object
17
+ * @param {string|undefined} schemaId The ID of the metadata schema
18
+ * @param {string} className The name of the metadata class
19
+ * @param {string} propertyName The name of the metadata property
20
+ * @returns {MetadataClassProperty|undefined}
21
+ * @private
22
+ */
23
+ function getMetadataClassProperty(schema, schemaId, className, propertyName) {
24
+ if (!defined(schema)) {
25
+ return undefined;
26
+ }
27
+ if (defined(schemaId) && schema.id !== schemaId) {
28
+ return undefined;
29
+ }
30
+ const classes = schema.classes || {};
31
+ const metadataClass = classes[className];
32
+ if (!defined(metadataClass)) {
33
+ return undefined;
34
+ }
35
+ const properties = metadataClass.properties || {};
36
+ const metadataProperty = properties[propertyName];
37
+ if (!defined(metadataProperty)) {
38
+ return undefined;
39
+ }
40
+ return metadataProperty;
41
+ }
42
+
43
+ export default getMetadataClassProperty;
@@ -47,14 +47,14 @@ function parseBatchTable(options) {
47
47
  const binaryBody = options.binaryBody;
48
48
  const parseAsPropertyAttributes = defaultValue(
49
49
  options.parseAsPropertyAttributes,
50
- false
50
+ false,
51
51
  );
52
52
  const customAttributeOutput = options.customAttributeOutput;
53
53
 
54
54
  //>>includeStart('debug', pragmas.debug);
55
55
  if (parseAsPropertyAttributes && !defined(customAttributeOutput)) {
56
56
  throw new DeveloperError(
57
- "customAttributeOutput is required when parsing batch table as property attributes"
57
+ "customAttributeOutput is required when parsing batch table as property attributes",
58
58
  );
59
59
  }
60
60
  //>>includeEnd('debug');
@@ -90,7 +90,7 @@ function parseBatchTable(options) {
90
90
  className,
91
91
  binaryProperties,
92
92
  binaryBody,
93
- customAttributeOutput
93
+ customAttributeOutput,
94
94
  );
95
95
  transcodedSchema = attributeResults.transcodedSchema;
96
96
  const propertyAttribute = new PropertyAttribute({
@@ -104,7 +104,7 @@ function parseBatchTable(options) {
104
104
  featureCount,
105
105
  className,
106
106
  binaryProperties,
107
- binaryBody
107
+ binaryBody,
108
108
  );
109
109
  transcodedSchema = binaryResults.transcodedSchema;
110
110
  const featureTableJson = binaryResults.featureTableJson;
@@ -163,7 +163,7 @@ function partitionProperties(batchTable) {
163
163
  if (defined(legacyHierarchy)) {
164
164
  parseBatchTable._deprecationWarning(
165
165
  "batchTableHierarchyExtension",
166
- "The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead."
166
+ "The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead.",
167
167
  );
168
168
  hierarchyExtension = legacyHierarchy;
169
169
  } else if (defined(extensions)) {
@@ -220,7 +220,7 @@ function transcodeBinaryProperties(
220
220
  featureCount,
221
221
  className,
222
222
  binaryProperties,
223
- binaryBody
223
+ binaryBody,
224
224
  ) {
225
225
  const classProperties = {};
226
226
  const featureTableProperties = {};
@@ -233,7 +233,7 @@ function transcodeBinaryProperties(
233
233
 
234
234
  if (!defined(binaryBody)) {
235
235
  throw new RuntimeError(
236
- `Property ${propertyId} requires a batch table binary.`
236
+ `Property ${propertyId} requires a batch table binary.`,
237
237
  );
238
238
  }
239
239
 
@@ -246,13 +246,12 @@ function transcodeBinaryProperties(
246
246
 
247
247
  classProperties[propertyId] = transcodePropertyType(property);
248
248
 
249
- bufferViewsTypedArrays[
250
- bufferViewCount
251
- ] = binaryAccessor.createArrayBufferView(
252
- binaryBody.buffer,
253
- binaryBody.byteOffset + property.byteOffset,
254
- featureCount
255
- );
249
+ bufferViewsTypedArrays[bufferViewCount] =
250
+ binaryAccessor.createArrayBufferView(
251
+ binaryBody.buffer,
252
+ binaryBody.byteOffset + property.byteOffset,
253
+ featureCount,
254
+ );
256
255
 
257
256
  bufferViewCount++;
258
257
  }
@@ -285,7 +284,7 @@ function transcodeBinaryPropertiesAsPropertyAttributes(
285
284
  className,
286
285
  binaryProperties,
287
286
  binaryBody,
288
- customAttributeOutput
287
+ customAttributeOutput,
289
288
  ) {
290
289
  const classProperties = {};
291
290
  const propertyAttributeProperties = {};
@@ -302,7 +301,7 @@ function transcodeBinaryPropertiesAsPropertyAttributes(
302
301
  const property = binaryProperties[propertyId];
303
302
  if (!defined(binaryBody) && !defined(property.typedArray)) {
304
303
  throw new RuntimeError(
305
- `Property ${propertyId} requires a batch table binary.`
304
+ `Property ${propertyId} requires a batch table binary.`,
306
305
  );
307
306
  }
308
307
 
@@ -346,7 +345,7 @@ function transcodeBinaryPropertiesAsPropertyAttributes(
346
345
  attributeTypedArray = binaryAccessor.createArrayBufferView(
347
346
  binaryBody.buffer,
348
347
  binaryBody.byteOffset + property.byteOffset,
349
- featureCount
348
+ featureCount,
350
349
  );
351
350
  }
352
351
 
@@ -354,9 +353,8 @@ function transcodeBinaryPropertiesAsPropertyAttributes(
354
353
  attribute.name = customAttributeName;
355
354
  attribute.count = featureCount;
356
355
  attribute.type = property.type;
357
- const componentDatatype = ComponentDatatype.fromTypedArray(
358
- attributeTypedArray
359
- );
356
+ const componentDatatype =
357
+ ComponentDatatype.fromTypedArray(attributeTypedArray);
360
358
  if (
361
359
  componentDatatype === ComponentDatatype.INT ||
362
360
  componentDatatype === ComponentDatatype.UNSIGNED_INT ||
@@ -364,13 +362,12 @@ function transcodeBinaryPropertiesAsPropertyAttributes(
364
362
  ) {
365
363
  parseBatchTable._oneTimeWarning(
366
364
  "Cast pnts property to floats",
367
- `Point cloud property "${customAttributeName}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`
365
+ `Point cloud property "${customAttributeName}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`,
368
366
  );
369
367
  attributeTypedArray = new Float32Array(attributeTypedArray);
370
368
  }
371
- attribute.componentDatatype = ComponentDatatype.fromTypedArray(
372
- attributeTypedArray
373
- );
369
+ attribute.componentDatatype =
370
+ ComponentDatatype.fromTypedArray(attributeTypedArray);
374
371
  attribute.typedArray = attributeTypedArray;
375
372
  customAttributeOutput.push(attribute);
376
373
 
@@ -60,7 +60,7 @@ function parseFeatureMetadataLegacy(options) {
60
60
  metadataTable: metadataTable,
61
61
  extras: featureTable.extras,
62
62
  extensions: featureTable.extensions,
63
- })
63
+ }),
64
64
  );
65
65
  }
66
66
  }
@@ -80,7 +80,7 @@ function parseFeatureMetadataLegacy(options) {
80
80
  propertyTexture: transcodeToPropertyTexture(featureTexture),
81
81
  class: schema.classes[featureTexture.class],
82
82
  textures: options.textures,
83
- })
83
+ }),
84
84
  );
85
85
  }
86
86
  }
@@ -119,7 +119,7 @@ function transcodeToPropertyTexture(featureTexture) {
119
119
  propertyTexture.properties[propertyId] = combine(
120
120
  oldProperty.texture,
121
121
  property,
122
- true
122
+ true,
123
123
  );
124
124
  }
125
125
  }
@@ -52,7 +52,7 @@ function parseStructuralMetadata(options) {
52
52
  metadataTable: metadataTable,
53
53
  extras: propertyTable.extras,
54
54
  extensions: propertyTable.extensions,
55
- })
55
+ }),
56
56
  );
57
57
  }
58
58
  }
@@ -68,7 +68,7 @@ function parseStructuralMetadata(options) {
68
68
  propertyTexture: propertyTexture,
69
69
  class: schema.classes[propertyTexture.class],
70
70
  textures: options.textures,
71
- })
71
+ }),
72
72
  );
73
73
  }
74
74
  }
@@ -83,7 +83,7 @@ function parseStructuralMetadata(options) {
83
83
  name: propertyAttribute.name,
84
84
  class: schema.classes[propertyAttribute.class],
85
85
  propertyAttribute: propertyAttribute,
86
- })
86
+ }),
87
87
  );
88
88
  }
89
89
  }
@@ -15,13 +15,8 @@ import ShaderDestination from "../Renderer/ShaderDestination.js";
15
15
  function processVoxelProperties(renderResources, primitive) {
16
16
  const { shaderBuilder } = renderResources;
17
17
 
18
- const {
19
- names,
20
- types,
21
- componentTypes,
22
- minimumValues,
23
- maximumValues,
24
- } = primitive._provider;
18
+ const { names, types, componentTypes, minimumValues, maximumValues } =
19
+ primitive._provider;
25
20
 
26
21
  const attributeLength = types.length;
27
22
  const hasStatistics = defined(minimumValues) && defined(maximumValues);
@@ -29,14 +24,14 @@ function processVoxelProperties(renderResources, primitive) {
29
24
  shaderBuilder.addDefine(
30
25
  "METADATA_COUNT",
31
26
  attributeLength,
32
- ShaderDestination.FRAGMENT
27
+ ShaderDestination.FRAGMENT,
33
28
  );
34
29
 
35
30
  if (hasStatistics) {
36
31
  shaderBuilder.addDefine(
37
32
  "STATISTICS",
38
33
  undefined,
39
- ShaderDestination.FRAGMENT
34
+ ShaderDestination.FRAGMENT,
40
35
  );
41
36
  }
42
37
 
@@ -49,7 +44,7 @@ function processVoxelProperties(renderResources, primitive) {
49
44
  shaderBuilder.addStruct(
50
45
  propertyStatisticsStructId,
51
46
  propertyStatisticsStructName,
52
- ShaderDestination.FRAGMENT
47
+ ShaderDestination.FRAGMENT,
53
48
  );
54
49
  const glslType = getGlslType(type);
55
50
  shaderBuilder.addStructField(propertyStatisticsStructId, glslType, "min");
@@ -63,7 +58,7 @@ function processVoxelProperties(renderResources, primitive) {
63
58
  shaderBuilder.addStruct(
64
59
  statisticsStructId,
65
60
  statisticsStructName,
66
- ShaderDestination.FRAGMENT
61
+ ShaderDestination.FRAGMENT,
67
62
  );
68
63
  for (let i = 0; i < attributeLength; i++) {
69
64
  const name = names[i];
@@ -72,7 +67,7 @@ function processVoxelProperties(renderResources, primitive) {
72
67
  shaderBuilder.addStructField(
73
68
  statisticsStructId,
74
69
  propertyStructName,
75
- propertyFieldName
70
+ propertyFieldName,
76
71
  );
77
72
  }
78
73
 
@@ -83,12 +78,12 @@ function processVoxelProperties(renderResources, primitive) {
83
78
  shaderBuilder.addStruct(
84
79
  metadataStructId,
85
80
  metadataStructName,
86
- ShaderDestination.FRAGMENT
81
+ ShaderDestination.FRAGMENT,
87
82
  );
88
83
  shaderBuilder.addStructField(
89
84
  metadataStructId,
90
85
  statisticsStructName,
91
- statisticsFieldName
86
+ statisticsFieldName,
92
87
  );
93
88
  for (let i = 0; i < attributeLength; i++) {
94
89
  const name = names[i];
@@ -107,27 +102,27 @@ function processVoxelProperties(renderResources, primitive) {
107
102
  shaderBuilder.addStruct(
108
103
  voxelPropertyStructId,
109
104
  voxelPropertyStructName,
110
- ShaderDestination.FRAGMENT
105
+ ShaderDestination.FRAGMENT,
111
106
  );
112
107
  shaderBuilder.addStructField(
113
108
  voxelPropertyStructId,
114
109
  glslType,
115
- "partialDerivativeLocal"
110
+ "partialDerivativeLocal",
116
111
  );
117
112
  shaderBuilder.addStructField(
118
113
  voxelPropertyStructId,
119
114
  glslType,
120
- "partialDerivativeWorld"
115
+ "partialDerivativeWorld",
121
116
  );
122
117
  shaderBuilder.addStructField(
123
118
  voxelPropertyStructId,
124
119
  glslType,
125
- "partialDerivativeView"
120
+ "partialDerivativeView",
126
121
  );
127
122
  shaderBuilder.addStructField(
128
123
  voxelPropertyStructId,
129
124
  glslType,
130
- "partialDerivativeValid"
125
+ "partialDerivativeValid",
131
126
  );
132
127
  }
133
128
 
@@ -138,7 +133,7 @@ function processVoxelProperties(renderResources, primitive) {
138
133
  shaderBuilder.addStruct(
139
134
  voxelStructId,
140
135
  voxelStructName,
141
- ShaderDestination.FRAGMENT
136
+ ShaderDestination.FRAGMENT,
142
137
  );
143
138
  for (let i = 0; i < attributeLength; i++) {
144
139
  const name = names[i];
@@ -163,17 +158,17 @@ function processVoxelProperties(renderResources, primitive) {
163
158
  shaderBuilder.addStruct(
164
159
  fragmentInputStructId,
165
160
  fragmentInputStructName,
166
- ShaderDestination.FRAGMENT
161
+ ShaderDestination.FRAGMENT,
167
162
  );
168
163
  shaderBuilder.addStructField(
169
164
  fragmentInputStructId,
170
165
  metadataStructName,
171
- metadataFieldName
166
+ metadataFieldName,
172
167
  );
173
168
  shaderBuilder.addStructField(
174
169
  fragmentInputStructId,
175
170
  voxelStructName,
176
- voxelFieldName
171
+ voxelFieldName,
177
172
  );
178
173
 
179
174
  // Properties struct
@@ -183,7 +178,7 @@ function processVoxelProperties(renderResources, primitive) {
183
178
  shaderBuilder.addStruct(
184
179
  propertiesStructId,
185
180
  propertiesStructName,
186
- ShaderDestination.FRAGMENT
181
+ ShaderDestination.FRAGMENT,
187
182
  );
188
183
  for (let i = 0; i < attributeLength; i++) {
189
184
  const name = names[i];
@@ -200,7 +195,7 @@ function processVoxelProperties(renderResources, primitive) {
200
195
  shaderBuilder.addFunction(
201
196
  functionId,
202
197
  `${propertiesStructName} clearProperties()`,
203
- ShaderDestination.FRAGMENT
198
+ ShaderDestination.FRAGMENT,
204
199
  );
205
200
  shaderBuilder.addFunctionLines(functionId, [
206
201
  `${propertiesStructName} ${propertiesFieldName};`,
@@ -225,7 +220,7 @@ function processVoxelProperties(renderResources, primitive) {
225
220
  shaderBuilder.addFunction(
226
221
  functionId,
227
222
  `${propertiesStructName} sumProperties(${propertiesStructName} propertiesA, ${propertiesStructName} propertiesB)`,
228
- ShaderDestination.FRAGMENT
223
+ ShaderDestination.FRAGMENT,
229
224
  );
230
225
  shaderBuilder.addFunctionLines(functionId, [
231
226
  `${propertiesStructName} ${propertiesFieldName};`,
@@ -247,7 +242,7 @@ function processVoxelProperties(renderResources, primitive) {
247
242
  shaderBuilder.addFunction(
248
243
  functionId,
249
244
  `${propertiesStructName} scaleProperties(${propertiesStructName} ${propertiesFieldName}, float scale)`,
250
- ShaderDestination.FRAGMENT
245
+ ShaderDestination.FRAGMENT,
251
246
  );
252
247
  shaderBuilder.addFunctionLines(functionId, [
253
248
  `${propertiesStructName} scaledProperties = ${propertiesFieldName};`,
@@ -267,7 +262,7 @@ function processVoxelProperties(renderResources, primitive) {
267
262
  shaderBuilder.addFunction(
268
263
  functionId,
269
264
  `${propertiesStructName} mixProperties(${propertiesStructName} propertiesA, ${propertiesStructName} propertiesB, float mixFactor)`,
270
- ShaderDestination.FRAGMENT
265
+ ShaderDestination.FRAGMENT,
271
266
  );
272
267
  shaderBuilder.addFunctionLines(functionId, [
273
268
  `${propertiesStructName} ${propertiesFieldName};`,
@@ -289,7 +284,7 @@ function processVoxelProperties(renderResources, primitive) {
289
284
  shaderBuilder.addFunction(
290
285
  functionId,
291
286
  `void copyPropertiesToMetadata(in ${propertiesStructName} ${propertiesFieldName}, inout ${metadataStructName} ${metadataFieldName})`,
292
- ShaderDestination.FRAGMENT
287
+ ShaderDestination.FRAGMENT,
293
288
  );
294
289
  for (let i = 0; i < attributeLength; i++) {
295
290
  const name = names[i];
@@ -305,7 +300,7 @@ function processVoxelProperties(renderResources, primitive) {
305
300
  shaderBuilder.addFunction(
306
301
  functionId,
307
302
  `void setStatistics(inout ${statisticsStructName} ${statisticsFieldName})`,
308
- ShaderDestination.FRAGMENT
303
+ ShaderDestination.FRAGMENT,
309
304
  );
310
305
  for (let i = 0; i < attributeLength; i++) {
311
306
  const name = names[i];
@@ -317,10 +312,10 @@ function processVoxelProperties(renderResources, primitive) {
317
312
  const maximumValue = maximumValues[i][j];
318
313
  shaderBuilder.addFunctionLines(functionId, [
319
314
  `${statisticsFieldName}.${name}.min${glslField} = ${getGlslNumberAsFloat(
320
- minimumValue
315
+ minimumValue,
321
316
  )};`,
322
317
  `${statisticsFieldName}.${name}.max${glslField} = ${getGlslNumberAsFloat(
323
- maximumValue
318
+ maximumValue,
324
319
  )};`,
325
320
  ]);
326
321
  }
@@ -333,7 +328,7 @@ function processVoxelProperties(renderResources, primitive) {
333
328
  shaderBuilder.addFunction(
334
329
  functionId,
335
330
  `${propertiesStructName} getPropertiesFromMegatextureAtUv(vec2 texcoord)`,
336
- ShaderDestination.FRAGMENT
331
+ ShaderDestination.FRAGMENT,
337
332
  );
338
333
  shaderBuilder.addFunctionLines(functionId, [
339
334
  `${propertiesStructName} ${propertiesFieldName};`,
@@ -42,3 +42,47 @@ vec4 czm_computeAtmosphereColor(
42
42
 
43
43
  return vec4(color, opacity);
44
44
  }
45
+
46
+ /**
47
+ * Compute the atmosphere color, applying Rayleigh and Mie scattering. This
48
+ * builtin uses automatic uniforms so the atmophere settings are synced with the
49
+ * state of the Scene, even in other contexts like Model.
50
+ *
51
+ * @name czm_computeAtmosphereColor
52
+ * @glslFunction
53
+ *
54
+ * @param {czm_ray} primaryRay Ray from the origin to sky fragment to in world coords (low precision)
55
+ * @param {vec3} lightDirection Light direction from the sun or other light source.
56
+ * @param {vec3} rayleighColor The Rayleigh scattering color computed by a scattering function
57
+ * @param {vec3} mieColor The Mie scattering color computed by a scattering function
58
+ * @param {float} opacity The opacity computed by a scattering function.
59
+ */
60
+ vec4 czm_computeAtmosphereColor(
61
+ czm_ray primaryRay,
62
+ vec3 lightDirection,
63
+ vec3 rayleighColor,
64
+ vec3 mieColor,
65
+ float opacity
66
+ ) {
67
+ vec3 direction = normalize(primaryRay.direction);
68
+
69
+ float cosAngle = dot(direction, lightDirection);
70
+ float cosAngleSq = cosAngle * cosAngle;
71
+
72
+ float G = czm_atmosphereMieAnisotropy;
73
+ float GSq = G * G;
74
+
75
+ // The Rayleigh phase function.
76
+ float rayleighPhase = 3.0 / (50.2654824574) * (1.0 + cosAngleSq);
77
+ // The Mie phase function.
78
+ float miePhase = 3.0 / (25.1327412287) * ((1.0 - GSq) * (cosAngleSq + 1.0)) / (pow(1.0 + GSq - 2.0 * cosAngle * G, 1.5) * (2.0 + GSq));
79
+
80
+ // The final color is generated by combining the effects of the Rayleigh and Mie scattering.
81
+ vec3 rayleigh = rayleighPhase * rayleighColor;
82
+ vec3 mie = miePhase * mieColor;
83
+
84
+ vec3 color = (rayleigh + mie) * czm_atmosphereLightIntensity;
85
+
86
+ return vec4(color, opacity);
87
+ }
88
+
@@ -43,4 +43,48 @@ vec4 czm_computeAtmosphereColor(\n\
43
43
  \n\
44
44
  return vec4(color, opacity);\n\
45
45
  }\n\
46
+ \n\
47
+ /**\n\
48
+ * Compute the atmosphere color, applying Rayleigh and Mie scattering. This\n\
49
+ * builtin uses automatic uniforms so the atmophere settings are synced with the\n\
50
+ * state of the Scene, even in other contexts like Model.\n\
51
+ *\n\
52
+ * @name czm_computeAtmosphereColor\n\
53
+ * @glslFunction\n\
54
+ *\n\
55
+ * @param {czm_ray} primaryRay Ray from the origin to sky fragment to in world coords (low precision)\n\
56
+ * @param {vec3} lightDirection Light direction from the sun or other light source.\n\
57
+ * @param {vec3} rayleighColor The Rayleigh scattering color computed by a scattering function\n\
58
+ * @param {vec3} mieColor The Mie scattering color computed by a scattering function\n\
59
+ * @param {float} opacity The opacity computed by a scattering function.\n\
60
+ */\n\
61
+ vec4 czm_computeAtmosphereColor(\n\
62
+ czm_ray primaryRay,\n\
63
+ vec3 lightDirection,\n\
64
+ vec3 rayleighColor,\n\
65
+ vec3 mieColor,\n\
66
+ float opacity\n\
67
+ ) {\n\
68
+ vec3 direction = normalize(primaryRay.direction);\n\
69
+ \n\
70
+ float cosAngle = dot(direction, lightDirection);\n\
71
+ float cosAngleSq = cosAngle * cosAngle;\n\
72
+ \n\
73
+ float G = czm_atmosphereMieAnisotropy;\n\
74
+ float GSq = G * G;\n\
75
+ \n\
76
+ // The Rayleigh phase function.\n\
77
+ float rayleighPhase = 3.0 / (50.2654824574) * (1.0 + cosAngleSq);\n\
78
+ // The Mie phase function.\n\
79
+ float miePhase = 3.0 / (25.1327412287) * ((1.0 - GSq) * (cosAngleSq + 1.0)) / (pow(1.0 + GSq - 2.0 * cosAngle * G, 1.5) * (2.0 + GSq));\n\
80
+ \n\
81
+ // The final color is generated by combining the effects of the Rayleigh and Mie scattering.\n\
82
+ vec3 rayleigh = rayleighPhase * rayleighColor;\n\
83
+ vec3 mie = miePhase * mieColor;\n\
84
+ \n\
85
+ vec3 color = (rayleigh + mie) * czm_atmosphereLightIntensity;\n\
86
+ \n\
87
+ return vec4(color, opacity);\n\
88
+ }\n\
89
+ \n\
46
90
  ";
@@ -40,7 +40,6 @@ void czm_computeScattering(
40
40
 
41
41
  // Return empty colors if no intersection with the atmosphere geometry.
42
42
  if (primaryRayAtmosphereIntersect == czm_emptyRaySegment) {
43
- rayleighColor = vec3(1.0, 0.0, 1.0);
44
43
  return;
45
44
  }
46
45
 
@@ -41,7 +41,6 @@ void czm_computeScattering(\n\
41
41
  \n\
42
42
  // Return empty colors if no intersection with the atmosphere geometry.\n\
43
43
  if (primaryRayAtmosphereIntersect == czm_emptyRaySegment) {\n\
44
- rayleighColor = vec3(1.0, 0.0, 1.0);\n\
45
44
  return;\n\
46
45
  }\n\
47
46
  \n\
@@ -1,11 +1,11 @@
1
1
  /**
2
- * Packs a depth value into a vec3 that can be represented by unsigned bytes.
2
+ * Packs a depth value into a vec4 that can be represented by unsigned bytes.
3
3
  *
4
4
  * @name czm_packDepth
5
5
  * @glslFunction
6
6
  *
7
7
  * @param {float} depth The floating-point depth.
8
- * @returns {vec3} The packed depth.
8
+ * @returns {vec4} The packed depth.
9
9
  */
10
10
  vec4 czm_packDepth(float depth)
11
11
  {
@@ -1,12 +1,12 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
2
  export default "/**\n\
3
- * Packs a depth value into a vec3 that can be represented by unsigned bytes.\n\
3
+ * Packs a depth value into a vec4 that can be represented by unsigned bytes.\n\
4
4
  *\n\
5
5
  * @name czm_packDepth\n\
6
6
  * @glslFunction\n\
7
7
  *\n\
8
8
  * @param {float} depth The floating-point depth.\n\
9
- * @returns {vec3} The packed depth.\n\
9
+ * @returns {vec4} The packed depth.\n\
10
10
  */\n\
11
11
  vec4 czm_packDepth(float depth)\n\
12
12
  {\n\
@@ -29,7 +29,7 @@ vec3 czm_sphericalHarmonics(vec3 normal, vec3 coefficients[9])
29
29
  float y = normal.y;
30
30
  float z = normal.z;
31
31
 
32
- return
32
+ vec3 L =
33
33
  L00
34
34
  + L1_1 * y
35
35
  + L10 * z
@@ -39,4 +39,6 @@ vec3 czm_sphericalHarmonics(vec3 normal, vec3 coefficients[9])
39
39
  + L20 * (3.0 * z * z - 1.0)
40
40
  + L21 * (z * x)
41
41
  + L22 * (x * x - y * y);
42
+
43
+ return max(L, vec3(0.0));
42
44
  }