@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
@@ -72,7 +72,7 @@ function generateDependencies(currentNode, dependencyNodes) {
72
72
  const referencedNode = getDependencyNode(
73
73
  element,
74
74
  ShaderSource._czmBuiltinsAndUniforms[element],
75
- dependencyNodes
75
+ dependencyNodes,
76
76
  );
77
77
  currentNode.dependsOn.push(referencedNode);
78
78
  referencedNode.requiredBy.push(currentNode);
@@ -170,45 +170,46 @@ function combineShader(shaderSource, isFragmentShader, context) {
170
170
 
171
171
  // Extract existing shader version from sources
172
172
  let version;
173
- combinedSources = combinedSources.replace(/#version\s+(.*?)\n/gm, function (
174
- match,
175
- group1
176
- ) {
177
- //>>includeStart('debug', pragmas.debug);
178
- if (defined(version) && version !== group1) {
179
- throw new DeveloperError(
180
- `inconsistent versions found: ${version} and ${group1}`
181
- );
182
- }
183
- //>>includeEnd('debug');
173
+ combinedSources = combinedSources.replace(
174
+ /#version\s+(.*?)\n/gm,
175
+ function (match, group1) {
176
+ //>>includeStart('debug', pragmas.debug);
177
+ if (defined(version) && version !== group1) {
178
+ throw new DeveloperError(
179
+ `inconsistent versions found: ${version} and ${group1}`,
180
+ );
181
+ }
182
+ //>>includeEnd('debug');
184
183
 
185
- // Extract #version to put at the top
186
- version = group1;
184
+ // Extract #version to put at the top
185
+ version = group1;
187
186
 
188
- // Replace original #version directive with a new line so the line numbers
189
- // are not off by one. There can be only one #version directive
190
- // and it must appear at the top of the source, only preceded by
191
- // whitespace and comments.
192
- return "\n";
193
- });
187
+ // Replace original #version directive with a new line so the line numbers
188
+ // are not off by one. There can be only one #version directive
189
+ // and it must appear at the top of the source, only preceded by
190
+ // whitespace and comments.
191
+ return "\n";
192
+ },
193
+ );
194
194
 
195
195
  // Extract shader extensions from sources
196
196
  const extensions = [];
197
- combinedSources = combinedSources.replace(/#extension.*\n/gm, function (
198
- match
199
- ) {
200
- // Extract extension to put at the top
201
- extensions.push(match);
202
-
203
- // Replace original #extension directive with a new line so the line numbers
204
- // are not off by one.
205
- return "\n";
206
- });
197
+ combinedSources = combinedSources.replace(
198
+ /#extension.*\n/gm,
199
+ function (match) {
200
+ // Extract extension to put at the top
201
+ extensions.push(match);
202
+
203
+ // Replace original #extension directive with a new line so the line numbers
204
+ // are not off by one.
205
+ return "\n";
206
+ },
207
+ );
207
208
 
208
209
  // Remove precision qualifier
209
210
  combinedSources = combinedSources.replace(
210
211
  /precision\s(lowp|mediump|highp)\s(float|int);/,
211
- ""
212
+ "",
212
213
  );
213
214
 
214
215
  // Replace main() for picked if desired.
