@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
@@ -16,6 +16,9 @@ const Flags = {
16
16
  /**
17
17
  * Represents a command to the renderer for drawing.
18
18
  *
19
+ * @alias DrawCommand
20
+ * @constructor
21
+ *
19
22
  * @private
20
23
  */
21
24
  function DrawCommand(options) {
@@ -26,7 +29,7 @@ function DrawCommand(options) {
26
29
  this._modelMatrix = options.modelMatrix;
27
30
  this._primitiveType = defaultValue(
28
31
  options.primitiveType,
29
- PrimitiveType.TRIANGLES
32
+ PrimitiveType.TRIANGLES,
30
33
  );
31
34
  this._vertexArray = options.vertexArray;
32
35
  this._count = options.count;
@@ -40,6 +43,8 @@ function DrawCommand(options) {
40
43
  this._owner = options.owner;
41
44
  this._debugOverlappingFrustums = 0;
42
45
  this._pickId = options.pickId;
46
+ this._pickMetadataAllowed = options.pickMetadataAllowed === true;
47
+ this._pickedMetadataInfo = undefined;
43
48
 
44
49
  // Set initial flags.
45
50
  this._flags = 0;
@@ -47,18 +52,18 @@ function DrawCommand(options) {
47
52
  this.occlude = defaultValue(options.occlude, true);
48
53
  this.executeInClosestFrustum = defaultValue(
49
54
  options.executeInClosestFrustum,
50
- false
55
+ false,
51
56
  );
52
57
  this.debugShowBoundingVolume = defaultValue(
53
58
  options.debugShowBoundingVolume,
54
- false
59
+ false,
55
60
  );
56
61
  this.castShadows = defaultValue(options.castShadows, false);
57
62
  this.receiveShadows = defaultValue(options.receiveShadows, false);
58
63
  this.pickOnly = defaultValue(options.pickOnly, false);
59
64
  this.depthForTranslucentClassification = defaultValue(
60
65
  options.depthForTranslucentClassification,
61
- false
66
+ false,
62
67
  );
63
68
 
64
69
  this.dirty = true;
@@ -511,7 +516,7 @@ Object.defineProperties(DrawCommand.prototype, {
511
516
  * during the pick pass.
512
517
  *
513
518
  * @memberof DrawCommand.prototype
514
- * @type {string}
519
+ * @type {string|undefined}
515
520
  * @default undefined
516
521
  */
517
522
  pickId: {
@@ -525,6 +530,44 @@ Object.defineProperties(DrawCommand.prototype, {
525
530
  }
526
531
  },
527
532
  },
533
+
534
+ /**
535
+ * Whether metadata picking is allowed.
536
+ *
537
+ * This is essentially only set to `true` for draw commands that are
538
+ * part of a `ModelDrawCommand`, to check whether a derived command
539
+ * for metadata picking has to be created.
540
+ *
541
+ * @memberof DrawCommand.prototype
542
+ * @type {boolean}
543
+ * @default undefined
544
+ * @private
545
+ */
546
+ pickMetadataAllowed: {
547
+ get: function () {
548
+ return this._pickMetadataAllowed;
549
+ },
550
+ },
551
+
552
+ /**
553
+ * Information about picked metadata.
554
+ *
555
+ * @memberof DrawCommand.prototype
556
+ * @type {PickedMetadataInfo|undefined}
557
+ * @default undefined
558
+ */
559
+ pickedMetadataInfo: {
560
+ get: function () {
561
+ return this._pickedMetadataInfo;
562
+ },
563
+ set: function (value) {
564
+ if (this._pickedMetadataInfo !== value) {
565
+ this._pickedMetadataInfo = value;
566
+ this.dirty = true;
567
+ }
568
+ },
569
+ },
570
+
528
571
  /**
529
572
  * Whether this command should be executed in the pick pass only.
530
573
  *
@@ -590,6 +633,8 @@ DrawCommand.shallowClone = function (command, result) {
590
633
  result._owner = command._owner;
591
634
  result._debugOverlappingFrustums = command._debugOverlappingFrustums;
592
635
  result._pickId = command._pickId;
636
+ result._pickMetadataAllowed = command._pickMetadataAllowed;
637
+ result._pickedMetadataInfo = command._pickedMetadataInfo;
593
638
  result._flags = command._flags;
594
639
 
595
640
  result.dirty = true;
@@ -14,7 +14,7 @@ function attachTexture(framebuffer, attachment, texture) {
14
14
  attachment,
15
15
  texture._target,
16
16
  texture._texture,
17
- 0
17
+ 0,
18
18
  );
19
19
  }
20
20
 
@@ -24,7 +24,7 @@ function attachRenderbuffer(framebuffer, attachment, renderbuffer) {
24
24
  gl.FRAMEBUFFER,
25
25
  attachment,
26
26
  gl.RENDERBUFFER,
27
- renderbuffer._getRenderbuffer()
27
+ renderbuffer._getRenderbuffer(),
28
28
  );
29
29
  }
30
30
 
@@ -33,7 +33,16 @@ function attachRenderbuffer(framebuffer, attachment, renderbuffer) {
33
33
  * Framebuffers are used for render-to-texture effects; they allow us to render to
34
34
  * textures in one pass, and read from it in a later pass.
35
35
  *
36
- * @param {object} options The initial framebuffer attachments as shown in the example below. <code>context</code> is required. The possible properties are <code>colorTextures</code>, <code>colorRenderbuffers</code>, <code>depthTexture</code>, <code>depthRenderbuffer</code>, <code>stencilRenderbuffer</code>, <code>depthStencilTexture</code>, <code>depthStencilRenderbuffer</code>, and <code>destroyAttachments</code>.
36
+ * @param {object} options Object with the following properties:
37
+ * @param {Context} options.context
38
+ * @param {Texture[]} [options.colorTextures]
39
+ * @param {Renderbuffer[]} [options.colorRenderbuffers]
40
+ * @param {Texture} [options.depthTexture]
41
+ * @param {Renderbuffer} [options.depthRenderbuffer]
42
+ * @param {Renderbuffer} [options.stencilRenderbuffer]
43
+ * @param {Texture} [options.depthStencilTexture]
44
+ * @param {Renderbuffer} [options.depthStencilRenderbuffer]
45
+ * @param {boolean} [options.destroyAttachments=true] When true, the framebuffer owns its attachments so they will be destroyed when {@link Framebuffer#destroy} is called or when a new attachment is assigned to an attachment point.
37
46
  *
38
47
  * @exception {DeveloperError} Cannot have both color texture and color renderbuffer attachments.
39
48
  * @exception {DeveloperError} Cannot have both a depth texture and depth renderbuffer attachment.
@@ -114,12 +123,12 @@ function Framebuffer(options) {
114
123
  //>>includeStart('debug', pragmas.debug);
115
124
  if (defined(options.colorTextures) && defined(options.colorRenderbuffers)) {
116
125
  throw new DeveloperError(
117
- "Cannot have both color texture and color renderbuffer attachments."
126
+ "Cannot have both color texture and color renderbuffer attachments.",
118
127
  );
119
128
  }
120
129
  if (defined(options.depthTexture) && defined(options.depthRenderbuffer)) {
121
130
  throw new DeveloperError(
122
- "Cannot have both a depth texture and depth renderbuffer attachment."
131
+ "Cannot have both a depth texture and depth renderbuffer attachment.",
123
132
  );
124
133
  }
125
134
  if (
@@ -127,10 +136,9 @@ function Framebuffer(options) {
127
136
  defined(options.depthStencilRenderbuffer)
128
137
  ) {
129
138
  throw new DeveloperError(
130
- "Cannot have both a depth-stencil texture and depth-stencil renderbuffer attachment."
139
+ "Cannot have both a depth-stencil texture and depth-stencil renderbuffer attachment.",
131
140
  );
132
141
  }
133
- //>>includeEnd('debug');
134
142
 
135
143
  // Avoid errors defined in Section 6.5 of the WebGL spec
136
144
  const depthAttachment =
@@ -138,55 +146,47 @@ function Framebuffer(options) {
138
146
  const depthStencilAttachment =
139
147
  defined(options.depthStencilTexture) ||
140
148
  defined(options.depthStencilRenderbuffer);
141
-
142
- //>>includeStart('debug', pragmas.debug);
143
149
  if (depthAttachment && depthStencilAttachment) {
144
150
  throw new DeveloperError(
145
- "Cannot have both a depth and depth-stencil attachment."
151
+ "Cannot have both a depth and depth-stencil attachment.",
146
152
  );
147
153
  }
148
154
  if (defined(options.stencilRenderbuffer) && depthStencilAttachment) {
149
155
  throw new DeveloperError(
150
- "Cannot have both a stencil and depth-stencil attachment."
156
+ "Cannot have both a stencil and depth-stencil attachment.",
151
157
  );
152
158
  }
153
159
  if (depthAttachment && defined(options.stencilRenderbuffer)) {
154
160
  throw new DeveloperError(
155
- "Cannot have both a depth and stencil attachment."
161
+ "Cannot have both a depth and stencil attachment.",
156
162
  );
157
163
  }
158
164
  //>>includeEnd('debug');
159
165
 
160
- ///////////////////////////////////////////////////////////////////
161
-
162
166
  this._bind();
163
167
 
164
- let texture;
165
- let renderbuffer;
166
- let i;
167
- let length;
168
- let attachmentEnum;
169
-
170
168
  if (defined(options.colorTextures)) {
171
169
  const textures = options.colorTextures;
172
- length = this._colorTextures.length = this._activeColorAttachments.length =
173
- textures.length;
170
+ const length =
171
+ (this._colorTextures.length =
172
+ this._activeColorAttachments.length =
173
+ textures.length);
174
174
 
175
175
  //>>includeStart('debug', pragmas.debug);
176
176
  if (length > maximumColorAttachments) {
177
177
  throw new DeveloperError(
178
- "The number of color attachments exceeds the number supported."
178
+ "The number of color attachments exceeds the number supported.",
179
179
  );
180
180
  }
181
181
  //>>includeEnd('debug');
182
182
 
183
- for (i = 0; i < length; ++i) {
184
- texture = textures[i];
183
+ for (let i = 0; i < length; ++i) {
184
+ const texture = textures[i];
185
185
 
186
186
  //>>includeStart('debug', pragmas.debug);
187
187
  if (!PixelFormat.isColorFormat(texture.pixelFormat)) {
188
188
  throw new DeveloperError(
189
- "The color-texture pixel-format must be a color format."
189
+ "The color-texture pixel-format must be a color format.",
190
190
  );
191
191
  }
192
192
  if (
@@ -194,7 +194,7 @@ function Framebuffer(options) {
194
194
  !context.colorBufferFloat
195
195
  ) {
196
196
  throw new DeveloperError(
197
- "The color texture pixel datatype is FLOAT and the WebGL implementation does not support the EXT_color_buffer_float or WEBGL_color_buffer_float extensions. See Context.colorBufferFloat."
197
+ "The color texture pixel datatype is FLOAT and the WebGL implementation does not support the EXT_color_buffer_float or WEBGL_color_buffer_float extensions. See Context.colorBufferFloat.",
198
198
  );
199
199
  }
200
200
  if (
@@ -202,12 +202,12 @@ function Framebuffer(options) {
202
202
  !context.colorBufferHalfFloat
203
203
  ) {
204
204
  throw new DeveloperError(
205
- "The color texture pixel datatype is HALF_FLOAT and the WebGL implementation does not support the EXT_color_buffer_half_float extension. See Context.colorBufferHalfFloat."
205
+ "The color texture pixel datatype is HALF_FLOAT and the WebGL implementation does not support the EXT_color_buffer_half_float extension. See Context.colorBufferHalfFloat.",
206
206
  );
207
207
  }
208
208
  //>>includeEnd('debug');
209
209
 
210
- attachmentEnum = this._gl.COLOR_ATTACHMENT0 + i;
210
+ const attachmentEnum = this._gl.COLOR_ATTACHMENT0 + i;
211
211
  attachTexture(this, attachmentEnum, texture);
212
212
  this._activeColorAttachments[i] = attachmentEnum;
213
213
  this._colorTextures[i] = texture;
@@ -216,20 +216,22 @@ function Framebuffer(options) {
216
216
 
217
217
  if (defined(options.colorRenderbuffers)) {
218
218
  const renderbuffers = options.colorRenderbuffers;
219
- length = this._colorRenderbuffers.length = this._activeColorAttachments.length =
220
- renderbuffers.length;
219
+ const length =
220
+ (this._colorRenderbuffers.length =
221
+ this._activeColorAttachments.length =
222
+ renderbuffers.length);
221
223
 
222
224
  //>>includeStart('debug', pragmas.debug);
223
225
  if (length > maximumColorAttachments) {
224
226
  throw new DeveloperError(
225
- "The number of color attachments exceeds the number supported."
227
+ "The number of color attachments exceeds the number supported.",
226
228
  );
227
229
  }
228
230
  //>>includeEnd('debug');
229
231
 
230
- for (i = 0; i < length; ++i) {
231
- renderbuffer = renderbuffers[i];
232
- attachmentEnum = this._gl.COLOR_ATTACHMENT0 + i;
232
+ for (let i = 0; i < length; ++i) {
233
+ const renderbuffer = renderbuffers[i];
234
+ const attachmentEnum = this._gl.COLOR_ATTACHMENT0 + i;
233
235
  attachRenderbuffer(this, attachmentEnum, renderbuffer);
234
236
  this._activeColorAttachments[i] = attachmentEnum;
235
237
  this._colorRenderbuffers[i] = renderbuffer;
@@ -237,12 +239,12 @@ function Framebuffer(options) {
237
239
  }
238
240
 
239
241
  if (defined(options.depthTexture)) {
240
- texture = options.depthTexture;
242
+ const texture = options.depthTexture;
241
243
 
242
244
  //>>includeStart('debug', pragmas.debug);
243
245
  if (texture.pixelFormat !== PixelFormat.DEPTH_COMPONENT) {
244
246
  throw new DeveloperError(
245
- "The depth-texture pixel-format must be DEPTH_COMPONENT."
247
+ "The depth-texture pixel-format must be DEPTH_COMPONENT.",
246
248
  );
247
249
  }
248
250
  //>>includeEnd('debug');
@@ -252,24 +254,24 @@ function Framebuffer(options) {
252
254
  }
253
255
 
254
256
  if (defined(options.depthRenderbuffer)) {
255
- renderbuffer = options.depthRenderbuffer;
257
+ const renderbuffer = options.depthRenderbuffer;
256
258
  attachRenderbuffer(this, this._gl.DEPTH_ATTACHMENT, renderbuffer);
257
259
  this._depthRenderbuffer = renderbuffer;
258
260
  }
259
261
 
260
262
  if (defined(options.stencilRenderbuffer)) {
261
- renderbuffer = options.stencilRenderbuffer;
263
+ const renderbuffer = options.stencilRenderbuffer;
262
264
  attachRenderbuffer(this, this._gl.STENCIL_ATTACHMENT, renderbuffer);
263
265
  this._stencilRenderbuffer = renderbuffer;
264
266
  }
265
267
 
266
268
  if (defined(options.depthStencilTexture)) {
267
- texture = options.depthStencilTexture;
269
+ const texture = options.depthStencilTexture;
268
270
 
269
271
  //>>includeStart('debug', pragmas.debug);
270
272
  if (texture.pixelFormat !== PixelFormat.DEPTH_STENCIL) {
271
273
  throw new DeveloperError(
272
- "The depth-stencil pixel-format must be DEPTH_STENCIL."
274
+ "The depth-stencil pixel-format must be DEPTH_STENCIL.",
273
275
  );
274
276
  }
275
277
  //>>includeEnd('debug');
@@ -279,7 +281,7 @@ function Framebuffer(options) {
279
281
  }
280
282
 
281
283
  if (defined(options.depthStencilRenderbuffer)) {
282
- renderbuffer = options.depthStencilRenderbuffer;
284
+ const renderbuffer = options.depthStencilRenderbuffer;
283
285
  attachRenderbuffer(this, this._gl.DEPTH_STENCIL_ATTACHMENT, renderbuffer);
284
286
  this._depthStencilRenderbuffer = renderbuffer;
285
287
  }
@@ -380,7 +382,7 @@ Framebuffer.prototype.getColorTexture = function (index) {
380
382
  //>>includeStart('debug', pragmas.debug);
381
383
  if (!defined(index) || index < 0 || index >= this._colorTextures.length) {
382
384
  throw new DeveloperError(
383
- "index is required, must be greater than or equal to zero and must be less than the number of color attachments."
385
+ "index is required, must be greater than or equal to zero and must be less than the number of color attachments.",
384
386
  );
385
387
  }
386
388
  //>>includeEnd('debug');
@@ -396,7 +398,7 @@ Framebuffer.prototype.getColorRenderbuffer = function (index) {
396
398
  index >= this._colorRenderbuffers.length
397
399
  ) {
398
400
  throw new DeveloperError(
399
- "index is required, must be greater than or equal to zero and must be less than the number of color attachments."
401
+ "index is required, must be greater than or equal to zero and must be less than the number of color attachments.",
400
402
  );
401
403
  }
402
404
  //>>includeEnd('debug');
@@ -411,10 +413,8 @@ Framebuffer.prototype.isDestroyed = function () {
411
413
  Framebuffer.prototype.destroy = function () {
412
414
  if (this.destroyAttachments) {
413
415
  // If the color texture is a cube map face, it is owned by the cube map, and will not be destroyed.
414
- let i = 0;
415
416
  const textures = this._colorTextures;
416
- let length = textures.length;
417
- for (; i < length; ++i) {
417
+ for (let i = 0; i < textures.length; ++i) {
418
418
  const texture = textures[i];
419
419
  if (defined(texture)) {
420
420
  texture.destroy();
@@ -422,8 +422,7 @@ Framebuffer.prototype.destroy = function () {
422
422
  }
423
423
 
424
424
  const renderbuffers = this._colorRenderbuffers;
425
- length = renderbuffers.length;
426
- for (i = 0; i < length; ++i) {
425
+ for (let i = 0; i < renderbuffers.length; ++i) {
427
426
  const renderbuffer = renderbuffers[i];
428
427
  if (defined(renderbuffer)) {
429
428
  renderbuffer.destroy();
@@ -36,7 +36,7 @@ function FramebufferManager(options) {
36
36
  this._numSamples = defaultValue(options.numSamples, 1);
37
37
  this._colorAttachmentsLength = defaultValue(
38
38
  options.colorAttachmentsLength,
39
- 1
39
+ 1,
40
40
  );
41
41
 
42
42
  this._color = defaultValue(options.color, true);
@@ -44,28 +44,28 @@ function FramebufferManager(options) {
44
44
  this._depthStencil = defaultValue(options.depthStencil, false);
45
45
  this._supportsDepthTexture = defaultValue(
46
46
  options.supportsDepthTexture,
47
- false
47
+ false,
48
48
  );
49
49
  //>>includeStart('debug', pragmas.debug);
50
50
  if (!this._color && !this._depth && !this._depthStencil) {
51
51
  throw new DeveloperError(
52
- "Must enable at least one type of framebuffer attachment."
52
+ "Must enable at least one type of framebuffer attachment.",
53
53
  );
54
54
  }
55
55
  if (this._depth && this._depthStencil) {
56
56
  throw new DeveloperError(
57
- "Cannot have both a depth and depth-stencil attachment."
57
+ "Cannot have both a depth and depth-stencil attachment.",
58
58
  );
59
59
  }
60
60
  //>>includeEnd('debug');
61
61
 
62
62
  this._createColorAttachments = defaultValue(
63
63
  options.createColorAttachments,
64
- true
64
+ true,
65
65
  );
66
66
  this._createDepthAttachments = defaultValue(
67
67
  options.createDepthAttachments,
68
- true
68
+ true,
69
69
  );
70
70
 
71
71
  this._pixelDatatype = options.pixelDatatype;
@@ -116,7 +116,7 @@ FramebufferManager.prototype.isDirty = function (
116
116
  height,
117
117
  numSamples,
118
118
  pixelDatatype,
119
- pixelFormat
119
+ pixelFormat,
120
120
  ) {
121
121
  numSamples = defaultValue(numSamples, 1);
122
122
  const dimensionChanged = this._width !== width || this._height !== height;
@@ -145,7 +145,7 @@ FramebufferManager.prototype.update = function (
145
145
  height,
146
146
  numSamples,
147
147
  pixelDatatype,
148
- pixelFormat
148
+ pixelFormat,
149
149
  ) {
150
150
  //>>includeStart('debug', pragmas.debug);
151
151
  if (!defined(width) || !defined(height)) {
@@ -157,11 +157,11 @@ FramebufferManager.prototype.update = function (
157
157
  pixelDatatype,
158
158
  this._color
159
159
  ? defaultValue(this._pixelDatatype, PixelDatatype.UNSIGNED_BYTE)
160
- : undefined
160
+ : undefined,
161
161
  );
162
162
  pixelFormat = defaultValue(
163
163
  pixelFormat,
164
- this._color ? defaultValue(this._pixelFormat, PixelFormat.RGBA) : undefined
164
+ this._color ? defaultValue(this._pixelFormat, PixelFormat.RGBA) : undefined,
165
165
  );
166
166
 
167
167
  if (this.isDirty(width, height, numSamples, pixelDatatype, pixelFormat)) {
@@ -278,7 +278,7 @@ FramebufferManager.prototype.getColorTexture = function (index) {
278
278
  //>>includeStart('debug', pragmas.debug);
279
279
  if (index >= this._colorAttachmentsLength) {
280
280
  throw new DeveloperError(
281
- "index must be smaller than total number of color attachments."
281
+ "index must be smaller than total number of color attachments.",
282
282
  );
283
283
  }
284
284
  //>>includeEnd('debug');
@@ -290,12 +290,12 @@ FramebufferManager.prototype.setColorTexture = function (texture, index) {
290
290
  //>>includeStart('debug', pragmas.debug);
291
291
  if (this._createColorAttachments) {
292
292
  throw new DeveloperError(
293
- "createColorAttachments must be false if setColorTexture is called."
293
+ "createColorAttachments must be false if setColorTexture is called.",
294
294
  );
295
295
  }
296
296
  if (index >= this._colorAttachmentsLength) {
297
297
  throw new DeveloperError(
298
- "index must be smaller than total number of color attachments."
298
+ "index must be smaller than total number of color attachments.",
299
299
  );
300
300
  }
301
301
  //>>includeEnd('debug');
@@ -308,7 +308,7 @@ FramebufferManager.prototype.getColorRenderbuffer = function (index) {
308
308
  //>>includeStart('debug', pragmas.debug);
309
309
  if (index >= this._colorAttachmentsLength) {
310
310
  throw new DeveloperError(
311
- "index must be smaller than total number of color attachments."
311
+ "index must be smaller than total number of color attachments.",
312
312
  );
313
313
  }
314
314
  //>>includeEnd('debug');
@@ -317,18 +317,18 @@ FramebufferManager.prototype.getColorRenderbuffer = function (index) {
317
317
 
318
318
  FramebufferManager.prototype.setColorRenderbuffer = function (
319
319
  renderbuffer,
320
- index
320
+ index,
321
321
  ) {
322
322
  index = defaultValue(index, 0);
323
323
  //>>includeStart('debug', pragmas.debug);
324
324
  if (this._createColorAttachments) {
325
325
  throw new DeveloperError(
326
- "createColorAttachments must be false if setColorRenderbuffer is called."
326
+ "createColorAttachments must be false if setColorRenderbuffer is called.",
327
327
  );
328
328
  }
329
329
  if (index >= this._colorAttachmentsLength) {
330
330
  throw new DeveloperError(
331
- "index must be smaller than total number of color attachments."
331
+ "index must be smaller than total number of color attachments.",
332
332
  );
333
333
  }
334
334
  //>>includeEnd('debug');
@@ -344,7 +344,7 @@ FramebufferManager.prototype.setDepthRenderbuffer = function (renderbuffer) {
344
344
  //>>includeStart('debug', pragmas.debug);
345
345
  if (this._createDepthAttachments) {
346
346
  throw new DeveloperError(
347
- "createDepthAttachments must be false if setDepthRenderbuffer is called."
347
+ "createDepthAttachments must be false if setDepthRenderbuffer is called.",
348
348
  );
349
349
  }
350
350
  //>>includeEnd('debug');
@@ -360,7 +360,7 @@ FramebufferManager.prototype.setDepthTexture = function (texture) {
360
360
  //>>includeStart('debug', pragmas.debug);
361
361
  if (this._createDepthAttachments) {
362
362
  throw new DeveloperError(
363
- "createDepthAttachments must be false if setDepthTexture is called."
363
+ "createDepthAttachments must be false if setDepthTexture is called.",
364
364
  );
365
365
  }
366
366
  //>>includeEnd('debug');
@@ -373,12 +373,12 @@ FramebufferManager.prototype.getDepthStencilRenderbuffer = function () {
373
373
  };
374
374
 
375
375
  FramebufferManager.prototype.setDepthStencilRenderbuffer = function (
376
- renderbuffer
376
+ renderbuffer,
377
377
  ) {
378
378
  //>>includeStart('debug', pragmas.debug);
379
379
  if (this._createDepthAttachments) {
380
380
  throw new DeveloperError(
381
- "createDepthAttachments must be false if setDepthStencilRenderbuffer is called."
381
+ "createDepthAttachments must be false if setDepthStencilRenderbuffer is called.",
382
382
  );
383
383
  }
384
384
  //>>includeEnd('debug');
@@ -394,7 +394,7 @@ FramebufferManager.prototype.setDepthStencilTexture = function (texture) {
394
394
  //>>includeStart('debug', pragmas.debug);
395
395
  if (this._createDepthAttachments) {
396
396
  throw new DeveloperError(
397
- "createDepthAttachments must be false if setDepthStencilTexture is called."
397
+ "createDepthAttachments must be false if setDepthStencilTexture is called.",
398
398
  );
399
399
  }
400
400
  //>>includeEnd('debug');
@@ -402,6 +402,14 @@ FramebufferManager.prototype.setDepthStencilTexture = function (texture) {
402
402
  this._depthStencilTexture = texture;
403
403
  };
404
404
 
405
+ /**
406
+ * If using MSAA, resolve the stencil.
407
+ *
408
+ * @param {Context} context
409
+ * @param {boolean} blitStencil
410
+ *
411
+ * @private
412
+ */
405
413
  FramebufferManager.prototype.prepareTextures = function (context, blitStencil) {
406
414
  if (this._numSamples > 1) {
407
415
  this._multisampleFramebuffer.blitFramebuffers(context, blitStencil);
@@ -411,7 +419,7 @@ FramebufferManager.prototype.prepareTextures = function (context, blitStencil) {
411
419
  FramebufferManager.prototype.clear = function (
412
420
  context,
413
421
  clearCommand,
414
- passState
422
+ passState,
415
423
  ) {
416
424
  const framebuffer = clearCommand.framebuffer;
417
425
  clearCommand.framebuffer = this.framebuffer;
@@ -427,28 +435,26 @@ FramebufferManager.prototype.destroyFramebuffer = function () {
427
435
 
428
436
  FramebufferManager.prototype.destroy = function () {
429
437
  if (this._color) {
430
- let i;
431
- const length = this._colorTextures.length;
432
- for (i = 0; i < length; ++i) {
433
- const texture = this._colorTextures[i];
438
+ const colorTextures = this._colorTextures;
439
+ const colorRenderbuffers = this._colorRenderbuffers;
440
+ for (let i = 0; i < colorTextures.length; ++i) {
441
+ const texture = colorTextures[i];
434
442
  if (this._createColorAttachments) {
435
443
  if (defined(texture) && !texture.isDestroyed()) {
436
- this._colorTextures[i].destroy();
437
- this._colorTextures[i] = undefined;
444
+ texture.destroy();
438
445
  }
439
446
  }
440
447
  if (defined(texture) && texture.isDestroyed()) {
441
- this._colorTextures[i] = undefined;
448
+ colorTextures[i] = undefined;
442
449
  }
443
- const renderbuffer = this._colorRenderbuffers[i];
450
+ const renderbuffer = colorRenderbuffers[i];
444
451
  if (this._createColorAttachments) {
445
452
  if (defined(renderbuffer) && !renderbuffer.isDestroyed()) {
446
- this._colorRenderbuffers[i].destroy();
447
- this._colorRenderbuffers[i] = undefined;
453
+ renderbuffer.destroy();
448
454
  }
449
455
  }
450
456
  if (defined(renderbuffer) && renderbuffer.isDestroyed()) {
451
- this._colorRenderbuffers[i] = undefined;
457
+ colorRenderbuffers[i] = undefined;
452
458
  }
453
459
  }
454
460
  }