@cesium/engine 10.1.0 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (845) hide show
  1. package/Build/Workers/{chunk-EB7PNZTK.js → chunk-26GA3JAM.js} +6 -5
  2. package/Build/Workers/{chunk-RZLZWKFN.js → chunk-27HUZ7SA.js} +4 -4
  3. package/Build/Workers/{chunk-A5CODJ4M.js → chunk-2ZGOQXYU.js} +6 -6
  4. package/Build/Workers/{chunk-TF776XCO.js → chunk-3Q2L65QU.js} +7 -7
  5. package/Build/Workers/{chunk-NVOABL76.js → chunk-472HQ3EH.js} +5 -5
  6. package/Build/Workers/{chunk-QX5XS4LC.js → chunk-5ODQSF26.js} +2 -2
  7. package/Build/Workers/{chunk-4YSNMHZ4.js → chunk-5OOFQLKF.js} +6 -6
  8. package/Build/Workers/{chunk-OXALEQPI.js → chunk-5PTXS2GO.js} +49 -23
  9. package/Build/Workers/{chunk-T77JILCU.js → chunk-6CHGCNMW.js} +2 -2
  10. package/Build/Workers/{chunk-FEVVHITK.js → chunk-76BYBWHP.js} +4 -4
  11. package/Build/Workers/{chunk-65MZOUNU.js → chunk-7BMOHCPM.js} +13 -13
  12. package/Build/Workers/{chunk-VE7BFUIX.js → chunk-7JO7GPJN.js} +1 -1
  13. package/Build/Workers/{chunk-5BLJ5ZM6.js → chunk-7KTQP4VB.js} +5 -5
  14. package/Build/Workers/{chunk-G5V4GPZE.js → chunk-7O373FFS.js} +8 -34
  15. package/Build/Workers/{chunk-S3PI2KFM.js → chunk-AD63PIY6.js} +2 -2
  16. package/Build/Workers/{chunk-6D66DPRV.js → chunk-BHQJ2NT7.js} +6 -6
  17. package/Build/Workers/{chunk-I2RC4XVN.js → chunk-C6YYBQXW.js} +4 -4
  18. package/Build/Workers/{chunk-X2ZQ7RJR.js → chunk-CKY7HOHV.js} +9 -9
  19. package/Build/Workers/{chunk-TO2PVHKI.js → chunk-DHYHSFFJ.js} +2 -2
  20. package/Build/Workers/{chunk-R6B7UCQB.js → chunk-DI5NGJUP.js} +2 -2
  21. package/Build/Workers/{chunk-X23FRWHJ.js → chunk-E27BLMDD.js} +7 -9
  22. package/Build/Workers/{chunk-N4QEHO3U.js → chunk-E63IIM5T.js} +1 -1
  23. package/Build/Workers/{chunk-BY3E4ONI.js → chunk-E6V6SQZW.js} +6 -6
  24. package/Build/Workers/{chunk-LSSWVB2X.js → chunk-EJZTDTUH.js} +4 -4
  25. package/Build/Workers/{chunk-XLTOBCDI.js → chunk-FDOV2LBJ.js} +7 -7
  26. package/Build/Workers/{chunk-ACRTCBN5.js → chunk-FIGIZHAQ.js} +11 -11
  27. package/Build/Workers/{chunk-4RMIRG6T.js → chunk-GESF4OXQ.js} +2 -2
  28. package/Build/Workers/{chunk-PNFHVBSF.js → chunk-GGZJN2TI.js} +16 -15
  29. package/Build/Workers/{chunk-KV4EQHK4.js → chunk-GNBFYG7F.js} +83 -79
  30. package/Build/Workers/{chunk-FOZWUH4T.js → chunk-GWCFU2SA.js} +7 -7
  31. package/Build/Workers/{chunk-Q55ECN3Y.js → chunk-I2ITFFPX.js} +1 -1
  32. package/Build/Workers/{chunk-XQI7XZHX.js → chunk-IBLIYJZR.js} +6 -6
  33. package/Build/Workers/{chunk-D2U4RI64.js → chunk-JW4FOI6M.js} +7 -7
  34. package/Build/Workers/{chunk-2J3JKXCP.js → chunk-K4GQUNB5.js} +9 -5
  35. package/Build/Workers/{chunk-POSRARY7.js → chunk-M3GMB5OP.js} +10 -10
  36. package/Build/Workers/{chunk-OOK53QUQ.js → chunk-MXIZJAPH.js} +1 -1
  37. package/Build/Workers/{chunk-OWGTMVDB.js → chunk-N5KJGGCM.js} +18 -20
  38. package/Build/Workers/{chunk-J7MQUQJY.js → chunk-NGPPMXRM.js} +12 -7
  39. package/Build/Workers/{chunk-OOMCT7OL.js → chunk-O3E4OAOE.js} +13 -13
  40. package/Build/Workers/{chunk-C3Z23UUJ.js → chunk-PGRPDNHG.js} +19 -23
  41. package/Build/Workers/{chunk-4VFBBNQ3.js → chunk-PRGYLLJT.js} +1 -1
  42. package/Build/Workers/{chunk-XZZNKIEV.js → chunk-S6MRMMQU.js} +6 -6
  43. package/Build/Workers/{chunk-76BYYG7N.js → chunk-SMDOP47J.js} +10 -10
  44. package/Build/Workers/{chunk-ZU334IDQ.js → chunk-TGONEMZO.js} +11 -11
  45. package/Build/Workers/{chunk-VRZ46QZ5.js → chunk-TKVT5GQM.js} +13 -13
  46. package/Build/Workers/{chunk-FDCLACT5.js → chunk-U72QNFOJ.js} +15 -25
  47. package/Build/Workers/{chunk-F3NDOSTZ.js → chunk-VJZB3WAV.js} +7 -7
  48. package/Build/Workers/{chunk-GPJR7MPQ.js → chunk-VU2MNO7L.js} +7 -7
  49. package/Build/Workers/{chunk-R4OIEIPE.js → chunk-XY4BATBS.js} +4 -4
  50. package/Build/Workers/{chunk-T6LPN7RI.js → chunk-YFXQECWV.js} +5 -5
  51. package/Build/Workers/{chunk-UCIPJSZX.js → chunk-YSGTGQQO.js} +14 -14
  52. package/Build/Workers/{chunk-BGE4QVG7.js → chunk-YZ733KKS.js} +12 -12
  53. package/Build/Workers/combineGeometry.js +23 -25
  54. package/Build/Workers/createBoxGeometry.js +16 -16
  55. package/Build/Workers/createBoxOutlineGeometry.js +14 -14
  56. package/Build/Workers/createCircleGeometry.js +24 -24
  57. package/Build/Workers/createCircleOutlineGeometry.js +17 -17
  58. package/Build/Workers/createCoplanarPolygonGeometry.js +31 -31
  59. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
  60. package/Build/Workers/createCorridorGeometry.js +27 -27
  61. package/Build/Workers/createCorridorOutlineGeometry.js +26 -26
  62. package/Build/Workers/createCylinderGeometry.js +18 -18
  63. package/Build/Workers/createCylinderOutlineGeometry.js +16 -16
  64. package/Build/Workers/createEllipseGeometry.js +24 -24
  65. package/Build/Workers/createEllipseOutlineGeometry.js +17 -17
  66. package/Build/Workers/createEllipsoidGeometry.js +17 -17
  67. package/Build/Workers/createEllipsoidOutlineGeometry.js +16 -16
  68. package/Build/Workers/createFrustumGeometry.js +16 -16
  69. package/Build/Workers/createFrustumOutlineGeometry.js +16 -16
  70. package/Build/Workers/createGeometry.js +25 -26
  71. package/Build/Workers/createGroundPolylineGeometry.js +20 -20
  72. package/Build/Workers/createPlaneGeometry.js +14 -14
  73. package/Build/Workers/createPlaneOutlineGeometry.js +13 -13
  74. package/Build/Workers/createPolygonGeometry.js +36 -40
  75. package/Build/Workers/createPolygonOutlineGeometry.js +40 -48
  76. package/Build/Workers/createPolylineGeometry.js +23 -23
  77. package/Build/Workers/createPolylineVolumeGeometry.js +32 -31
  78. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
  79. package/Build/Workers/createRectangleGeometry.js +28 -30
  80. package/Build/Workers/createRectangleOutlineGeometry.js +19 -19
  81. package/Build/Workers/createSimplePolylineGeometry.js +21 -21
  82. package/Build/Workers/createSphereGeometry.js +17 -17
  83. package/Build/Workers/createSphereOutlineGeometry.js +16 -16
  84. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  85. package/Build/Workers/createVectorTileClampedPolylines.js +13 -13
  86. package/Build/Workers/createVectorTileGeometries.js +22 -22
  87. package/Build/Workers/createVectorTilePoints.js +12 -12
  88. package/Build/Workers/createVectorTilePolygons.js +20 -20
  89. package/Build/Workers/createVectorTilePolylines.js +13 -13
  90. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -26
  91. package/Build/Workers/createVerticesFromHeightmap.js +26 -26
  92. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +42 -32
  93. package/Build/Workers/createWallGeometry.js +22 -22
  94. package/Build/Workers/createWallOutlineGeometry.js +21 -21
  95. package/Build/Workers/decodeDraco.js +11 -11
  96. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +28 -5
  97. package/Build/Workers/decodeI3S.js +10 -10
  98. package/Build/Workers/transcodeKTX2.js +19 -18
  99. package/Build/Workers/transferTypedArrayTest.js +1 -1
  100. package/Build/Workers/upsampleQuantizedTerrainMesh.js +20 -20
  101. package/Source/Core/ApproximateTerrainHeights.js +15 -15
  102. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +33 -35
  103. package/Source/Core/AttributeCompression.js +12 -12
  104. package/Source/Core/AxisAlignedBoundingBox.js +2 -2
  105. package/Source/Core/BingMapsGeocoderService.js +1 -1
  106. package/Source/Core/BoundingRectangle.js +3 -3
  107. package/Source/Core/BoundingSphere.js +44 -44
  108. package/Source/Core/BoxGeometry.js +6 -6
  109. package/Source/Core/BoxOutlineGeometry.js +3 -3
  110. package/Source/Core/Cartesian2.js +7 -7
  111. package/Source/Core/Cartesian3.js +20 -20
  112. package/Source/Core/Cartesian4.js +8 -8
  113. package/Source/Core/Cartographic.js +6 -6
  114. package/Source/Core/CatmullRomSpline.js +6 -6
  115. package/Source/Core/CesiumTerrainProvider.js +66 -68
  116. package/Source/Core/Check.d.ts +3 -3
  117. package/Source/Core/Check.js +11 -11
  118. package/Source/Core/CircleGeometry.js +6 -6
  119. package/Source/Core/CircleOutlineGeometry.js +4 -4
  120. package/Source/Core/Clock.js +4 -4
  121. package/Source/Core/Color.js +11 -8
  122. package/Source/Core/ColorGeometryInstanceAttribute.js +1 -1
  123. package/Source/Core/ComponentDatatype.js +4 -4
  124. package/Source/Core/CompressedTextureBuffer.js +13 -2
  125. package/Source/Core/ConstantSpline.js +1 -1
  126. package/Source/Core/CoplanarPolygonGeometry.js +44 -41
  127. package/Source/Core/CoplanarPolygonGeometryLibrary.js +5 -5
  128. package/Source/Core/CoplanarPolygonOutlineGeometry.js +6 -6
  129. package/Source/Core/CorridorGeometry.js +77 -77
  130. package/Source/Core/CorridorGeometryLibrary.js +45 -45
  131. package/Source/Core/CorridorOutlineGeometry.js +16 -16
  132. package/Source/Core/CullingVolume.js +4 -4
  133. package/Source/Core/CustomHeightmapTerrainProvider.js +13 -13
  134. package/Source/Core/CylinderGeometry.js +8 -8
  135. package/Source/Core/CylinderGeometryLibrary.js +1 -1
  136. package/Source/Core/CylinderOutlineGeometry.js +4 -4
  137. package/Source/Core/DeveloperError.js +1 -1
  138. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +20 -21
  139. package/Source/Core/DoubleEndedPriorityQueue.js +2 -2
  140. package/Source/Core/EarthOrientationParameters.js +21 -25
  141. package/Source/Core/EarthOrientationParametersSample.js +1 -1
  142. package/Source/Core/EllipseGeometry.js +54 -55
  143. package/Source/Core/EllipseGeometryLibrary.js +12 -12
  144. package/Source/Core/EllipseOutlineGeometry.js +19 -19
  145. package/Source/Core/Ellipsoid.js +25 -33
  146. package/Source/Core/EllipsoidGeodesic.js +17 -16
  147. package/Source/Core/EllipsoidGeometry.js +9 -8
  148. package/Source/Core/EllipsoidOutlineGeometry.js +4 -4
  149. package/Source/Core/EllipsoidRhumbLine.js +33 -32
  150. package/Source/Core/EllipsoidTangentPlane.js +16 -16
  151. package/Source/Core/EllipsoidTerrainProvider.js +11 -10
  152. package/Source/Core/EllipsoidalOccluder.js +110 -130
  153. package/Source/Core/FeatureDetection.js +4 -4
  154. package/Source/Core/FrustumGeometry.js +14 -14
  155. package/Source/Core/FrustumOutlineGeometry.js +4 -4
  156. package/Source/Core/GeographicTilingScheme.js +6 -6
  157. package/Source/Core/Geometry.js +15 -17
  158. package/Source/Core/GeometryAttribute.js +4 -9
  159. package/Source/Core/GeometryAttributes.js +6 -6
  160. package/Source/Core/GeometryInstance.js +3 -4
  161. package/Source/Core/GeometryInstanceAttribute.js +1 -6
  162. package/Source/Core/GeometryPipeline.js +133 -137
  163. package/Source/Core/GoogleEarthEnterpriseMetadata.js +19 -20
  164. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +25 -24
  165. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +17 -21
  166. package/Source/Core/GoogleEarthEnterpriseTileInformation.js +2 -2
  167. package/Source/Core/GoogleMaps.js +1 -1
  168. package/Source/Core/GregorianDate.js +4 -4
  169. package/Source/Core/GroundPolylineGeometry.js +104 -104
  170. package/Source/Core/HeadingPitchRoll.js +7 -7
  171. package/Source/Core/HeightmapTerrainData.js +58 -54
  172. package/Source/Core/HeightmapTessellator.js +22 -23
  173. package/Source/Core/HermitePolynomialApproximation.js +8 -8
  174. package/Source/Core/HermiteSpline.js +11 -11
  175. package/Source/Core/HilbertOrder.js +1 -1
  176. package/Source/Core/Iau2006XysData.js +6 -6
  177. package/Source/Core/IauOrientationAxes.js +2 -2
  178. package/Source/Core/IauOrientationParameters.js +1 -1
  179. package/Source/Core/IndexDatatype.js +5 -5
  180. package/Source/Core/IntersectionTests.js +36 -78
  181. package/Source/Core/Intersections2D.js +3 -3
  182. package/Source/Core/Ion.js +1 -1
  183. package/Source/Core/IonGeocoderService.js +2 -2
  184. package/Source/Core/IonResource.js +5 -5
  185. package/Source/Core/Iso8601.js +3 -3
  186. package/Source/Core/JulianDate.js +23 -33
  187. package/Source/Core/KTX2Transcoder.js +11 -18
  188. package/Source/Core/LagrangePolynomialApproximation.js +1 -1
  189. package/Source/Core/LinearApproximation.js +4 -4
  190. package/Source/Core/LinearSpline.js +2 -2
  191. package/Source/Core/Math.js +4 -4
  192. package/Source/Core/Matrix2.js +3 -3
  193. package/Source/Core/Matrix3.js +16 -16
  194. package/Source/Core/Matrix4.js +31 -31
  195. package/Source/Core/MorphWeightSpline.js +2 -2
  196. package/Source/Core/NearFarScalar.js +1 -1
  197. package/Source/Core/Occluder.js +52 -56
  198. package/Source/Core/OpenCageGeocoderService.js +2 -2
  199. package/Source/Core/OrientedBoundingBox.js +52 -51
  200. package/Source/Core/OrthographicFrustum.js +11 -11
  201. package/Source/Core/OrthographicOffCenterFrustum.js +17 -17
  202. package/Source/Core/PeliasGeocoderService.js +1 -1
  203. package/Source/Core/PerspectiveFrustum.js +61 -55
  204. package/Source/Core/PerspectiveOffCenterFrustum.js +58 -59
  205. package/Source/Core/PinBuilder.js +1 -1
  206. package/Source/Core/PixelFormat.js +7 -21
  207. package/Source/Core/Plane.js +9 -9
  208. package/Source/Core/PlaneGeometry.js +1 -1
  209. package/Source/Core/PolygonGeometry.js +95 -94
  210. package/Source/Core/PolygonGeometryLibrary.js +49 -51
  211. package/Source/Core/PolygonOutlineGeometry.js +49 -51
  212. package/Source/Core/PolygonPipeline.js +31 -31
  213. package/Source/Core/PolylineGeometry.js +10 -10
  214. package/Source/Core/PolylinePipeline.js +25 -25
  215. package/Source/Core/PolylineVolumeGeometry.js +9 -9
  216. package/Source/Core/PolylineVolumeGeometryLibrary.js +51 -51
  217. package/Source/Core/PolylineVolumeOutlineGeometry.js +6 -6
  218. package/Source/Core/QuadraticRealPolynomial.js +1 -1
  219. package/Source/Core/QuantizedMeshTerrainData.js +28 -28
  220. package/Source/Core/QuarticRealPolynomial.js +1 -1
  221. package/Source/Core/Quaternion.js +19 -19
  222. package/Source/Core/QuaternionSpline.js +2 -2
  223. package/Source/Core/Rectangle.js +34 -13
  224. package/Source/Core/RectangleCollisionChecker.js +3 -3
  225. package/Source/Core/RectangleGeometry.js +55 -56
  226. package/Source/Core/RectangleGeometryLibrary.js +8 -8
  227. package/Source/Core/RectangleOutlineGeometry.js +20 -20
  228. package/Source/Core/RequestScheduler.js +6 -6
  229. package/Source/Core/Resource.js +24 -24
  230. package/Source/Core/S2Cell.js +16 -80
  231. package/Source/Core/ScreenSpaceEventHandler.js +54 -53
  232. package/Source/Core/Simon1994PlanetaryPositions.js +13 -13
  233. package/Source/Core/SimplePolylineGeometry.js +7 -7
  234. package/Source/Core/SphereGeometry.js +2 -2
  235. package/Source/Core/SphereOutlineGeometry.js +3 -3
  236. package/Source/Core/Spline.js +1 -1
  237. package/Source/Core/SteppedSpline.js +1 -1
  238. package/Source/Core/Stereographic.js +9 -9
  239. package/Source/Core/TaskProcessor.js +13 -13
  240. package/Source/Core/TerrainEncoding.js +33 -38
  241. package/Source/Core/TerrainMesh.js +1 -1
  242. package/Source/Core/TerrainProvider.js +12 -12
  243. package/Source/Core/TileAvailability.js +28 -28
  244. package/Source/Core/TileProviderError.js +5 -5
  245. package/Source/Core/TilingScheme.js +1 -1
  246. package/Source/Core/TimeInterval.js +4 -4
  247. package/Source/Core/TimeIntervalCollection.js +16 -15
  248. package/Source/Core/Tipsify.js +2 -2
  249. package/Source/Core/Transforms.js +52 -54
  250. package/Source/Core/TranslationRotationScale.js +1 -1
  251. package/Source/Core/TridiagonalSystemSolver.js +4 -4
  252. package/Source/Core/VRTheWorldTerrainProvider.js +28 -26
  253. package/Source/Core/VertexFormat.js +6 -6
  254. package/Source/Core/VerticalExaggeration.js +4 -4
  255. package/Source/Core/VideoSynchronizer.js +1 -1
  256. package/Source/Core/WallGeometry.js +18 -18
  257. package/Source/Core/WallGeometryLibrary.js +7 -7
  258. package/Source/Core/WallOutlineGeometry.js +8 -8
  259. package/Source/Core/WebMercatorProjection.js +5 -6
  260. package/Source/Core/WebMercatorTilingScheme.js +13 -13
  261. package/Source/Core/WireframeIndexGenerator.js +8 -8
  262. package/Source/Core/arrayRemoveDuplicates.js +1 -1
  263. package/Source/Core/buildModuleUrl.js +2 -2
  264. package/Source/Core/decodeGoogleEarthEnterpriseData.js +3 -3
  265. package/Source/Core/decodeVectorPolylinePositions.js +4 -4
  266. package/Source/Core/destroyObject.js +1 -1
  267. package/Source/Core/getJsonFromTypedArray.js +1 -1
  268. package/Source/Core/getMagic.js +1 -1
  269. package/Source/Core/loadImageFromTypedArray.js +2 -2
  270. package/Source/Core/loadKTX2.js +1 -1
  271. package/Source/Core/pointInsideTriangle.js +1 -1
  272. package/Source/Core/resizeImageToNextPowerOfTwo.js +1 -1
  273. package/Source/Core/sampleTerrain.js +7 -7
  274. package/Source/Core/sampleTerrainMostDetailed.js +7 -7
  275. package/Source/Core/scaleToGeodeticSurface.js +3 -3
  276. package/Source/Core/srgbToLinear.js +1 -1
  277. package/Source/Core/writeTextToCanvas.js +1 -1
  278. package/Source/DataSources/BillboardGraphics.js +13 -13
  279. package/Source/DataSources/BillboardVisualizer.js +24 -24
  280. package/Source/DataSources/BoxGeometryUpdater.js +33 -32
  281. package/Source/DataSources/BoxGraphics.js +3 -3
  282. package/Source/DataSources/CallbackPositionProperty.js +173 -0
  283. package/Source/DataSources/CallbackProperty.js +8 -2
  284. package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
  285. package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -6
  286. package/Source/DataSources/CheckerboardMaterialProperty.js +9 -3
  287. package/Source/DataSources/ColorMaterialProperty.js +8 -2
  288. package/Source/DataSources/CompositeEntityCollection.js +14 -15
  289. package/Source/DataSources/CompositeMaterialProperty.js +10 -11
  290. package/Source/DataSources/CompositePositionProperty.js +11 -6
  291. package/Source/DataSources/CompositeProperty.js +7 -7
  292. package/Source/DataSources/ConstantPositionProperty.js +9 -3
  293. package/Source/DataSources/CorridorGeometryUpdater.js +61 -56
  294. package/Source/DataSources/CorridorGraphics.js +6 -6
  295. package/Source/DataSources/CylinderGeometryUpdater.js +42 -40
  296. package/Source/DataSources/CylinderGraphics.js +4 -4
  297. package/Source/DataSources/CzmlDataSource.js +365 -368
  298. package/Source/DataSources/DataSourceCollection.js +1 -1
  299. package/Source/DataSources/DataSourceDisplay.js +23 -23
  300. package/Source/DataSources/DynamicGeometryBatch.js +2 -2
  301. package/Source/DataSources/DynamicGeometryUpdater.js +14 -18
  302. package/Source/DataSources/EllipseGeometryUpdater.js +67 -63
  303. package/Source/DataSources/EllipseGraphics.js +7 -7
  304. package/Source/DataSources/EllipsoidGeometryUpdater.js +88 -86
  305. package/Source/DataSources/EllipsoidGraphics.js +5 -5
  306. package/Source/DataSources/Entity.js +14 -14
  307. package/Source/DataSources/EntityCluster.js +29 -27
  308. package/Source/DataSources/EntityCollection.js +7 -7
  309. package/Source/DataSources/EntityView.js +23 -23
  310. package/Source/DataSources/GeoJsonDataSource.js +25 -25
  311. package/Source/DataSources/GeometryUpdater.js +9 -10
  312. package/Source/DataSources/GeometryUpdaterSet.js +3 -3
  313. package/Source/DataSources/GeometryVisualizer.js +65 -71
  314. package/Source/DataSources/GpxDataSource.js +10 -10
  315. package/Source/DataSources/GridMaterialProperty.js +12 -6
  316. package/Source/DataSources/GroundGeometryUpdater.js +6 -6
  317. package/Source/DataSources/ImageMaterialProperty.js +10 -3
  318. package/Source/DataSources/KmlDataSource.js +212 -212
  319. package/Source/DataSources/LabelGraphics.js +14 -14
  320. package/Source/DataSources/LabelVisualizer.js +24 -24
  321. package/Source/DataSources/MaterialProperty.js +7 -1
  322. package/Source/DataSources/ModelGraphics.js +37 -17
  323. package/Source/DataSources/ModelVisualizer.js +41 -32
  324. package/Source/DataSources/NodeTransformationProperty.js +10 -4
  325. package/Source/DataSources/PathGraphics.js +2 -2
  326. package/Source/DataSources/PathVisualizer.js +99 -35
  327. package/Source/DataSources/PlaneGeometryUpdater.js +38 -37
  328. package/Source/DataSources/PlaneGraphics.js +2 -2
  329. package/Source/DataSources/PointGraphics.js +8 -8
  330. package/Source/DataSources/PointVisualizer.js +29 -29
  331. package/Source/DataSources/PolygonGeometryUpdater.js +68 -64
  332. package/Source/DataSources/PolygonGraphics.js +9 -9
  333. package/Source/DataSources/PolylineArrowMaterialProperty.js +8 -2
  334. package/Source/DataSources/PolylineDashMaterialProperty.js +11 -5
  335. package/Source/DataSources/PolylineGeometryUpdater.js +39 -44
  336. package/Source/DataSources/PolylineGlowMaterialProperty.js +10 -4
  337. package/Source/DataSources/PolylineGraphics.js +4 -4
  338. package/Source/DataSources/PolylineOutlineMaterialProperty.js +10 -4
  339. package/Source/DataSources/PolylineVisualizer.js +39 -43
  340. package/Source/DataSources/PolylineVolumeGeometryUpdater.js +70 -68
  341. package/Source/DataSources/PolylineVolumeGraphics.js +2 -2
  342. package/Source/DataSources/PositionProperty.js +5 -4
  343. package/Source/DataSources/PositionPropertyArray.js +10 -4
  344. package/Source/DataSources/Property.js +2 -2
  345. package/Source/DataSources/PropertyArray.js +6 -6
  346. package/Source/DataSources/PropertyBag.js +10 -9
  347. package/Source/DataSources/RectangleGeometryUpdater.js +68 -63
  348. package/Source/DataSources/RectangleGraphics.js +6 -6
  349. package/Source/DataSources/ReferenceProperty.js +13 -7
  350. package/Source/DataSources/Rotation.js +2 -2
  351. package/Source/DataSources/SampledPositionProperty.js +13 -7
  352. package/Source/DataSources/SampledProperty.js +22 -20
  353. package/Source/DataSources/ScaledPositionProperty.js +8 -2
  354. package/Source/DataSources/StaticGeometryColorBatch.js +41 -41
  355. package/Source/DataSources/StaticGeometryPerMaterialBatch.js +40 -40
  356. package/Source/DataSources/StaticGroundGeometryColorBatch.js +26 -27
  357. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +46 -44
  358. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +44 -43
  359. package/Source/DataSources/StaticOutlineGeometryBatch.js +28 -29
  360. package/Source/DataSources/StripeMaterialProperty.js +9 -3
  361. package/Source/DataSources/TerrainOffsetProperty.js +20 -11
  362. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +35 -31
  363. package/Source/DataSources/TimeIntervalCollectionProperty.js +6 -6
  364. package/Source/DataSources/VelocityOrientationProperty.js +9 -4
  365. package/Source/DataSources/VelocityVectorProperty.js +7 -9
  366. package/Source/DataSources/WallGeometryUpdater.js +25 -25
  367. package/Source/DataSources/WallGraphics.js +4 -4
  368. package/Source/DataSources/createPropertyDescriptor.js +3 -3
  369. package/Source/DataSources/exportKml.js +90 -86
  370. package/Source/DataSources/getElement.js +1 -1
  371. package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +4 -4
  372. package/Source/Renderer/AutomaticUniforms.js +3 -18
  373. package/Source/Renderer/Buffer.js +18 -18
  374. package/Source/Renderer/ClearCommand.js +1 -1
  375. package/Source/Renderer/ComputeEngine.js +1 -1
  376. package/Source/Renderer/Context.js +55 -40
  377. package/Source/Renderer/CubeMap.js +332 -354
  378. package/Source/Renderer/CubeMapFace.js +43 -65
  379. package/Source/Renderer/DrawCommand.js +50 -5
  380. package/Source/Renderer/Framebuffer.js +48 -49
  381. package/Source/Renderer/FramebufferManager.js +40 -34
  382. package/Source/Renderer/MultisampleFramebuffer.js +35 -14
  383. package/Source/Renderer/PixelDatatype.js +23 -0
  384. package/Source/Renderer/RenderState.js +36 -36
  385. package/Source/Renderer/Renderbuffer.js +3 -3
  386. package/Source/Renderer/Sampler.js +9 -15
  387. package/Source/Renderer/ShaderBuilder.js +8 -8
  388. package/Source/Renderer/ShaderCache.js +11 -15
  389. package/Source/Renderer/ShaderFunction.js +1 -1
  390. package/Source/Renderer/ShaderProgram.js +22 -15
  391. package/Source/Renderer/ShaderSource.js +40 -40
  392. package/Source/Renderer/Texture.js +455 -380
  393. package/Source/Renderer/UniformState.js +68 -80
  394. package/Source/Renderer/VertexArray.js +20 -20
  395. package/Source/Renderer/VertexArrayFacade.js +15 -16
  396. package/Source/Renderer/createUniform.js +1 -1
  397. package/Source/Renderer/createUniformArray.js +4 -4
  398. package/Source/Renderer/demodernizeShader.js +7 -5
  399. package/Source/Renderer/loadCubeMap.js +3 -8
  400. package/Source/Scene/ArcGisMapServerImageryProvider.js +39 -45
  401. package/Source/Scene/ArcGisMapService.js +4 -7
  402. package/Source/Scene/AutoExposure.js +4 -5
  403. package/Source/Scene/Axis.js +6 -6
  404. package/Source/Scene/B3dmParser.js +9 -9
  405. package/Source/Scene/BatchTable.js +7 -7
  406. package/Source/Scene/BatchTableHierarchy.js +62 -59
  407. package/Source/Scene/BatchTexture.js +2 -2
  408. package/Source/Scene/Billboard.js +45 -43
  409. package/Source/Scene/BillboardCollection.js +81 -83
  410. package/Source/Scene/BingMapsImageryProvider.js +13 -13
  411. package/Source/Scene/BoundingVolumeSemantics.js +10 -10
  412. package/Source/Scene/BoxEmitter.js +1 -1
  413. package/Source/Scene/BufferLoader.js +1 -1
  414. package/Source/Scene/Camera.js +161 -164
  415. package/Source/Scene/CameraEventAggregator.js +67 -23
  416. package/Source/Scene/CameraFlightPath.js +25 -25
  417. package/Source/Scene/Cesium3DTile.js +89 -95
  418. package/Source/Scene/Cesium3DTileBatchTable.js +61 -61
  419. package/Source/Scene/Cesium3DTileContentFactory.js +7 -7
  420. package/Source/Scene/Cesium3DTileFeature.js +1 -1
  421. package/Source/Scene/Cesium3DTileFeatureTable.js +8 -8
  422. package/Source/Scene/Cesium3DTileOptimizations.js +1 -1
  423. package/Source/Scene/Cesium3DTilePointFeature.js +11 -11
  424. package/Source/Scene/Cesium3DTileStyle.js +26 -24
  425. package/Source/Scene/Cesium3DTilesVoxelProvider.js +14 -20
  426. package/Source/Scene/Cesium3DTileset.js +81 -83
  427. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +8 -16
  428. package/Source/Scene/Cesium3DTilesetCache.js +2 -2
  429. package/Source/Scene/Cesium3DTilesetHeatmap.js +5 -5
  430. package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
  431. package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +2 -2
  432. package/Source/Scene/Cesium3DTilesetSkipTraversal.js +8 -12
  433. package/Source/Scene/Cesium3DTilesetStatistics.js +1 -1
  434. package/Source/Scene/Cesium3DTilesetTraversal.js +8 -10
  435. package/Source/Scene/ClassificationPrimitive.js +70 -69
  436. package/Source/Scene/ClippingPlaneCollection.js +39 -41
  437. package/Source/Scene/ClippingPolygon.js +8 -8
  438. package/Source/Scene/ClippingPolygonCollection.js +62 -63
  439. package/Source/Scene/CloudCollection.js +3 -10
  440. package/Source/Scene/Composite3DTileContent.js +6 -6
  441. package/Source/Scene/ConditionsExpression.js +5 -5
  442. package/Source/Scene/ContentMetadata.js +4 -4
  443. package/Source/Scene/CreditDisplay.js +8 -8
  444. package/Source/Scene/CumulusCloud.js +4 -4
  445. package/Source/Scene/DebugAppearance.js +2 -2
  446. package/Source/Scene/DebugCameraPrimitive.js +2 -2
  447. package/Source/Scene/DebugInspector.js +3 -3
  448. package/Source/Scene/DebugModelMatrixPrimitive.js +4 -4
  449. package/Source/Scene/DepthPlane.js +7 -7
  450. package/Source/Scene/DerivedCommand.js +422 -238
  451. package/Source/Scene/DiscardMissingTileImagePolicy.js +1 -1
  452. package/Source/Scene/DracoLoader.js +3 -3
  453. package/Source/Scene/EllipsoidPrimitive.js +7 -7
  454. package/Source/Scene/EllipsoidSurfaceAppearance.js +3 -3
  455. package/Source/Scene/Empty3DTileContent.js +1 -1
  456. package/Source/Scene/Expression.js +91 -91
  457. package/Source/Scene/Fog.js +8 -41
  458. package/Source/Scene/FrameRateMonitor.js +22 -22
  459. package/Source/Scene/FrameState.js +31 -0
  460. package/Source/Scene/Geometry3DTileContent.js +20 -20
  461. package/Source/Scene/GetFeatureInfoFormat.js +15 -14
  462. package/Source/Scene/Globe.js +33 -28
  463. package/Source/Scene/GlobeDepth.js +95 -66
  464. package/Source/Scene/GlobeSurfaceShaderSet.js +41 -34
  465. package/Source/Scene/GlobeSurfaceTile.js +33 -33
  466. package/Source/Scene/GlobeSurfaceTileProvider.js +132 -127
  467. package/Source/Scene/GlobeTranslucency.js +4 -4
  468. package/Source/Scene/GlobeTranslucencyFramebuffer.js +9 -9
  469. package/Source/Scene/GlobeTranslucencyState.js +53 -55
  470. package/Source/Scene/GltfBufferViewLoader.js +2 -2
  471. package/Source/Scene/GltfIndexBufferLoader.js +5 -5
  472. package/Source/Scene/GltfJsonLoader.js +2 -2
  473. package/Source/Scene/GltfLoader.js +177 -100
  474. package/Source/Scene/GltfStructuralMetadataLoader.js +9 -8
  475. package/Source/Scene/GltfTextureLoader.js +5 -5
  476. package/Source/Scene/GltfVertexBufferLoader.js +12 -13
  477. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +9 -9
  478. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +9 -9
  479. package/Source/Scene/GridImageryProvider.js +2 -2
  480. package/Source/Scene/GroundPolylinePrimitive.js +38 -39
  481. package/Source/Scene/GroundPrimitive.js +47 -45
  482. package/Source/Scene/GroupMetadata.js +4 -4
  483. package/Source/Scene/I3SDataProvider.js +12 -12
  484. package/Source/Scene/I3SDecoder.js +7 -8
  485. package/Source/Scene/I3SField.js +8 -8
  486. package/Source/Scene/I3SGeometry.js +14 -14
  487. package/Source/Scene/I3SLayer.js +26 -20
  488. package/Source/Scene/I3SNode.js +17 -17
  489. package/Source/Scene/I3SSublayer.js +4 -4
  490. package/Source/Scene/I3SSymbology.js +8 -8
  491. package/Source/Scene/I3dmParser.js +9 -9
  492. package/Source/Scene/ImageBasedLighting.js +58 -56
  493. package/Source/Scene/Imagery.js +3 -3
  494. package/Source/Scene/ImageryLayer.js +64 -66
  495. package/Source/Scene/ImageryLayerCollection.js +13 -15
  496. package/Source/Scene/ImageryLayerFeatureInfo.js +19 -20
  497. package/Source/Scene/ImageryProvider.js +1 -1
  498. package/Source/Scene/Implicit3DTileContent.js +34 -37
  499. package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -2
  500. package/Source/Scene/ImplicitMetadataView.js +2 -2
  501. package/Source/Scene/ImplicitSubtree.js +29 -30
  502. package/Source/Scene/ImplicitSubtreeCache.js +1 -1
  503. package/Source/Scene/ImplicitSubtreeMetadata.js +5 -5
  504. package/Source/Scene/ImplicitTileCoordinates.js +11 -11
  505. package/Source/Scene/ImplicitTileset.js +2 -2
  506. package/Source/Scene/InvertClassification.js +7 -7
  507. package/Source/Scene/IonImageryProvider.js +6 -6
  508. package/Source/Scene/JobScheduler.js +4 -4
  509. package/Source/Scene/Label.js +31 -31
  510. package/Source/Scene/LabelCollection.js +17 -15
  511. package/Source/Scene/MapboxImageryProvider.js +3 -3
  512. package/Source/Scene/MapboxStyleImageryProvider.js +4 -4
  513. package/Source/Scene/Material.js +50 -29
  514. package/Source/Scene/MaterialAppearance.js +4 -4
  515. package/Source/Scene/Megatexture.js +21 -24
  516. package/Source/Scene/MetadataClassProperty.js +11 -11
  517. package/Source/Scene/MetadataComponentType.js +1 -1
  518. package/Source/Scene/MetadataEntity.js +8 -8
  519. package/Source/Scene/MetadataEnum.js +1 -1
  520. package/Source/Scene/MetadataPicking.js +305 -0
  521. package/Source/Scene/MetadataSchemaLoader.js +1 -1
  522. package/Source/Scene/MetadataTable.js +2 -2
  523. package/Source/Scene/MetadataTableProperty.js +22 -22
  524. package/Source/Scene/Model/AlphaPipelineStage.js +2 -2
  525. package/Source/Scene/Model/AtmospherePipelineStage.js +3 -3
  526. package/Source/Scene/Model/B3dmLoader.js +8 -8
  527. package/Source/Scene/Model/BatchTexturePipelineStage.js +2 -2
  528. package/Source/Scene/Model/CPUStylingPipelineStage.js +4 -4
  529. package/Source/Scene/Model/ClassificationModelDrawCommand.js +8 -8
  530. package/Source/Scene/Model/ClassificationPipelineStage.js +5 -5
  531. package/Source/Scene/Model/CustomShader.js +9 -9
  532. package/Source/Scene/Model/CustomShaderPipelineStage.js +37 -38
  533. package/Source/Scene/Model/DequantizationPipelineStage.js +5 -5
  534. package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
  535. package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
  536. package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
  537. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
  538. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
  539. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +548 -0
  540. package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
  541. package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
  542. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +75 -0
  543. package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
  544. package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
  545. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +30 -0
  546. package/Source/Scene/Model/FeatureIdPipelineStage.js +40 -40
  547. package/Source/Scene/Model/GeoJsonLoader.js +17 -17
  548. package/Source/Scene/Model/GeometryPipelineStage.js +23 -24
  549. package/Source/Scene/Model/I3dmLoader.js +36 -36
  550. package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +22 -30
  551. package/Source/Scene/Model/InstancingPipelineStage.js +86 -86
  552. package/Source/Scene/Model/LightingPipelineStage.js +4 -4
  553. package/Source/Scene/Model/MaterialPipelineStage.js +78 -93
  554. package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
  555. package/Source/Scene/Model/MetadataPipelineStage.js +39 -47
  556. package/Source/Scene/Model/Model.js +134 -54
  557. package/Source/Scene/Model/Model3DTileContent.js +32 -13
  558. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  559. package/Source/Scene/Model/ModelAnimationCollection.js +9 -9
  560. package/Source/Scene/Model/ModelArticulation.js +2 -2
  561. package/Source/Scene/Model/ModelArticulationStage.js +4 -4
  562. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +11 -11
  563. package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +6 -6
  564. package/Source/Scene/Model/ModelColorPipelineStage.js +12 -13
  565. package/Source/Scene/Model/ModelDrawCommand.js +5 -5
  566. package/Source/Scene/Model/{buildDrawCommand.js → ModelDrawCommands.js} +85 -28
  567. package/Source/Scene/Model/ModelFeatureTable.js +5 -5
  568. package/Source/Scene/Model/ModelMatrixUpdateStage.js +24 -12
  569. package/Source/Scene/Model/ModelRenderResources.js +1 -1
  570. package/Source/Scene/Model/ModelRuntimeNode.js +15 -15
  571. package/Source/Scene/Model/ModelRuntimePrimitive.js +8 -5
  572. package/Source/Scene/Model/ModelSceneGraph.js +42 -43
  573. package/Source/Scene/Model/ModelSilhouettePipelineStage.js +4 -4
  574. package/Source/Scene/Model/ModelSkin.js +4 -4
  575. package/Source/Scene/Model/ModelSplitterPipelineStage.js +8 -9
  576. package/Source/Scene/Model/ModelUtility.js +5 -5
  577. package/Source/Scene/Model/MorphTargetsPipelineStage.js +18 -18
  578. package/Source/Scene/Model/NodeRenderResources.js +1 -1
  579. package/Source/Scene/Model/NodeStatisticsPipelineStage.js +1 -1
  580. package/Source/Scene/Model/PickingPipelineStage.js +5 -5
  581. package/Source/Scene/Model/PntsLoader.js +7 -7
  582. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +22 -23
  583. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +6 -6
  584. package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +7 -7
  585. package/Source/Scene/Model/PrimitiveRenderResources.js +3 -3
  586. package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +1 -1
  587. package/Source/Scene/Model/SceneMode2DPipelineStage.js +23 -23
  588. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +10 -14
  589. package/Source/Scene/Model/SkinningPipelineStage.js +5 -5
  590. package/Source/Scene/Model/StyleCommandsNeeded.js +1 -1
  591. package/Source/Scene/Model/TextureManager.js +2 -2
  592. package/Source/Scene/Model/TextureUniform.js +3 -3
  593. package/Source/Scene/Model/TilesetPipelineStage.js +2 -2
  594. package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +4 -4
  595. package/Source/Scene/Model/WireframePipelineStage.js +7 -7
  596. package/Source/Scene/Model/pickModel.js +26 -26
  597. package/Source/Scene/ModelComponents.js +13 -4
  598. package/Source/Scene/Moon.js +6 -5
  599. package/Source/Scene/Multiple3DTileContent.js +15 -14
  600. package/Source/Scene/OIT.js +48 -97
  601. package/Source/Scene/OpenStreetMapImageryProvider.js +8 -7
  602. package/Source/Scene/OrderedGroundPrimitiveCollection.js +2 -2
  603. package/Source/Scene/Particle.js +3 -3
  604. package/Source/Scene/ParticleEmitter.js +1 -1
  605. package/Source/Scene/ParticleSystem.js +32 -32
  606. package/Source/Scene/PerInstanceColorAppearance.js +1 -1
  607. package/Source/Scene/PickDepth.js +16 -4
  608. package/Source/Scene/PickDepthFramebuffer.js +1 -1
  609. package/Source/Scene/PickFramebuffer.js +24 -12
  610. package/Source/Scene/PickedMetadataInfo.js +39 -0
  611. package/Source/Scene/Picking.js +270 -120
  612. package/Source/Scene/PntsParser.js +28 -28
  613. package/Source/Scene/PointCloud.js +39 -38
  614. package/Source/Scene/PointCloudEyeDomeLighting.js +6 -6
  615. package/Source/Scene/PointCloudShading.js +3 -3
  616. package/Source/Scene/PointPrimitive.js +31 -28
  617. package/Source/Scene/PointPrimitiveCollection.js +34 -33
  618. package/Source/Scene/Polyline.js +9 -9
  619. package/Source/Scene/PolylineCollection.js +55 -57
  620. package/Source/Scene/PolylineColorAppearance.js +3 -3
  621. package/Source/Scene/PolylineMaterialAppearance.js +3 -3
  622. package/Source/Scene/PostProcessStage.js +95 -115
  623. package/Source/Scene/PostProcessStageCollection.js +73 -49
  624. package/Source/Scene/PostProcessStageComposite.js +2 -2
  625. package/Source/Scene/PostProcessStageLibrary.js +30 -4
  626. package/Source/Scene/PostProcessStageTextureCache.js +10 -10
  627. package/Source/Scene/Primitive.js +93 -93
  628. package/Source/Scene/PrimitiveCollection.js +1 -1
  629. package/Source/Scene/PrimitiveLoadPlan.js +1 -1
  630. package/Source/Scene/PrimitivePipeline.js +30 -30
  631. package/Source/Scene/PropertyTable.js +5 -5
  632. package/Source/Scene/PropertyTextureProperty.js +36 -7
  633. package/Source/Scene/QuadtreePrimitive.js +56 -58
  634. package/Source/Scene/QuadtreeTile.js +4 -4
  635. package/Source/Scene/QuadtreeTileProvider.js +1 -1
  636. package/Source/Scene/ResourceCache.js +7 -7
  637. package/Source/Scene/ResourceCacheKey.js +15 -15
  638. package/Source/Scene/Scene.js +897 -677
  639. package/Source/Scene/SceneFramebuffer.js +2 -2
  640. package/Source/Scene/SceneTransforms.js +30 -92
  641. package/Source/Scene/SceneTransitioner.js +47 -47
  642. package/Source/Scene/ScreenSpaceCameraController.js +171 -157
  643. package/Source/Scene/SensorVolumePortionToDisplay.js +1 -1
  644. package/Source/Scene/ShadowMap.js +71 -72
  645. package/Source/Scene/ShadowMapShader.js +9 -9
  646. package/Source/Scene/ShadowVolumeAppearance.js +39 -39
  647. package/Source/Scene/SingleTileImageryProvider.js +3 -3
  648. package/Source/Scene/SkyAtmosphere.js +8 -8
  649. package/Source/Scene/SkyBox.js +17 -24
  650. package/Source/Scene/SpatialNode.js +13 -13
  651. package/Source/Scene/SpecularEnvironmentCubeMap.js +240 -0
  652. package/Source/Scene/SphereEmitter.js +1 -1
  653. package/Source/Scene/StructuralMetadata.js +1 -1
  654. package/Source/Scene/StyleExpression.js +1 -1
  655. package/Source/Scene/Sun.js +11 -7
  656. package/Source/Scene/SunPostProcess.js +6 -6
  657. package/Source/Scene/TerrainFillMesh.js +157 -156
  658. package/Source/Scene/TextureAtlas.js +11 -11
  659. package/Source/Scene/TileBoundingRegion.js +31 -31
  660. package/Source/Scene/TileBoundingS2Cell.js +37 -40
  661. package/Source/Scene/TileBoundingSphere.js +2 -2
  662. package/Source/Scene/TileCoordinatesImageryProvider.js +3 -3
  663. package/Source/Scene/TileImagery.js +7 -11
  664. package/Source/Scene/TileMapServiceImageryProvider.js +26 -25
  665. package/Source/Scene/TileMetadata.js +4 -4
  666. package/Source/Scene/TileOrientedBoundingBox.js +6 -6
  667. package/Source/Scene/Tileset3DTileContent.js +1 -1
  668. package/Source/Scene/TilesetMetadata.js +4 -4
  669. package/Source/Scene/TimeDynamicImagery.js +3 -3
  670. package/Source/Scene/TimeDynamicPointCloud.js +9 -9
  671. package/Source/Scene/Tonemapper.js +35 -23
  672. package/Source/Scene/TranslucentTileClassification.js +48 -58
  673. package/Source/Scene/TweenCollection.js +9 -9
  674. package/Source/Scene/UrlTemplateImageryProvider.js +23 -23
  675. package/Source/Scene/Vector3DTileClampedPolylines.js +21 -21
  676. package/Source/Scene/Vector3DTileContent.js +38 -39
  677. package/Source/Scene/Vector3DTileGeometry.js +11 -8
  678. package/Source/Scene/Vector3DTilePoints.js +18 -22
  679. package/Source/Scene/Vector3DTilePolygons.js +6 -6
  680. package/Source/Scene/Vector3DTilePolylines.js +8 -8
  681. package/Source/Scene/Vector3DTilePrimitive.js +30 -31
  682. package/Source/Scene/View.js +111 -80
  683. package/Source/Scene/VoxelBoxShape.js +34 -34
  684. package/Source/Scene/VoxelCell.js +7 -7
  685. package/Source/Scene/VoxelContent.js +1 -1
  686. package/Source/Scene/VoxelCylinderShape.js +48 -48
  687. package/Source/Scene/VoxelEllipsoidShape.js +83 -97
  688. package/Source/Scene/VoxelPrimitive.js +80 -109
  689. package/Source/Scene/VoxelRenderResources.js +13 -16
  690. package/Source/Scene/VoxelTraversal.js +41 -41
  691. package/Source/Scene/WebMapServiceImageryProvider.js +12 -12
  692. package/Source/Scene/WebMapTileServiceImageryProvider.js +8 -8
  693. package/Source/Scene/buildVoxelDrawCommands.js +10 -14
  694. package/Source/Scene/computeFlyToLocationForRectangle.js +7 -5
  695. package/Source/Scene/createBillboardPointCallback.js +2 -2
  696. package/Source/Scene/createElevationBandMaterial.js +8 -8
  697. package/Source/Scene/createGooglePhotorealistic3DTileset.js +1 -1
  698. package/Source/Scene/createOsmBuildingsAsync.js +1 -1
  699. package/Source/Scene/createTangentSpaceDebugPrimitive.js +7 -7
  700. package/Source/Scene/findContentMetadata.js +2 -2
  701. package/Source/Scene/findTileMetadata.js +2 -2
  702. package/Source/Scene/getBinaryAccessor.js +1 -1
  703. package/Source/Scene/getClipAndStyleCode.js +1 -1
  704. package/Source/Scene/getClippingFunction.js +1 -1
  705. package/Source/Scene/getMetadataClassProperty.js +43 -0
  706. package/Source/Scene/parseBatchTable.js +21 -24
  707. package/Source/Scene/parseFeatureMetadataLegacy.js +3 -3
  708. package/Source/Scene/parseStructuralMetadata.js +3 -3
  709. package/Source/Scene/processVoxelProperties.js +28 -33
  710. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -2
  711. package/Source/Shaders/Builtin/Functions/packDepth.glsl +2 -2
  712. package/Source/Shaders/Builtin/Functions/packDepth.js +2 -2
  713. package/Source/Shaders/Builtin/Functions/pbrLighting.glsl +2 -2
  714. package/Source/Shaders/Builtin/Functions/pbrLighting.js +2 -2
  715. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.glsl +23 -0
  716. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.js +25 -0
  717. package/Source/Shaders/Builtin/Functions/textureCube.glsl +21 -2
  718. package/Source/Shaders/Builtin/Functions/textureCube.js +21 -2
  719. package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +3 -3
  720. package/Source/Shaders/Builtin/Functions/unpackDepth.js +3 -3
  721. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +1 -1
  722. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +1 -1
  723. package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +2 -2
  724. package/Source/Shaders/Builtin/Functions/writeLogDepth.js +2 -2
  725. package/Source/Shaders/Builtin/Structs/materialInput.glsl +2 -0
  726. package/Source/Shaders/Builtin/Structs/materialInput.js +2 -0
  727. package/Source/Shaders/DepthPlaneVS.glsl +1 -1
  728. package/Source/Shaders/DepthPlaneVS.js +1 -1
  729. package/Source/Shaders/GlobeFS.glsl +10 -4
  730. package/Source/Shaders/GlobeFS.js +10 -4
  731. package/Source/Shaders/Materials/WaterMaskMaterial.glsl +15 -0
  732. package/Source/Shaders/Materials/WaterMaskMaterial.js +17 -0
  733. package/Source/Shaders/Model/AtmosphereStageFS.glsl +1 -1
  734. package/Source/Shaders/Model/AtmosphereStageFS.js +1 -1
  735. package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +40 -29
  736. package/Source/Shaders/Model/ImageBasedLightingStageFS.js +40 -29
  737. package/Source/Shaders/Model/LightingStageFS.glsl +2 -2
  738. package/Source/Shaders/Model/LightingStageFS.js +2 -2
  739. package/Source/Shaders/Model/ModelFS.glsl +26 -0
  740. package/Source/Shaders/Model/ModelFS.js +26 -0
  741. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +4 -0
  742. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +4 -0
  743. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +59 -59
  744. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +60 -60
  745. package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +4 -0
  746. package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +4 -0
  747. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +4 -0
  748. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +4 -0
  749. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.glsl +25 -0
  750. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js +27 -0
  751. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +4 -0
  752. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +4 -0
  753. package/Source/Shaders/SkyAtmosphereFS.glsl +1 -1
  754. package/Source/Shaders/SkyAtmosphereFS.js +1 -1
  755. package/Source/Widget/CesiumWidget.js +10 -9
  756. package/Source/Workers/combineGeometry.js +3 -4
  757. package/Source/Workers/createCircleGeometry.js +2 -2
  758. package/Source/Workers/createCircleOutlineGeometry.js +2 -2
  759. package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  760. package/Source/Workers/createCorridorOutlineGeometry.js +2 -2
  761. package/Source/Workers/createEllipsoidOutlineGeometry.js +1 -1
  762. package/Source/Workers/createGeometry.js +4 -5
  763. package/Source/Workers/createGroundPolylineGeometry.js +1 -1
  764. package/Source/Workers/createPolylineVolumeGeometry.js +2 -2
  765. package/Source/Workers/createPolylineVolumeOutlineGeometry.js +4 -4
  766. package/Source/Workers/createRectangleOutlineGeometry.js +1 -1
  767. package/Source/Workers/createSimplePolylineGeometry.js +2 -2
  768. package/Source/Workers/createTaskProcessorWorker.js +1 -1
  769. package/Source/Workers/createVectorTileClampedPolylines.js +30 -30
  770. package/Source/Workers/createVectorTileGeometries.js +18 -18
  771. package/Source/Workers/createVectorTilePoints.js +3 -3
  772. package/Source/Workers/createVectorTilePolygons.js +11 -11
  773. package/Source/Workers/createVectorTilePolylines.js +7 -7
  774. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +29 -30
  775. package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +60 -60
  776. package/Source/Workers/decodeDraco.js +23 -23
  777. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +3 -3
  778. package/Source/Workers/decodeI3S.js +53 -53
  779. package/Source/Workers/transcodeKTX2.js +9 -9
  780. package/Source/Workers/transferTypedArrayTest.js +1 -1
  781. package/Source/Workers/upsampleQuantizedTerrainMesh.js +37 -36
  782. package/index.d.ts +620 -136
  783. package/index.js +221 -205
  784. package/package.json +3 -3
  785. package/Build/Workers/chunk-2GEAGYUY.js +0 -1477
  786. package/Build/Workers/chunk-3WUV74WM.js +0 -1800
  787. package/Build/Workers/chunk-4MSUJ4I7.js +0 -456
  788. package/Build/Workers/chunk-5KWHSZYL.js +0 -834
  789. package/Build/Workers/chunk-5O6JWQ4E.js +0 -398
  790. package/Build/Workers/chunk-6OFDHMHR.js +0 -1258
  791. package/Build/Workers/chunk-AA4GZKOT.js +0 -75
  792. package/Build/Workers/chunk-B75IEX2S.js +0 -390
  793. package/Build/Workers/chunk-BAVI3ZS2.js +0 -39
  794. package/Build/Workers/chunk-BBDZYSZB.js +0 -287
  795. package/Build/Workers/chunk-C45MU4GZ.js +0 -220
  796. package/Build/Workers/chunk-CF7P7K7E.js +0 -684
  797. package/Build/Workers/chunk-D4K27X2M.js +0 -305
  798. package/Build/Workers/chunk-DKVHRNFY.js +0 -100
  799. package/Build/Workers/chunk-ELI4BUOT.js +0 -963
  800. package/Build/Workers/chunk-FQPSOOPH.js +0 -258
  801. package/Build/Workers/chunk-GNHZH7HP.js +0 -37
  802. package/Build/Workers/chunk-GWT64LKY.js +0 -171
  803. package/Build/Workers/chunk-HGEEOMSC.js +0 -157
  804. package/Build/Workers/chunk-IUROUBPA.js +0 -300
  805. package/Build/Workers/chunk-JNLWLSTP.js +0 -476
  806. package/Build/Workers/chunk-JYQNWIQQ.js +0 -44
  807. package/Build/Workers/chunk-KUN2ZA5X.js +0 -138
  808. package/Build/Workers/chunk-LXQ5QAEJ.js +0 -196
  809. package/Build/Workers/chunk-MBZH7YZ7.js +0 -945
  810. package/Build/Workers/chunk-MKXWJTFQ.js +0 -781
  811. package/Build/Workers/chunk-MMV6TO3P.js +0 -101
  812. package/Build/Workers/chunk-MSKXMXJI.js +0 -500
  813. package/Build/Workers/chunk-OAPA2RTG.js +0 -239
  814. package/Build/Workers/chunk-OE4MCOC7.js +0 -421
  815. package/Build/Workers/chunk-OJF4RTJG.js +0 -634
  816. package/Build/Workers/chunk-OXSI7N4C.js +0 -768
  817. package/Build/Workers/chunk-PYHLO636.js +0 -2857
  818. package/Build/Workers/chunk-QD4KM3GO.js +0 -138
  819. package/Build/Workers/chunk-QMLTCCYG.js +0 -55
  820. package/Build/Workers/chunk-QYQIVZBU.js +0 -117
  821. package/Build/Workers/chunk-R3TKLC6E.js +0 -1075
  822. package/Build/Workers/chunk-R4ZEWO4I.js +0 -122
  823. package/Build/Workers/chunk-RCK55EDX.js +0 -691
  824. package/Build/Workers/chunk-RHBWXX7C.js +0 -629
  825. package/Build/Workers/chunk-SAPFXU5X.js +0 -102
  826. package/Build/Workers/chunk-TBBFDFCS.js +0 -368
  827. package/Build/Workers/chunk-TGY6H6N6.js +0 -163
  828. package/Build/Workers/chunk-UOEUCKKU.js +0 -59
  829. package/Build/Workers/chunk-VFBNELXB.js +0 -353
  830. package/Build/Workers/chunk-VYWUFRRR.js +0 -1052
  831. package/Build/Workers/chunk-WVSELU6O.js +0 -2716
  832. package/Build/Workers/chunk-X43SJLQL.js +0 -10364
  833. package/Build/Workers/chunk-XUOJCLOH.js +0 -511
  834. package/Build/Workers/chunk-YLYBLJ3Y.js +0 -73
  835. package/Build/Workers/chunk-ZEE2EIFD.js +0 -430
  836. package/Build/Workers/chunk-ZIKGV7EL.js +0 -58
  837. package/Source/Scene/OctahedralProjectedCubeMap.js +0 -444
  838. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.glsl +0 -78
  839. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.js +0 -80
  840. package/Source/Shaders/OctahedralProjectionAtlasFS.glsl +0 -89
  841. package/Source/Shaders/OctahedralProjectionAtlasFS.js +0 -91
  842. package/Source/Shaders/OctahedralProjectionFS.glsl +0 -14
  843. package/Source/Shaders/OctahedralProjectionFS.js +0 -16
  844. package/Source/Shaders/OctahedralProjectionVS.glsl +0 -10
  845. package/Source/Shaders/OctahedralProjectionVS.js +0 -12