@@ -216,7 +217,7 @@ function combineShader(shaderSource, isFragmentShader, context) {
216
217
  if (defined(pickColorQualifier)) {
217
218
  combinedSources = ShaderSource.createPickFragmentShaderSource(
218
219
  combinedSources,
219
- pickColorQualifier
220
+ pickColorQualifier,
220
221
  );
221
222
  }
222
223
 
@@ -280,7 +281,7 @@ function combineShader(shaderSource, isFragmentShader, context) {
280
281
  context.webgl2 &&
281
282
  isFragmentShader &&
282
283
  !/layout\s*\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g.test(
283
- combinedShader
284
+ combinedShader,
284
285
  ) &&
285
286
  !/czm_out_FragColor/g.test(combinedShader) &&
286
287
  /out_FragColor/g.test(combinedShader)
@@ -338,7 +339,7 @@ function ShaderSource(options) {
338
339
  pickColorQualifier !== "in"
339
340
  ) {
340
341
  throw new DeveloperError(
341
- "options.pickColorQualifier must be 'uniform' or 'in'."
342
+ "options.pickColorQualifier must be 'uniform' or 'in'.",
342
343
  );
343
344
  }
344
345
  //>>includeEnd('debug');
@@ -422,9 +423,8 @@ for (const uniformName in AutomaticUniforms) {
422
423
  if (AutomaticUniforms.hasOwnProperty(uniformName)) {
423
424
  const uniform = AutomaticUniforms[uniformName];
424
425
  if (typeof uniform.getDeclaration === "function") {
425
- ShaderSource._czmBuiltinsAndUniforms[
426
- uniformName
427
- ] = uniform.getDeclaration(uniformName);
426
+ ShaderSource._czmBuiltinsAndUniforms[uniformName] =
427
+ uniform.getDeclaration(uniformName);
428
428
  }
429
429
  }
430
430
  }
@@ -432,7 +432,7 @@ for (const uniformName in AutomaticUniforms) {
432
432
  ShaderSource.createPickVertexShaderSource = function (vertexShaderSource) {
433
433
  const renamedVS = ShaderSource.replaceMain(
434
434
  vertexShaderSource,
435
- "czm_old_main"
435
+ "czm_old_main",
436
436
  );
437
437
  const pickMain =
438
438
  "in vec4 pickColor; \n" +
@@ -448,11 +448,11 @@ ShaderSource.createPickVertexShaderSource = function (vertexShaderSource) {
448
448
 
449
449
  ShaderSource.createPickFragmentShaderSource = function (
450
450
  fragmentShaderSource,
451
- pickColorQualifier
451
+ pickColorQualifier,
452
452
  ) {
453
453
  const renamedFS = ShaderSource.replaceMain(
454
454
  fragmentShaderSource,
455
- "czm_old_main"
455
+ "czm_old_main",
456
456
  );
457
457
  const pickMain =
458
458
  `${pickColorQualifier} vec4 czm_pickColor; \n` +
@@ -60,11 +60,12 @@ function Texture(options) {
60
60
 
61
61
  let { width, height } = options;
62
62
  if (defined(source)) {
63
+ // Make sure we are using the element's intrinsic width and height where available
63
64
  if (!defined(width)) {
64
- width = defaultValue(source.videoWidth, source.width);
65
+ width = source.videoWidth ?? source.naturalWidth ?? source.width;
65
66
  }
66
67
  if (!defined(height)) {
67
- height = defaultValue(source.videoHeight, source.height);
68
+ height = source.videoHeight ?? source.naturalHeight ?? source.height;
68
69
  }
69
70
  }
70
71
 
@@ -78,7 +79,7 @@ function Texture(options) {
78
79
  const internalFormat = PixelFormat.toInternalFormat(
79
80
  pixelFormat,
80
81
  pixelDatatype,
81
- context
82
+ context,
82
83
  );
83
84
 
84
85
  const isCompressed = PixelFormat.isCompressedFormat(internalFormat);
@@ -86,7 +87,7 @@ function Texture(options) {
86
87
  //>>includeStart('debug', pragmas.debug);
87
88
  if (!defined(width) || !defined(height)) {
88
89
  throw new DeveloperError(
89
- "options requires a source field to create an initialized texture or width and height fields to create a blank texture."
90
+ "options requires a source field to create an initialized texture or width and height fields to create a blank texture.",
90
91
  );
91
92
  }
92
93
 
@@ -94,7 +95,7 @@ function Texture(options) {
94
95
 
95
96
  if (width > ContextLimits.maximumTextureSize) {
96
97
  throw new DeveloperError(
97
- `Width must be less than or equal to the maximum texture size (${ContextLimits.maximumTextureSize}). Check maximumTextureSize.`
98
+ `Width must be less than or equal to the maximum texture size (${ContextLimits.maximumTextureSize}). Check maximumTextureSize.`,
98
99
  );
99
100
  }
100
101
 
@@ -102,7 +103,7 @@ function Texture(options) {
102
103
 
103
104
  if (height > ContextLimits.maximumTextureSize) {
104
105
  throw new DeveloperError(
105
- `Height must be less than or equal to the maximum texture size (${ContextLimits.maximumTextureSize}). Check maximumTextureSize.`
106
+ `Height must be less than or equal to the maximum texture size (${ContextLimits.maximumTextureSize}). Check maximumTextureSize.`,
106
107
  );
107
108
  }
108
109
 
@@ -120,7 +121,7 @@ function Texture(options) {
120
121
  pixelDatatype !== PixelDatatype.UNSIGNED_INT
121
122
  ) {
122
123
  throw new DeveloperError(
123
- "When options.pixelFormat is DEPTH_COMPONENT, options.pixelDatatype must be UNSIGNED_SHORT or UNSIGNED_INT."
124
+ "When options.pixelFormat is DEPTH_COMPONENT, options.pixelDatatype must be UNSIGNED_SHORT or UNSIGNED_INT.",
124
125
  );
125
126
  }
126
127
 
@@ -129,13 +130,13 @@ function Texture(options) {
129
130
  pixelDatatype !== PixelDatatype.UNSIGNED_INT_24_8
130
131
  ) {
131
132
  throw new DeveloperError(
132
- "When options.pixelFormat is DEPTH_STENCIL, options.pixelDatatype must be UNSIGNED_INT_24_8."
133
+ "When options.pixelFormat is DEPTH_STENCIL, options.pixelDatatype must be UNSIGNED_INT_24_8.",
133
134
  );
134
135
  }
135
136
 
136
137
  if (pixelDatatype === PixelDatatype.FLOAT && !context.floatingPointTexture) {
137
138
  throw new DeveloperError(
138
- "When options.pixelDatatype is FLOAT, this WebGL implementation must support the OES_texture_float extension. Check context.floatingPointTexture."
139
+ "When options.pixelDatatype is FLOAT, this WebGL implementation must support the OES_texture_float extension. Check context.floatingPointTexture.",
139
140
  );
140
141
  }
141
142
 
@@ -144,20 +145,20 @@ function Texture(options) {
144
145
  !context.halfFloatingPointTexture
145
146
  ) {
146
147
  throw new DeveloperError(
147
- "When options.pixelDatatype is HALF_FLOAT, this WebGL implementation must support the OES_texture_half_float extension. Check context.halfFloatingPointTexture."
148
+ "When options.pixelDatatype is HALF_FLOAT, this WebGL implementation must support the OES_texture_half_float extension. Check context.halfFloatingPointTexture.",
148
149
  );
149
150
  }
150
151
 
151
152
  if (PixelFormat.isDepthFormat(pixelFormat)) {
152
153
  if (defined(source)) {
153
154
  throw new DeveloperError(
154
- "When options.pixelFormat is DEPTH_COMPONENT or DEPTH_STENCIL, source cannot be provided."
155
+ "When options.pixelFormat is DEPTH_COMPONENT or DEPTH_STENCIL, source cannot be provided.",
155
156
  );
156
157
  }
157
158
 
158
159
  if (!context.depthTexture) {
159
160
  throw new DeveloperError(
160
- "When options.pixelFormat is DEPTH_COMPONENT or DEPTH_STENCIL, this WebGL implementation must support WEBGL_depth_texture. Check context.depthTexture."
161
+ "When options.pixelFormat is DEPTH_COMPONENT or DEPTH_STENCIL, this WebGL implementation must support WEBGL_depth_texture. Check context.depthTexture.",
161
162
  );
162
163
  }
163
164
  }
@@ -165,33 +166,33 @@ function Texture(options) {
165
166
  if (isCompressed) {
166
167
  if (!defined(source) || !defined(source.arrayBufferView)) {
167
168
  throw new DeveloperError(
168
- "When options.pixelFormat is compressed, options.source.arrayBufferView must be defined."
169
+ "When options.pixelFormat is compressed, options.source.arrayBufferView must be defined.",
169
170
  );
170
171
  }
171
172
 
172
173
  if (PixelFormat.isDXTFormat(internalFormat) && !context.s3tc) {
173
174
  throw new DeveloperError(
174
- "When options.pixelFormat is S3TC compressed, this WebGL implementation must support the WEBGL_compressed_texture_s3tc extension. Check context.s3tc."
175
+ "When options.pixelFormat is S3TC compressed, this WebGL implementation must support the WEBGL_compressed_texture_s3tc extension. Check context.s3tc.",
175
176
  );
176
177
  } else if (PixelFormat.isPVRTCFormat(internalFormat) && !context.pvrtc) {
177
178
  throw new DeveloperError(
178
- "When options.pixelFormat is PVRTC compressed, this WebGL implementation must support the WEBGL_compressed_texture_pvrtc extension. Check context.pvrtc."
179
+ "When options.pixelFormat is PVRTC compressed, this WebGL implementation must support the WEBGL_compressed_texture_pvrtc extension. Check context.pvrtc.",
179
180
  );
180
181
  } else if (PixelFormat.isASTCFormat(internalFormat) && !context.astc) {
181
182
  throw new DeveloperError(
182
- "When options.pixelFormat is ASTC compressed, this WebGL implementation must support the WEBGL_compressed_texture_astc extension. Check context.astc."
183
+ "When options.pixelFormat is ASTC compressed, this WebGL implementation must support the WEBGL_compressed_texture_astc extension. Check context.astc.",
183
184
  );
184
185
  } else if (PixelFormat.isETC2Format(internalFormat) && !context.etc) {
185
186
  throw new DeveloperError(
186
- "When options.pixelFormat is ETC2 compressed, this WebGL implementation must support the WEBGL_compressed_texture_etc extension. Check context.etc."
187
+ "When options.pixelFormat is ETC2 compressed, this WebGL implementation must support the WEBGL_compressed_texture_etc extension. Check context.etc.",
187
188
  );
188
189
  } else if (PixelFormat.isETC1Format(internalFormat) && !context.etc1) {
189
190
  throw new DeveloperError(
190
- "When options.pixelFormat is ETC1 compressed, this WebGL implementation must support the WEBGL_compressed_texture_etc1 extension. Check context.etc1."
191
+ "When options.pixelFormat is ETC1 compressed, this WebGL implementation must support the WEBGL_compressed_texture_etc1 extension. Check context.etc1.",
191
192
  );
192
193
  } else if (PixelFormat.isBC7Format(internalFormat) && !context.bc7) {
193
194
  throw new DeveloperError(
194
- "When options.pixelFormat is BC7 compressed, this WebGL implementation must support the EXT_texture_compression_bptc extension. Check context.bc7."
195
+ "When options.pixelFormat is BC7 compressed, this WebGL implementation must support the EXT_texture_compression_bptc extension. Check context.bc7.",
195
196
  );
196
197
  }
197
198
 
@@ -199,11 +200,11 @@ function Texture(options) {
199
200
  PixelFormat.compressedTextureSizeInBytes(
200
201
  internalFormat,
201
202
  width,
202
- height
203
+ height,
203
204
  ) !== source.arrayBufferView.byteLength
204
205
  ) {
205
206
  throw new DeveloperError(
206
- "The byte length of the array buffer is invalid for the compressed texture with the given width and height."
207
+ "The byte length of the array buffer is invalid for the compressed texture with the given width and height.",
207
208
  );
208
209
  }
209
210
  }
@@ -245,7 +246,7 @@ function Texture(options) {
245
246
  } else {
246
247
  gl.pixelStorei(
247
248
  gl.UNPACK_COLORSPACE_CONVERSION_WEBGL,
248
- gl.BROWSER_DEFAULT_WEBGL
249
+ gl.BROWSER_DEFAULT_WEBGL,
249
250
  );
250
251
  }
251
252
  if (defined(source.arrayBufferView)) {
@@ -295,7 +296,7 @@ function loadCompressedBufferSource(texture, source) {
295
296
  width,
296
297
  height,
297
298
  0,
298
- source.arrayBufferView
299
+ source.arrayBufferView,
299
300
  );
300
301
 
301
302
  if (defined(source.mipLevels)) {
@@ -311,7 +312,7 @@ function loadCompressedBufferSource(texture, source) {
311
312
  mipWidth,
312
313
  mipHeight,
313
314
  0,
314
- source.mipLevels[i]
315
+ source.mipLevels[i],
315
316
  );
316
317
  }
317
318
  }
@@ -336,7 +337,7 @@ function loadBufferSource(texture, source) {
336
337
  const unpackAlignment = PixelFormat.alignmentInBytes(
337
338
  pixelFormat,
338
339
  pixelDatatype,
339
- width
340
+ width,
340
341
  );
341
342
  gl.pixelStorei(gl.UNPACK_ALIGNMENT, unpackAlignment);
342
343
  gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false);
@@ -349,7 +350,7 @@ function loadBufferSource(texture, source) {
349
350
  pixelFormat,
350
351
  pixelDatatype,
351
352
  width,
352
- height
353
+ height,
353
354
  );
354
355
  }
355
356
  gl.texImage2D(
@@ -361,7 +362,7 @@ function loadBufferSource(texture, source) {
361
362
  0,
362
363
  pixelFormat,
363
364
  PixelDatatype.toWebGLConstant(pixelDatatype, context),
364
- arrayBufferView
365
+ arrayBufferView,
365
366
  );
366
367
 
367
368
  if (defined(source.mipLevels)) {
@@ -379,7 +380,7 @@ function loadBufferSource(texture, source) {
379
380
  0,
380
381
  pixelFormat,
381
382
  PixelDatatype.toWebGLConstant(pixelDatatype, context),
382
- source.mipLevels[i]
383
+ source.mipLevels[i],
383
384
  );
384
385
  }
385
386
  }
@@ -413,7 +414,7 @@ function loadFramebufferSource(texture, source) {
413
414
  source.yOffset,
414
415
  texture.width,
415
416
  texture.height,
416
- 0
417
+ 0,
417
418
  );
418
419
 
419
420
  if (source.framebuffer !== context.defaultFramebuffer) {
@@ -443,7 +444,7 @@ function loadImageSource(texture, source) {
443
444
  texture._internalFormat,
444
445
  texture.pixelFormat,
445
446
  PixelDatatype.toWebGLConstant(texture.pixelDatatype, context),
446
- source
447
+ source,
447
448
  );
448
449
  }
449
450
 
@@ -479,7 +480,7 @@ function loadNull(texture) {
479
480
  0,
480
481
  texture._pixelFormat,
481
482
  PixelDatatype.toWebGLConstant(texture._pixelDatatype, context),
482
- null
483
+ null,
483
484
  );
484
485
  }
485
486
 
@@ -552,28 +553,28 @@ Texture.fromFramebuffer = function (options) {
552
553
  PixelFormat.isCompressedFormat(pixelFormat)
553
554
  ) {
554
555
  throw new DeveloperError(
555
- "pixelFormat cannot be DEPTH_COMPONENT, DEPTH_STENCIL or a compressed format."
556
+ "pixelFormat cannot be DEPTH_COMPONENT, DEPTH_STENCIL or a compressed format.",
556
557
  );
557
558
  }
558
559
  Check.defined("options.context", context);
559
560
  Check.typeOf.number.greaterThanOrEquals(
560
561
  "framebufferXOffset",
561
562
  framebufferXOffset,
562
- 0
563
+ 0,
563
564
  );
564
565
  Check.typeOf.number.greaterThanOrEquals(
565
566
  "framebufferYOffset",
566
567
  framebufferYOffset,
567
- 0
568
+ 0,
568
569
  );
569
570
  if (framebufferXOffset + width > gl.drawingBufferWidth) {
570
571
  throw new DeveloperError(
571
- "framebufferXOffset + width must be less than or equal to drawingBufferWidth"
572
+ "framebufferXOffset + width must be less than or equal to drawingBufferWidth",
572
573
  );
573
574
  }
574
575
  if (framebufferYOffset + height > gl.drawingBufferHeight) {
575
576
  throw new DeveloperError(
576
- "framebufferYOffset + height must be less than or equal to drawingBufferHeight."
577
+ "framebufferYOffset + height must be less than or equal to drawingBufferHeight.",
577
578
  );
578
579
  }
579
580
  //>>includeEnd('debug');
@@ -732,7 +733,7 @@ function setupSampler(texture, sampler) {
732
733
  gl.texParameteri(
733
734
  target,
734
735
  texture._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,
735
- sampler.maximumAnisotropy
736
+ sampler.maximumAnisotropy,
736
737
  );
737
738
  }
738
739
  gl.bindTexture(target, null);
@@ -781,12 +782,12 @@ Texture.prototype.copyFrom = function (options) {
781
782
  Check.defined("options.source", source);
782
783
  if (PixelFormat.isDepthFormat(this._pixelFormat)) {
783
784
  throw new DeveloperError(
784
- "Cannot call copyFrom when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL."
785
+ "Cannot call copyFrom when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL.",
785
786
  );
786
787
  }
787
788
  if (PixelFormat.isCompressedFormat(this._pixelFormat)) {
788
789
  throw new DeveloperError(
789
- "Cannot call copyFrom with a compressed texture pixel format."
790
+ "Cannot call copyFrom with a compressed texture pixel format.",
790
791
  );
791
792
  }
792
793
  Check.typeOf.number.greaterThanOrEquals("xOffset", xOffset, 0);
@@ -794,12 +795,12 @@ Texture.prototype.copyFrom = function (options) {
794
795
  Check.typeOf.number.lessThanOrEquals(
795
796
  "xOffset + options.source.width",
796
797
  xOffset + source.width,
797
- this._width
798
+ this._width,
798
799
  );
799
800
  Check.typeOf.number.lessThanOrEquals(
800
801
  "yOffset + options.source.height",
801
802
  yOffset + source.height,
802
- this._height
803
+ this._height,
803
804
  );
804
805
  //>>includeEnd('debug');
805
806
 
@@ -810,7 +811,17 @@ Texture.prototype.copyFrom = function (options) {
810
811
  gl.activeTexture(gl.TEXTURE0);
811
812
  gl.bindTexture(target, this._texture);
812
813
 
813
- const { width, height, arrayBufferView } = source;
814
+ let { width, height } = source;
815
+ const arrayBufferView = source.arrayBufferView;
816
+
817
+ // Make sure we are using the element's intrinsic width and height where available
818
+ if (defined(source.videoWidth) && defined(source.videoHeight)) {
819
+ width = source.videoWidth;
820
+ height = source.videoHeight;
821
+ } else if (defined(source.naturalWidth) && defined(source.naturalHeight)) {
822
+ width = source.naturalWidth;
823
+ height = source.naturalHeight;
824
+ }
814
825
 
815
826
  const textureWidth = this._width;
816
827
  const textureHeight = this._height;
@@ -826,7 +837,7 @@ Texture.prototype.copyFrom = function (options) {
826
837
  unpackAlignment = PixelFormat.alignmentInBytes(
827
838
  pixelFormat,
828
839
  pixelDatatype,
829
- width
840
+ width,
830
841
  );
831
842
  }
832
843
  gl.pixelStorei(gl.UNPACK_ALIGNMENT, unpackAlignment);
@@ -836,7 +847,7 @@ Texture.prototype.copyFrom = function (options) {
836
847
  } else {
837
848
  gl.pixelStorei(
838
849
  gl.UNPACK_COLORSPACE_CONVERSION_WEBGL,
839
- gl.BROWSER_DEFAULT_WEBGL
850
+ gl.BROWSER_DEFAULT_WEBGL,
840
851
  );
841
852
  }
842
853
 
@@ -859,7 +870,7 @@ Texture.prototype.copyFrom = function (options) {
859
870
  pixelFormat,
860
871
  pixelDatatype,
861
872
  textureWidth,
862
- textureHeight
873
+ textureHeight,
863
874
  );
864
875
  } else {
865
876
  pixels = arrayBufferView;
@@ -879,7 +890,7 @@ Texture.prototype.copyFrom = function (options) {
879
890
  pixelFormat,
880
891
  pixelDatatype,
881
892
  textureWidth,
882
- textureHeight
893
+ textureHeight,
883
894
  );
884
895
  }
885
896
  gl.texImage2D(
@@ -891,7 +902,7 @@ Texture.prototype.copyFrom = function (options) {
891
902
  0,
892
903
  pixelFormat,
893
904
  PixelDatatype.toWebGLConstant(pixelDatatype, context),
894
- pixels
905
+ pixels,
895
906
  );
896
907
  this._initialized = true;
897
908
  }
@@ -908,7 +919,7 @@ Texture.prototype.copyFrom = function (options) {
908
919
  pixelFormat,
909
920
  pixelDatatype,
910
921
  width,
911
- height
922
+ height,
912
923
  );
913
924
  } else {
914
925
  pixels = arrayBufferView;
@@ -928,7 +939,7 @@ Texture.prototype.copyFrom = function (options) {
928
939
  height,
929
940
  pixelFormat,
930
941
  PixelDatatype.toWebGLConstant(pixelDatatype, context),
931
- pixels
942
+ pixels,
932
943
  );
933
944
  }
934
945
 
@@ -961,7 +972,7 @@ Texture.prototype.copyFromFramebuffer = function (
961
972
  framebufferXOffset,
962
973
  framebufferYOffset,
963
974
  width,
964
- height
975
+ height,
965
976
  ) {
966
977
  xOffset = defaultValue(xOffset, 0);
967
978
  yOffset = defaultValue(yOffset, 0);
@@ -973,22 +984,22 @@ Texture.prototype.copyFromFramebuffer = function (
973
984
  //>>includeStart('debug', pragmas.debug);
974
985
  if (PixelFormat.isDepthFormat(this._pixelFormat)) {
975
986
  throw new DeveloperError(
976
- "Cannot call copyFromFramebuffer when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL."
987
+ "Cannot call copyFromFramebuffer when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL.",
977
988
  );
978
989
  }
979
990
  if (this._pixelDatatype === PixelDatatype.FLOAT) {
980
991
  throw new DeveloperError(
981
- "Cannot call copyFromFramebuffer when the texture pixel data type is FLOAT."
992
+ "Cannot call copyFromFramebuffer when the texture pixel data type is FLOAT.",
982
993
  );
983
994
  }
984
995
  if (this._pixelDatatype === PixelDatatype.HALF_FLOAT) {
985
996
  throw new DeveloperError(
986
- "Cannot call copyFromFramebuffer when the texture pixel data type is HALF_FLOAT."
997
+ "Cannot call copyFromFramebuffer when the texture pixel data type is HALF_FLOAT.",
987
998
  );
988
999
  }
989
1000
  if (PixelFormat.isCompressedFormat(this._pixelFormat)) {
990
1001
  throw new DeveloperError(
991
- "Cannot call copyFrom with a compressed texture pixel format."
1002
+ "Cannot call copyFrom with a compressed texture pixel format.",
992
1003
  );
993
1004
  }
994
1005
 
@@ -997,22 +1008,22 @@ Texture.prototype.copyFromFramebuffer = function (
997
1008
  Check.typeOf.number.greaterThanOrEquals(
998
1009
  "framebufferXOffset",
999
1010
  framebufferXOffset,
1000
- 0
1011
+ 0,
1001
1012
  );
1002
1013
  Check.typeOf.number.greaterThanOrEquals(
1003
1014
  "framebufferYOffset",
1004
1015
  framebufferYOffset,
1005
- 0
1016
+ 0,
1006
1017
  );
1007
1018
  Check.typeOf.number.lessThanOrEquals(
1008
1019
  "xOffset + width",
1009
1020
  xOffset + width,
1010
- this._width
1021
+ this._width,
1011
1022
  );
1012
1023
  Check.typeOf.number.lessThanOrEquals(
1013
1024
  "yOffset + height",
1014
1025
  yOffset + height,
1015
- this._height
1026
+ this._height,
1016
1027
  );
1017
1028
  //>>includeEnd('debug');
1018
1029
 
@@ -1029,7 +1040,7 @@ Texture.prototype.copyFromFramebuffer = function (
1029
1040
  framebufferXOffset,
1030
1041
  framebufferYOffset,
1031
1042
  width,
1032
- height
1043
+ height,
1033
1044
  );
1034
1045
  gl.bindTexture(target, null);
1035
1046
  this._initialized = true;
@@ -1051,23 +1062,23 @@ Texture.prototype.generateMipmap = function (hint) {
1051
1062
  //>>includeStart('debug', pragmas.debug);
1052
1063
  if (PixelFormat.isDepthFormat(this._pixelFormat)) {
1053
1064
  throw new DeveloperError(
1054
- "Cannot call generateMipmap when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL."
1065
+ "Cannot call generateMipmap when the texture pixel format is DEPTH_COMPONENT or DEPTH_STENCIL.",
1055
1066
  );
1056
1067
  }
1057
1068
  if (PixelFormat.isCompressedFormat(this._pixelFormat)) {
1058
1069
  throw new DeveloperError(
1059
- "Cannot call generateMipmap with a compressed pixel format."
1070
+ "Cannot call generateMipmap with a compressed pixel format.",
1060
1071
  );
1061
1072
  }
1062
1073
  if (!this._context.webgl2) {
1063
1074
  if (this._width > 1 && !CesiumMath.isPowerOfTwo(this._width)) {
1064
1075
  throw new DeveloperError(
1065
- "width must be a power of two to call generateMipmap() in a WebGL1 context."
1076
+ "width must be a power of two to call generateMipmap() in a WebGL1 context.",
1066
1077
  );
1067
1078
  }
1068
1079
  if (this._height > 1 && !CesiumMath.isPowerOfTwo(this._height)) {
1069
1080
  throw new DeveloperError(
1070
- "height must be a power of two to call generateMipmap() in a WebGL1 context."
1081
+ "height must be a power of two to call generateMipmap() in a WebGL1 context.",
1071
1082
  );
1072
1083
  }
1073
1084
  }