@@ -29,6 +29,9 @@ import ResourceCache from "./ResourceCache.js";
29
29
  import ResourceLoader from "./ResourceLoader.js";
30
30
  import SupportedImageFormats from "./SupportedImageFormats.js";
31
31
  import VertexAttributeSemantic from "./VertexAttributeSemantic.js";
32
+ import GltfGpmLoader from "./Model/Extensions/Gpm/GltfGpmLoader.js";
33
+ import GltfMeshPrimitiveGpmLoader from "./Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js";
34
+ import oneTimeWarning from "../Core/oneTimeWarning.js";
32
35
 
33
36
  const {
34
37
  Attribute,
@@ -260,6 +263,7 @@ function GltfLoader(options) {
260
263
  this._geometryLoaders = [];
261
264
  this._geometryCallbacks = [];
262
265
  this._structuralMetadataLoader = undefined;
266
+ this._meshPrimitiveGpmLoader = undefined;
263
267
  this._loadResourcesPromise = undefined;
264
268
  this._resourcesLoaded = false;
265
269
  this._texturesLoaded = false;
@@ -471,6 +475,25 @@ function processLoaders(loader, frameState) {
471
475
  ready = ready && metadataReady;
472
476
  }
473
477
 
478
+ const meshPrimitiveGpmLoader = loader._meshPrimitiveGpmLoader;
479
+ if (defined(meshPrimitiveGpmLoader)) {
480
+ const metadataReady = meshPrimitiveGpmLoader.process(frameState);
481
+ if (metadataReady) {
482
+ if (defined(loader._components.structuralMetadata)) {
483
+ oneTimeWarning(
484
+ "structural-metadata-gpm",
485
+ "The model defines both the 'EXT_structural_metadata' extension and the " +
486
+ "'NGA_gpm_local' extension. The data from the 'EXT_structural_metadata' " +
487
+ "extension will be replaced with the data from the 'NGA_gpm_local' extension, " +
488
+ "and will no longer be available for styling and picking.",
489
+ );
490
+ }
491
+ loader._components.structuralMetadata =
492
+ meshPrimitiveGpmLoader.structuralMetadata;
493
+ }
494
+ ready = ready && metadataReady;
495
+ }
496
+
474
497
  if (ready) {
475
498
  // Geometry requires further processing
476
499
  loader._state = GltfLoaderState.POST_PROCESSING;
@@ -665,7 +688,7 @@ function getVertexBufferLoader(
665
688
  draco,
666
689
  loadBuffer,
667
690
  loadTypedArray,
668
- frameState
691
+ frameState,
669
692
  ) {
670
693
  const gltf = loader.gltfJson;
671
694
  const accessor = gltf.accessors[accessorId];
@@ -694,7 +717,7 @@ function getIndexBufferLoader(
694
717
  draco,
695
718
  loadBuffer,
696
719
  loadTypedArray,
697
- frameState
720
+ frameState,
698
721
  ) {
699
722
  const indexBufferLoader = ResourceCache.getIndexBufferLoader({
700
723
  gltf: loader.gltfJson,
@@ -741,13 +764,13 @@ function getPackedTypedArray(gltf, accessor, bufferViewTypedArray) {
741
764
  componentType,
742
765
  bufferViewTypedArray.buffer,
743
766
  bufferViewTypedArray.byteOffset + byteOffset,
744
- componentsLength
767
+ componentsLength,
745
768
  );
746
769
  }
747
770
 
748
771
  const accessorTypedArray = ComponentDatatype.createTypedArray(
749
772
  componentType,
750
- componentsLength
773
+ componentsLength,
751
774
  );
752
775
 
753
776
  const dataView = new DataView(bufferViewTypedArray.buffer);
@@ -761,7 +784,7 @@ function getPackedTypedArray(gltf, accessor, bufferViewTypedArray) {
761
784
  byteOffset,
762
785
  componentCount,
763
786
  componentByteLength,
764
- components
787
+ components,
765
788
  );
766
789
  for (let j = 0; j < componentCount; ++j) {
767
790
  accessorTypedArray[i * componentCount + j] = components[j];
@@ -796,9 +819,8 @@ function loadAccessorValues(accessor, typedArray, values, useQuaternion) {
796
819
  }
797
820
  } else {
798
821
  const MathType = AttributeType.getMathType(accessorType);
799
- const numberOfComponents = AttributeType.getNumberOfComponents(
800
- accessorType
801
- );
822
+ const numberOfComponents =
823
+ AttributeType.getNumberOfComponents(accessorType);
802
824
 
803
825
  for (let i = 0; i < accessorCount; i++) {
804
826
  values[i] = MathType.unpack(typedArray, i * numberOfComponents);
@@ -813,7 +835,7 @@ async function loadAccessorBufferView(
813
835
  bufferViewLoader,
814
836
  accessor,
815
837
  useQuaternion,
816
- values
838
+ values,
817
839
  ) {
818
840
  // Save a link to the gltfJson, which is removed after bufferViewLoader.load()
819
841
  const { gltfJson } = loader;
@@ -826,7 +848,7 @@ async function loadAccessorBufferView(
826
848
  const typedArray = getPackedTypedArray(
827
849
  gltfJson,
828
850
  accessor,
829
- bufferViewLoader.typedArray
851
+ bufferViewLoader.typedArray,
830
852
  );
831
853
 
832
854
  useQuaternion = defaultValue(useQuaternion, false);
@@ -844,7 +866,7 @@ function loadAccessor(loader, accessor, useQuaternion) {
844
866
  bufferViewLoader,
845
867
  accessor,
846
868
  useQuaternion,
847
- values
869
+ values,
848
870
  );
849
871
  loader._loaderPromises.push(promise);
850
872
 
@@ -919,7 +941,7 @@ function dequantizeMinMax(attribute, VectorType) {
919
941
  function setQuantizationFromWeb3dQuantizedAttributes(
920
942
  extension,
921
943
  attribute,
922
- MathType
944
+ MathType,
923
945
  ) {
924
946
  const decodeMatrix = extension.decodeMatrix;
925
947
  const decodedMin = fromArray(MathType, extension.decodedMin);
@@ -940,35 +962,35 @@ function setQuantizationFromWeb3dQuantizedAttributes(
940
962
  } else if (decodeMatrix.length === 9) {
941
963
  quantization.quantizedVolumeOffset = new Cartesian2(
942
964
  decodeMatrix[6],
943
- decodeMatrix[7]
965
+ decodeMatrix[7],
944
966
  );
945
967
  quantization.quantizedVolumeStepSize = new Cartesian2(
946
968
  decodeMatrix[0],
947
- decodeMatrix[4]
969
+ decodeMatrix[4],
948
970
  );
949
971
  } else if (decodeMatrix.length === 16) {
950
972
  quantization.quantizedVolumeOffset = new Cartesian3(
951
973
  decodeMatrix[12],
952
974
  decodeMatrix[13],
953
- decodeMatrix[14]
975
+ decodeMatrix[14],
954
976
  );
955
977
  quantization.quantizedVolumeStepSize = new Cartesian3(
956
978
  decodeMatrix[0],
957
979
  decodeMatrix[5],
958
- decodeMatrix[10]
980
+ decodeMatrix[10],
959
981
  );
960
982
  } else if (decodeMatrix.length === 25) {
961
983
  quantization.quantizedVolumeOffset = new Cartesian4(
962
984
  decodeMatrix[20],
963
985
  decodeMatrix[21],
964
986
  decodeMatrix[22],
965
- decodeMatrix[23]
987
+ decodeMatrix[23],
966
988
  );
967
989
  quantization.quantizedVolumeStepSize = new Cartesian4(
968
990
  decodeMatrix[0],
969
991
  decodeMatrix[6],
970
992
  decodeMatrix[12],
971
- decodeMatrix[18]
993
+ decodeMatrix[18],
972
994
  );
973
995
  }
974
996
 
@@ -998,7 +1020,7 @@ function createAttribute(gltf, accessorId, name, semantic, setIndex) {
998
1020
  setQuantizationFromWeb3dQuantizedAttributes(
999
1021
  accessor.extensions.WEB3D_quantized_attributes,
1000
1022
  attribute,
1001
- MathType
1023
+ MathType,
1002
1024
  );
1003
1025
  }
1004
1026
 
@@ -1012,7 +1034,7 @@ function createAttribute(gltf, accessorId, name, semantic, setIndex) {
1012
1034
  // However, for KHR_mesh_quantization, min and max must be dequantized for
1013
1035
  // normalized values, else the bounding sphere will be computed incorrectly.
1014
1036
  const hasKhrMeshQuantization = gltf.extensionsRequired?.includes(
1015
- "KHR_mesh_quantization"
1037
+ "KHR_mesh_quantization",
1016
1038
  );
1017
1039
 
1018
1040
  if (hasKhrMeshQuantization && normalized && isQuantizable) {
@@ -1074,7 +1096,7 @@ function finalizeDracoAttribute(
1074
1096
  attribute,
1075
1097
  vertexBufferLoader,
1076
1098
  loadBuffer,
1077
- loadTypedArray
1099
+ loadTypedArray,
1078
1100
  ) {
1079
1101
  // The accessor's byteOffset and byteStride should be ignored for draco.
1080
1102
  // Each attribute is tightly packed in its own buffer after decode.
@@ -1093,7 +1115,7 @@ function finalizeDracoAttribute(
1093
1115
 
1094
1116
  attribute.typedArray = ComponentDatatype.createArrayBufferView(
1095
1117
  componentDatatype,
1096
- vertexBufferLoader.typedArray.buffer
1118
+ vertexBufferLoader.typedArray.buffer,
1097
1119
  );
1098
1120
  }
1099
1121
  }
@@ -1104,7 +1126,7 @@ function finalizeAttribute(
1104
1126
  attribute,
1105
1127
  vertexBufferLoader,
1106
1128
  loadBuffer,
1107
- loadTypedArray
1129
+ loadTypedArray,
1108
1130
  ) {
1109
1131
  if (loadBuffer) {
1110
1132
  attribute.buffer = vertexBufferLoader.buffer;
@@ -1115,7 +1137,7 @@ function finalizeAttribute(
1115
1137
  attribute.typedArray = getPackedTypedArray(
1116
1138
  gltf,
1117
1139
  accessor,
1118
- bufferViewTypedArray
1140
+ bufferViewTypedArray,
1119
1141
  );
1120
1142
 
1121
1143
  if (!loadBuffer) {
@@ -1135,7 +1157,7 @@ function loadAttribute(
1135
1157
  draco,
1136
1158
  loadBuffer,
1137
1159
  loadTypedArray,
1138
- frameState
1160
+ frameState,
1139
1161
  ) {
1140
1162
  const gltf = loader.gltfJson;
1141
1163
  const accessor = gltf.accessors[accessorId];
@@ -1155,7 +1177,7 @@ function loadAttribute(
1155
1177
  accessorId,
1156
1178
  name,
1157
1179
  modelSemantic,
1158
- setIndex
1180
+ setIndex,
1159
1181
  );
1160
1182
 
1161
1183
  if (!defined(draco) && !defined(bufferViewId)) {
@@ -1169,7 +1191,7 @@ function loadAttribute(
1169
1191
  draco,
1170
1192
  loadBuffer,
1171
1193
  loadTypedArray,
1172
- frameState
1194
+ frameState,
1173
1195
  );
1174
1196
 
1175
1197
  const index = loader._geometryLoaders.length;
@@ -1189,7 +1211,7 @@ function loadAttribute(
1189
1211
  attribute,
1190
1212
  vertexBufferLoader,
1191
1213
  loadBuffer,
1192
- loadTypedArray
1214
+ loadTypedArray,
1193
1215
  );
1194
1216
  } else {
1195
1217
  finalizeAttribute(
@@ -1198,7 +1220,7 @@ function loadAttribute(
1198
1220
  attribute,
1199
1221
  vertexBufferLoader,
1200
1222
  loadBuffer,
1201
- loadTypedArray
1223
+ loadTypedArray,
1202
1224
  );
1203
1225
  }
1204
1226
  };
@@ -1213,7 +1235,7 @@ function loadVertexAttribute(
1213
1235
  draco,
1214
1236
  hasInstances,
1215
1237
  needsPostProcessing,
1216
- frameState
1238
+ frameState,
1217
1239
  ) {
1218
1240
  const modelSemantic = semanticInfo.modelSemantic;
1219
1241
 
@@ -1259,7 +1281,7 @@ function loadVertexAttribute(
1259
1281
  draco,
1260
1282
  loadBuffer,
1261
1283
  loadTypedArray,
1262
- frameState
1284
+ frameState,
1263
1285
  );
1264
1286
 
1265
1287
  const attributePlan = new PrimitiveLoadPlan.AttributeLoadPlan(attribute);
@@ -1274,7 +1296,7 @@ function loadInstancedAttribute(
1274
1296
  accessorId,
1275
1297
  attributes,
1276
1298
  gltfSemantic,
1277
- frameState
1299
+ frameState,
1278
1300
  ) {
1279
1301
  const accessors = loader.gltfJson.accessors;
1280
1302
  const hasRotation = defined(attributes.ROTATION);
@@ -1286,7 +1308,7 @@ function loadInstancedAttribute(
1286
1308
  const semanticInfo = getSemanticInfo(
1287
1309
  loader,
1288
1310
  InstanceAttributeSemantic,
1289
- gltfSemantic
1311
+ gltfSemantic,
1290
1312
  );
1291
1313
  const modelSemantic = semanticInfo.modelSemantic;
1292
1314
 
@@ -1331,7 +1353,7 @@ function loadInstancedAttribute(
1331
1353
  undefined,
1332
1354
  loadBuffer,
1333
1355
  loadTypedArray,
1334
- frameState
1356
+ frameState,
1335
1357
  );
1336
1358
  }
1337
1359
 
@@ -1341,7 +1363,7 @@ function loadIndices(
1341
1363
  draco,
1342
1364
  hasFeatureIds,
1343
1365
  needsPostProcessing,
1344
- frameState
1366
+ frameState,
1345
1367
  ) {
1346
1368
  const accessor = loader.gltfJson.accessors[accessorId];
1347
1369
  const bufferViewId = accessor.bufferView;
@@ -1384,7 +1406,7 @@ function loadIndices(
1384
1406
  draco,
1385
1407
  loadBuffer,
1386
1408
  loadTypedArray,
1387
- frameState
1409
+ frameState,
1388
1410
  );
1389
1411
 
1390
1412
  const index = loader._geometryLoaders.length;
@@ -1486,14 +1508,14 @@ function loadSpecularGlossiness(loader, specularGlossinessInfo, frameState) {
1486
1508
  specularGlossiness.diffuseTexture = loadTexture(
1487
1509
  loader,
1488
1510
  diffuseTexture,
1489
- frameState
1511
+ frameState,
1490
1512
  );
1491
1513
  }
1492
1514
  if (defined(specularGlossinessTexture)) {
1493
1515
  specularGlossiness.specularGlossinessTexture = loadTexture(
1494
1516
  loader,
1495
1517
  specularGlossinessTexture,
1496
- frameState
1518
+ frameState,
1497
1519
  );
1498
1520
  }
1499
1521
  specularGlossiness.diffuseFactor = fromArray(Cartesian4, diffuseFactor);
@@ -1525,14 +1547,14 @@ function loadMetallicRoughness(loader, metallicRoughnessInfo, frameState) {
1525
1547
  metallicRoughness.baseColorTexture = loadTexture(
1526
1548
  loader,
1527
1549
  baseColorTexture,
1528
- frameState
1550
+ frameState,
1529
1551
  );
1530
1552
  }
1531
1553
  if (defined(metallicRoughnessTexture)) {
1532
1554
  metallicRoughness.metallicRoughnessTexture = loadTexture(
1533
1555
  loader,
1534
1556
  metallicRoughnessTexture,
1535
- frameState
1557
+ frameState,
1536
1558
  );
1537
1559
  }
1538
1560
  metallicRoughness.baseColorFactor = fromArray(Cartesian4, baseColorFactor);
@@ -1558,7 +1580,7 @@ function loadSpecular(loader, specularInfo, frameState) {
1558
1580
  specular.specularColorTexture = loadTexture(
1559
1581
  loader,
1560
1582
  specularColorTexture,
1561
- frameState
1583
+ frameState,
1562
1584
  );
1563
1585
  }
1564
1586
  specular.specularFactor = specularFactor;
@@ -1579,7 +1601,7 @@ function loadAnisotropy(loader, anisotropyInfo, frameState) {
1579
1601
  anisotropy.anisotropyTexture = loadTexture(
1580
1602
  loader,
1581
1603
  anisotropyTexture,
1582
- frameState
1604
+ frameState,
1583
1605
  );
1584
1606
  }
1585
1607
  anisotropy.anisotropyStrength = anisotropyStrength;
@@ -1602,21 +1624,21 @@ function loadClearcoat(loader, clearcoatInfo, frameState) {
1602
1624
  clearcoat.clearcoatTexture = loadTexture(
1603
1625
  loader,
1604
1626
  clearcoatTexture,
1605
- frameState
1627
+ frameState,
1606
1628
  );
1607
1629
  }
1608
1630
  if (defined(clearcoatRoughnessTexture)) {
1609
1631
  clearcoat.clearcoatRoughnessTexture = loadTexture(
1610
1632
  loader,
1611
1633
  clearcoatRoughnessTexture,
1612
- frameState
1634
+ frameState,
1613
1635
  );
1614
1636
  }
1615
1637
  if (defined(clearcoatNormalTexture)) {
1616
1638
  clearcoat.clearcoatNormalTexture = loadTexture(
1617
1639
  loader,
1618
1640
  clearcoatNormalTexture,
1619
- frameState
1641
+ frameState,
1620
1642
  );
1621
1643
  }
1622
1644
  clearcoat.clearcoatFactor = clearcoatFactor;
@@ -1639,7 +1661,7 @@ function loadMaterial(loader, gltfMaterial, frameState) {
1639
1661
 
1640
1662
  const extensions = defaultValue(
1641
1663
  gltfMaterial.extensions,
1642
- defaultValue.EMPTY_OBJECT
1664
+ defaultValue.EMPTY_OBJECT,
1643
1665
  );
1644
1666
  const pbrSpecularGlossiness = extensions.KHR_materials_pbrSpecularGlossiness;
1645
1667
  const pbrSpecular = extensions.KHR_materials_specular;
@@ -1653,14 +1675,14 @@ function loadMaterial(loader, gltfMaterial, frameState) {
1653
1675
  material.specularGlossiness = loadSpecularGlossiness(
1654
1676
  loader,
1655
1677
  pbrSpecularGlossiness,
1656
- frameState
1678
+ frameState,
1657
1679
  );
1658
1680
  } else {
1659
1681
  if (defined(pbrMetallicRoughness)) {
1660
1682
  material.metallicRoughness = loadMetallicRoughness(
1661
1683
  loader,
1662
1684
  pbrMetallicRoughness,
1663
- frameState
1685
+ frameState,
1664
1686
  );
1665
1687
  }
1666
1688
  if (defined(pbrSpecular) && !material.unlit) {
@@ -1679,7 +1701,7 @@ function loadMaterial(loader, gltfMaterial, frameState) {
1679
1701
  material.emissiveTexture = loadTexture(
1680
1702
  loader,
1681
1703
  gltfMaterial.emissiveTexture,
1682
- frameState
1704
+ frameState,
1683
1705
  );
1684
1706
  }
1685
1707
  // Normals aren't used for classification, so don't load the normal texture.
@@ -1687,14 +1709,14 @@ function loadMaterial(loader, gltfMaterial, frameState) {
1687
1709
  material.normalTexture = loadTexture(
1688
1710
  loader,
1689
1711
  gltfMaterial.normalTexture,
1690
- frameState
1712
+ frameState,
1691
1713
  );
1692
1714
  }
1693
1715
  if (defined(gltfMaterial.occlusionTexture)) {
1694
1716
  material.occlusionTexture = loadTexture(
1695
1717
  loader,
1696
1718
  gltfMaterial.occlusionTexture,
1697
- frameState
1719
+ frameState,
1698
1720
  );
1699
1721
  }
1700
1722
  material.emissiveFactor = fromArray(Cartesian3, gltfMaterial.emissiveFactor);
@@ -1722,7 +1744,7 @@ function loadFeatureIdAttributeLegacy(
1722
1744
  gltfFeatureIdAttribute,
1723
1745
  featureTableId,
1724
1746
  featureCount,
1725
- positionalLabel
1747
+ positionalLabel,
1726
1748
  ) {
1727
1749
  const featureIdAttribute = new FeatureIdAttribute();
1728
1750
  const featureIds = gltfFeatureIdAttribute.featureIds;
@@ -1753,7 +1775,7 @@ function loadFeatureIdImplicitRangeLegacy(
1753
1775
  gltfFeatureIdAttribute,
1754
1776
  featureTableId,
1755
1777
  featureCount,
1756
- positionalLabel
1778
+ positionalLabel,
1757
1779
  ) {
1758
1780
  const featureIdRange = new FeatureIdImplicitRange();
1759
1781
  const featureIds = gltfFeatureIdAttribute.featureIds;
@@ -1775,7 +1797,7 @@ function loadFeatureIdTexture(
1775
1797
  loader,
1776
1798
  gltfFeatureIdTexture,
1777
1799
  frameState,
1778
- positionalLabel
1800
+ positionalLabel,
1779
1801
  ) {
1780
1802
  const featureIdTexture = new FeatureIdTexture();
1781
1803
 
@@ -1790,7 +1812,7 @@ function loadFeatureIdTexture(
1790
1812
  loader,
1791
1813
  textureInfo,
1792
1814
  frameState,
1793
- Sampler.NEAREST // Feature ID textures require nearest sampling
1815
+ Sampler.NEAREST, // Feature ID textures require nearest sampling
1794
1816
  );
1795
1817
 
1796
1818
  // Though the new channel index is more future-proof, this implementation
@@ -1814,7 +1836,7 @@ function loadFeatureIdTextureLegacy(
1814
1836
  featureTableId,
1815
1837
  frameState,
1816
1838
  featureCount,
1817
- positionalLabel
1839
+ positionalLabel,
1818
1840
  ) {
1819
1841
  const featureIdTexture = new FeatureIdTexture();
1820
1842
  const featureIds = gltfFeatureIdTexture.featureIds;
@@ -1825,7 +1847,7 @@ function loadFeatureIdTextureLegacy(
1825
1847
  loader,
1826
1848
  textureInfo,
1827
1849
  frameState,
1828
- Sampler.NEAREST // Feature ID textures require nearest sampling
1850
+ Sampler.NEAREST, // Feature ID textures require nearest sampling
1829
1851
  );
1830
1852
 
1831
1853
  featureIdTexture.textureReader.channels = featureIds.channels;
@@ -1839,7 +1861,7 @@ function loadMorphTarget(
1839
1861
  target,
1840
1862
  needsPostProcessing,
1841
1863
  primitiveLoadPlan,
1842
- frameState
1864
+ frameState,
1843
1865
  ) {
1844
1866
  const morphTarget = new MorphTarget();
1845
1867
 
@@ -1856,7 +1878,7 @@ function loadMorphTarget(
1856
1878
  const semanticInfo = getSemanticInfo(
1857
1879
  loader,
1858
1880
  VertexAttributeSemantic,
1859
- semantic
1881
+ semantic,
1860
1882
  );
1861
1883
 
1862
1884
  const attributePlan = loadVertexAttribute(
@@ -1866,7 +1888,7 @@ function loadMorphTarget(
1866
1888
  draco,
1867
1889
  hasInstances,
1868
1890
  needsPostProcessing,
1869
- frameState
1891
+ frameState,
1870
1892
  );
1871
1893
  morphTarget.attributes.push(attributePlan.attribute);
1872
1894
 
@@ -1897,13 +1919,13 @@ function loadPrimitive(loader, gltfPrimitive, hasInstances, frameState) {
1897
1919
  primitive.material = loadMaterial(
1898
1920
  loader,
1899
1921
  loader.gltfJson.materials[materialId],
1900
- frameState
1922
+ frameState,
1901
1923
  );
1902
1924
  }
1903
1925
 
1904
1926
  const extensions = defaultValue(
1905
1927
  gltfPrimitive.extensions,
1906
- defaultValue.EMPTY_OBJECT
1928
+ defaultValue.EMPTY_OBJECT,
1907
1929
  );
1908
1930
 
1909
1931
  let needsPostProcessing = false;
@@ -1914,7 +1936,7 @@ function loadPrimitive(loader, gltfPrimitive, hasInstances, frameState) {
1914
1936
  primitivePlan.outlineIndices = loadPrimitiveOutline(
1915
1937
  loader,
1916
1938
  outlineExtension,
1917
- primitivePlan
1939
+ primitivePlan,
1918
1940
  );
1919
1941
  }
1920
1942
 
@@ -1932,7 +1954,7 @@ function loadPrimitive(loader, gltfPrimitive, hasInstances, frameState) {
1932
1954
  const semanticInfo = getSemanticInfo(
1933
1955
  loader,
1934
1956
  VertexAttributeSemantic,
1935
- semantic
1957
+ semantic,
1936
1958
  );
1937
1959
 
1938
1960
  const modelSemantic = semanticInfo.modelSemantic;
@@ -1951,7 +1973,7 @@ function loadPrimitive(loader, gltfPrimitive, hasInstances, frameState) {
1951
1973
  draco,
1952
1974
  hasInstances,
1953
1975
  needsPostProcessing,
1954
- frameState
1976
+ frameState,
1955
1977
  );
1956
1978
 
1957
1979
  primitivePlan.attributePlans.push(attributePlan);
@@ -1969,8 +1991,8 @@ function loadPrimitive(loader, gltfPrimitive, hasInstances, frameState) {
1969
1991
  targets[i],
1970
1992
  needsPostProcessing,
1971
1993
  primitivePlan,
1972
- frameState
1973
- )
1994
+ frameState,
1995
+ ),
1974
1996
  );
1975
1997
  }
1976
1998
  }
@@ -1983,7 +2005,7 @@ function loadPrimitive(loader, gltfPrimitive, hasInstances, frameState) {
1983
2005
  draco,
1984
2006
  hasFeatureIds,
1985
2007
  needsPostProcessing,
1986
- frameState
2008
+ frameState,
1987
2009
  );
1988
2010
 
1989
2011
  if (defined(indicesPlan)) {
@@ -2009,7 +2031,7 @@ function loadPrimitive(loader, gltfPrimitive, hasInstances, frameState) {
2009
2031
  loader,
2010
2032
  primitive,
2011
2033
  featureMetadataLegacy,
2012
- frameState
2034
+ frameState,
2013
2035
  );
2014
2036
  }
2015
2037
 
@@ -2023,7 +2045,7 @@ function loadPrimitive(loader, gltfPrimitive, hasInstances, frameState) {
2023
2045
  const primitiveType = gltfPrimitive.mode;
2024
2046
  if (loadForClassification && primitiveType !== PrimitiveType.TRIANGLES) {
2025
2047
  throw new RuntimeError(
2026
- "Only triangle meshes can be used for classification."
2048
+ "Only triangle meshes can be used for classification.",
2027
2049
  );
2028
2050
  }
2029
2051
  primitive.primitiveType = primitiveType;
@@ -2043,7 +2065,7 @@ function loadPrimitiveFeatures(
2043
2065
  loader,
2044
2066
  primitive,
2045
2067
  meshFeaturesExtension,
2046
- frameState
2068
+ frameState,
2047
2069
  ) {
2048
2070
  let featureIdsArray;
2049
2071
  if (
@@ -2065,7 +2087,7 @@ function loadPrimitiveFeatures(
2065
2087
  loader,
2066
2088
  featureIds,
2067
2089
  frameState,
2068
- label
2090
+ label,
2069
2091
  );
2070
2092
  } else if (defined(featureIds.attribute)) {
2071
2093
  featureIdComponent = loadFeatureIdAttribute(featureIds, label);
@@ -2084,7 +2106,7 @@ function loadPrimitiveFeaturesLegacy(
2084
2106
  loader,
2085
2107
  primitive,
2086
2108
  metadataExtension,
2087
- frameState
2109
+ frameState,
2088
2110
  ) {
2089
2111
  // For looking up the featureCount for each set of feature IDs
2090
2112
  const { featureTables } = loader.gltfJson.extensions.EXT_feature_metadata;
@@ -2097,9 +2119,8 @@ function loadPrimitiveFeaturesLegacy(
2097
2119
  for (let i = 0; i < featureIdAttributes.length; ++i) {
2098
2120
  const featureIdAttribute = featureIdAttributes[i];
2099
2121
  const featureTableId = featureIdAttribute.featureTable;
2100
- const propertyTableId = loader._sortedPropertyTableIds.indexOf(
2101
- featureTableId
2102
- );
2122
+ const propertyTableId =
2123
+ loader._sortedPropertyTableIds.indexOf(featureTableId);
2103
2124
  const featureCount = featureTables[featureTableId].count;
2104
2125
  const label = `featureId_${nextFeatureIdIndex}`;
2105
2126
  nextFeatureIdIndex++;
@@ -2110,14 +2131,14 @@ function loadPrimitiveFeaturesLegacy(
2110
2131
  featureIdAttribute,
2111
2132
  propertyTableId,
2112
2133
  featureCount,
2113
- label
2134
+ label,
2114
2135
  );
2115
2136
  } else {
2116
2137
  featureIdComponent = loadFeatureIdImplicitRangeLegacy(
2117
2138
  featureIdAttribute,
2118
2139
  propertyTableId,
2119
2140
  featureCount,
2120
- label
2141
+ label,
2121
2142
  );
2122
2143
  }
2123
2144
  primitive.featureIds.push(featureIdComponent);
@@ -2130,9 +2151,8 @@ function loadPrimitiveFeaturesLegacy(
2130
2151
  for (let i = 0; i < featureIdTextures.length; ++i) {
2131
2152
  const featureIdTexture = featureIdTextures[i];
2132
2153
  const featureTableId = featureIdTexture.featureTable;
2133
- const propertyTableId = loader._sortedPropertyTableIds.indexOf(
2134
- featureTableId
2135
- );
2154
+ const propertyTableId =
2155
+ loader._sortedPropertyTableIds.indexOf(featureTableId);
2136
2156
  const featureCount = featureTables[featureTableId].count;
2137
2157
  const featureIdLabel = `featureId_${nextFeatureIdIndex}`;
2138
2158
  nextFeatureIdIndex++;
@@ -2143,7 +2163,7 @@ function loadPrimitiveFeaturesLegacy(
2143
2163
  propertyTableId,
2144
2164
  frameState,
2145
2165
  featureCount,
2146
- featureIdLabel
2166
+ featureIdLabel,
2147
2167
  );
2148
2168
  // Feature ID textures are added after feature ID attributes in the list
2149
2169
  primitive.featureIds.push(featureIdComponent);
@@ -2179,7 +2199,7 @@ function loadPrimitiveMetadataLegacy(loader, primitive, metadataExtension) {
2179
2199
  primitive.propertyTextureIds = metadataExtension.featureTextures.map(
2180
2200
  function (id) {
2181
2201
  return loader._sortedFeatureTextureIds.indexOf(id);
2182
- }
2202
+ },
2183
2203
  );
2184
2204
  }
2185
2205
  }
@@ -2201,15 +2221,15 @@ function loadInstances(loader, nodeExtensions, frameState) {
2201
2221
  accessorId,
2202
2222
  attributes,
2203
2223
  semantic,
2204
- frameState
2205
- )
2224
+ frameState,
2225
+ ),
2206
2226
  );
2207
2227
  }
2208
2228
  }
2209
2229
 
2210
2230
  const instancingExtExtensions = defaultValue(
2211
2231
  instancingExtension.extensions,
2212
- defaultValue.EMPTY_OBJECT
2232
+ defaultValue.EMPTY_OBJECT,
2213
2233
  );
2214
2234
  const instanceFeatures = nodeExtensions.EXT_instance_features;
2215
2235
  const featureMetadataLegacy = instancingExtExtensions.EXT_feature_metadata;
@@ -2221,7 +2241,7 @@ function loadInstances(loader, nodeExtensions, frameState) {
2221
2241
  loader.gltfJson,
2222
2242
  instances,
2223
2243
  featureMetadataLegacy,
2224
- loader._sortedPropertyTableIds
2244
+ loader._sortedPropertyTableIds,
2225
2245
  );
2226
2246
  }
2227
2247
 
@@ -2255,7 +2275,7 @@ function loadInstanceFeaturesLegacy(
2255
2275
  gltf,
2256
2276
  instances,
2257
2277
  metadataExtension,
2258
- sortedPropertyTableIds
2278
+ sortedPropertyTableIds,
2259
2279
  ) {
2260
2280
  // For looking up the featureCount for each set of feature IDs
2261
2281
  const featureTables = gltf.extensions.EXT_feature_metadata.featureTables;
@@ -2275,14 +2295,14 @@ function loadInstanceFeaturesLegacy(
2275
2295
  featureIdAttribute,
2276
2296
  propertyTableId,
2277
2297
  featureCount,
2278
- label
2298
+ label,
2279
2299
  );
2280
2300
  } else {
2281
2301
  featureIdComponent = loadFeatureIdImplicitRangeLegacy(
2282
2302
  featureIdAttribute,
2283
2303
  propertyTableId,
2284
2304
  featureCount,
2285
- label
2305
+ label,
2286
2306
  );
2287
2307
  }
2288
2308
  instances.featureIds.push(featureIdComponent);
@@ -2310,7 +2330,7 @@ function loadNode(loader, gltfNode, frameState) {
2310
2330
 
2311
2331
  const nodeExtensions = defaultValue(
2312
2332
  gltfNode.extensions,
2313
- defaultValue.EMPTY_OBJECT
2333
+ defaultValue.EMPTY_OBJECT,
2314
2334
  );
2315
2335
  const instancingExtension = nodeExtensions.EXT_mesh_gpu_instancing;
2316
2336
  const articulationsExtension = nodeExtensions.AGI_articulations;
@@ -2318,7 +2338,7 @@ function loadNode(loader, gltfNode, frameState) {
2318
2338
  if (defined(instancingExtension)) {
2319
2339
  if (loader._loadForClassification) {
2320
2340
  throw new RuntimeError(
2321
- "Models with the EXT_mesh_gpu_instancing extension cannot be used for classification."
2341
+ "Models with the EXT_mesh_gpu_instancing extension cannot be used for classification.",
2322
2342
  );
2323
2343
  }
2324
2344
  node.instances = loadInstances(loader, nodeExtensions, frameState);
@@ -2338,8 +2358,8 @@ function loadNode(loader, gltfNode, frameState) {
2338
2358
  loader,
2339
2359
  primitives[i],
2340
2360
  defined(node.instances),
2341
- frameState
2342
- )
2361
+ frameState,
2362
+ ),
2343
2363
  );
2344
2364
  }
2345
2365
 
@@ -2401,7 +2421,7 @@ function loadSkin(loader, gltfSkin, nodes) {
2401
2421
  skin.inverseBindMatrices = loadAccessor(loader, accessor);
2402
2422
  } else {
2403
2423
  skin.inverseBindMatrices = new Array(jointIds.length).fill(
2404
- Matrix4.IDENTITY
2424
+ Matrix4.IDENTITY,
2405
2425
  );
2406
2426
  }
2407
2427
 
@@ -2437,7 +2457,7 @@ async function loadStructuralMetadata(
2437
2457
  loader,
2438
2458
  extension,
2439
2459
  extensionLegacy,
2440
- frameState
2460
+ frameState,
2441
2461
  ) {
2442
2462
  const structuralMetadataLoader = new GltfStructuralMetadataLoader({
2443
2463
  gltf: loader.gltfJson,
@@ -2453,6 +2473,20 @@ async function loadStructuralMetadata(
2453
2473
  return structuralMetadataLoader.load();
2454
2474
  }
2455
2475
 
2476
+ async function loadMeshPrimitiveGpm(loader, gltf, extension, frameState) {
2477
+ const meshPrimitiveGpmLoader = new GltfMeshPrimitiveGpmLoader({
2478
+ gltf: gltf,
2479
+ extension: extension,
2480
+ gltfResource: loader._gltfResource,
2481
+ baseResource: loader._baseResource,
2482
+ supportedImageFormats: loader._supportedImageFormats,
2483
+ frameState: frameState,
2484
+ asynchronous: loader._asynchronous,
2485
+ });
2486
+ loader._meshPrimitiveGpmLoader = meshPrimitiveGpmLoader;
2487
+ return meshPrimitiveGpmLoader.load();
2488
+ }
2489
+
2456
2490
  function loadAnimationSampler(loader, gltfSampler) {
2457
2491
  const animationSampler = new AnimationSampler();
2458
2492
  const accessors = loader.gltfJson.accessors;
@@ -2463,7 +2497,7 @@ function loadAnimationSampler(loader, gltfSampler) {
2463
2497
  const gltfInterpolation = gltfSampler.interpolation;
2464
2498
  animationSampler.interpolation = defaultValue(
2465
2499
  InterpolationType[gltfInterpolation],
2466
- InterpolationType.LINEAR
2500
+ InterpolationType.LINEAR,
2467
2501
  );
2468
2502
 
2469
2503
  const outputAccessor = accessors[gltfSampler.output];
@@ -2657,11 +2691,11 @@ function parse(loader, frameState) {
2657
2691
  const center = Cartesian3.fromArray(
2658
2692
  cesiumRtcExtension.center,
2659
2693
  0,
2660
- scratchCenter
2694
+ scratchCenter,
2661
2695
  );
2662
2696
  components.transform = Matrix4.fromTranslation(
2663
2697
  center,
2664
- components.transform
2698
+ components.transform,
2665
2699
  );
2666
2700
  }
2667
2701
 
@@ -2676,11 +2710,43 @@ function parse(loader, frameState) {
2676
2710
  loader,
2677
2711
  structuralMetadataExtension,
2678
2712
  featureMetadataExtensionLegacy,
2679
- frameState
2713
+ frameState,
2680
2714
  );
2681
2715
  loader._loaderPromises.push(promise);
2682
2716
  }
2683
2717
 
2718
+ // Load NGA_gpm_local from root object
2719
+ const gpmExtension = extensions.NGA_gpm_local;
2720
+ if (defined(gpmExtension)) {
2721
+ const gltfGpmLocal = GltfGpmLoader.load(gpmExtension);
2722
+ loader._components.extensions["NGA_gpm_local"] = gltfGpmLocal;
2723
+ }
2724
+
2725
+ // Load NGA_gpm_local from mesh primitives
2726
+ const meshes = gltf.meshes;
2727
+ if (defined(meshes)) {
2728
+ for (const mesh of meshes) {
2729
+ const primitives = mesh.primitives;
2730
+ if (defined(primitives)) {
2731
+ for (const primitive of primitives) {
2732
+ const primitiveExtensions = primitive.extensions;
2733
+ if (defined(primitiveExtensions)) {
2734
+ const meshPrimitiveGpmExtension = primitiveExtensions.NGA_gpm_local;
2735
+ if (defined(meshPrimitiveGpmExtension)) {
2736
+ const promise = loadMeshPrimitiveGpm(
2737
+ loader,
2738
+ gltf,
2739
+ meshPrimitiveGpmExtension,
2740
+ frameState,
2741
+ );
2742
+ loader._loaderPromises.push(promise);
2743
+ }
2744
+ }
2745
+ }
2746
+ }
2747
+ }
2748
+ }
2749
+
2684
2750
  // Gather promises and handle any errors
2685
2751
  const readyPromises = [];
2686
2752
  readyPromises.push.apply(readyPromises, loader._loaderPromises);
@@ -2745,6 +2811,16 @@ function unloadStructuralMetadata(loader) {
2745
2811
  }
2746
2812
  }
2747
2813
 
2814
+ function unloadMeshPrimitiveGpm(loader) {
2815
+ if (
2816
+ defined(loader._meshPrimitiveGpmLoader) &&
2817
+ !loader._meshPrimitiveGpmLoader.isDestroyed()
2818
+ ) {
2819
+ loader._meshPrimitiveGpmLoader.destroy();
2820
+ loader._meshPrimitiveGpmLoader = undefined;
2821
+ }
2822
+ }
2823
+
2748
2824
  /**
2749
2825
  * Returns whether the resource has been unloaded.
2750
2826
  * @private
@@ -2768,6 +2844,7 @@ GltfLoader.prototype.unload = function () {
2768
2844
  unloadGeometry(this);
2769
2845
  unloadGeneratedAttributes(this);
2770
2846
  unloadStructuralMetadata(this);
2847
+ unloadMeshPrimitiveGpm(this);
2771
2848
 
2772
2849
  this._components = undefined;
2773
2850
  this._typedArray = undefined;