@cesium/engine 24.0.0 → 26.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 (362) hide show
  1. package/Build/Workers/{chunk-6WLHJFD3.js → chunk-3VFEWOBI.js} +59 -32
  2. package/Build/Workers/{chunk-UQU4RXLT.js → chunk-424RNO3D.js} +50 -45
  3. package/Build/Workers/chunk-4MGMYHOO.js +147 -0
  4. package/Build/Workers/{chunk-AMIHNSST.js → chunk-4S7IE3LB.js} +2 -2
  5. package/Build/Workers/{chunk-J6AW5YHS.js → chunk-52JDLOEM.js} +14 -14
  6. package/Build/Workers/{chunk-6RMS4S72.js → chunk-54I6Y66F.js} +6 -6
  7. package/Build/Workers/{chunk-C6P4IG5P.js → chunk-6YEE6JDR.js} +6 -6
  8. package/Build/Workers/{chunk-72VYSVEW.js → chunk-7J2HKPRH.js} +11 -10
  9. package/Build/Workers/{chunk-7O5XJTVE.js → chunk-7WM2PX4V.js} +5 -5
  10. package/Build/Workers/{chunk-5A2SW66E.js → chunk-ACXQXN46.js} +16 -16
  11. package/Build/Workers/{chunk-VLDEUTOP.js → chunk-AYKR4VBR.js} +2 -2
  12. package/Build/Workers/{chunk-YQFTYQMZ.js → chunk-C6J67V5A.js} +3 -2
  13. package/Build/Workers/{chunk-D4EJ2NXG.js → chunk-C6KNZ7T4.js} +17 -17
  14. package/Build/Workers/{chunk-7MDYBRYJ.js → chunk-CFQP6LYM.js} +4 -4
  15. package/Build/Workers/{chunk-YAOZMOFL.js → chunk-CXOYE2WM.js} +5 -5
  16. package/Build/Workers/{chunk-B6SCUUFP.js → chunk-CZEYZU4N.js} +10 -10
  17. package/Build/Workers/{chunk-NPF7SSHZ.js → chunk-DBOEKL43.js} +7 -7
  18. package/Build/Workers/{chunk-44EMEGKW.js → chunk-DDWSZVMY.js} +5 -5
  19. package/Build/Workers/{chunk-7X322WP2.js → chunk-DOBXCNC3.js} +13 -13
  20. package/Build/Workers/{chunk-JCI63T3K.js → chunk-E7VQ76KE.js} +6 -6
  21. package/Build/Workers/{chunk-7TYLCBGK.js → chunk-EBSIOBXY.js} +12 -10
  22. package/Build/Workers/{chunk-GQUNK2XC.js → chunk-EF2QYXGA.js} +14 -14
  23. package/Build/Workers/{chunk-BJD6QGXZ.js → chunk-EPYXRCDB.js} +12 -12
  24. package/Build/Workers/{chunk-63SIWPLS.js → chunk-F6QDY6HU.js} +13 -13
  25. package/Build/Workers/{chunk-XY6HMDGI.js → chunk-FRQZECAO.js} +5 -5
  26. package/Build/Workers/{chunk-VMVOUQ5J.js → chunk-G7PXZRVF.js} +7 -7
  27. package/Build/Workers/{chunk-N65BAKSH.js → chunk-INUEEEQA.js} +8 -8
  28. package/Build/Workers/{chunk-7QRFIKWQ.js → chunk-IRBKFCEJ.js} +2 -2
  29. package/Build/Workers/{chunk-UIGVOKKI.js → chunk-IYOUHCZB.js} +3 -2
  30. package/Build/Workers/{chunk-5GXYJQ2K.js → chunk-J6BWOHUF.js} +3 -3
  31. package/Build/Workers/{chunk-A47HVBC5.js → chunk-KFSTQKNM.js} +7 -7
  32. package/Build/Workers/{chunk-EV3VGO6Y.js → chunk-KKOSKAZB.js} +17 -17
  33. package/Build/Workers/{chunk-6MPGQEHA.js → chunk-KSSWJIZW.js} +2 -2
  34. package/Build/Workers/{chunk-DHKPFLSJ.js → chunk-M3B5JKSM.js} +3 -2
  35. package/Build/Workers/chunk-MPZHGZU6.js +2342 -0
  36. package/Build/Workers/{chunk-YJZGW74L.js → chunk-MYP774IS.js} +2213 -1349
  37. package/Build/Workers/{chunk-LIB2H534.js → chunk-O3EA5HS7.js} +12 -11
  38. package/Build/Workers/{chunk-ILMFADZA.js → chunk-P3CK7MCY.js} +27 -5
  39. package/Build/Workers/chunk-Q3PY526V.js +3201 -0
  40. package/Build/Workers/chunk-QN67VG36.js +973 -0
  41. package/Build/Workers/{chunk-XJRBB253.js → chunk-QRWGUWI6.js} +11 -11
  42. package/Build/Workers/{chunk-AF3MU2RL.js → chunk-S4MCOY6I.js} +7 -6
  43. package/Build/Workers/{chunk-Y7HNNPNK.js → chunk-SMQZZOW6.js} +10 -10
  44. package/Build/Workers/{chunk-PVV64VFW.js → chunk-TKKIREQ6.js} +3 -2
  45. package/Build/Workers/{chunk-MKM27KGV.js → chunk-U3ZA64U7.js} +2 -2
  46. package/Build/Workers/{chunk-2N4KDHS3.js → chunk-UA25D5MX.js} +12 -11
  47. package/Build/Workers/{chunk-RQNJD3O4.js → chunk-UOOIQ3KX.js} +12 -12
  48. package/Build/Workers/{chunk-GOQBUCXH.js → chunk-V7VQKN6N.js} +709 -431
  49. package/Build/Workers/{chunk-LXMCPFFS.js → chunk-VQYETPWC.js} +4 -4
  50. package/Build/Workers/{chunk-NKT5K3K3.js → chunk-VWV2IJRB.js} +13 -12
  51. package/Build/Workers/chunk-XZMBNNDX.js +1287 -0
  52. package/Build/Workers/{chunk-ISY4EZCA.js → chunk-Y57HREW5.js} +4 -4
  53. package/Build/Workers/{chunk-EDXL4W76.js → chunk-Y5BF6AFU.js} +2 -2
  54. package/Build/Workers/{chunk-Q3C6VQH6.js → chunk-YLY7NKAB.js} +4 -4
  55. package/Build/Workers/{chunk-4TIG36AW.js → chunk-ZK3CF7ZD.js} +12 -12
  56. package/Build/Workers/{chunk-AJLTU6PF.js → chunk-ZP7JMQV4.js} +4 -1
  57. package/Build/Workers/{chunk-HXJMS2ZI.js → chunk-ZZ46LWL6.js} +1 -1
  58. package/Build/Workers/combineGeometry.js +24 -24
  59. package/Build/Workers/createBoxGeometry.js +18 -18
  60. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  61. package/Build/Workers/createCircleGeometry.js +26 -26
  62. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  63. package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
  64. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  65. package/Build/Workers/createCorridorGeometry.js +29 -29
  66. package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
  67. package/Build/Workers/createCylinderGeometry.js +20 -20
  68. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  69. package/Build/Workers/createEllipseGeometry.js +26 -26
  70. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  71. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  72. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  73. package/Build/Workers/createFrustumGeometry.js +18 -18
  74. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  75. package/Build/Workers/createGeometry.js +24 -24
  76. package/Build/Workers/createGroundPolylineGeometry.js +175 -118
  77. package/Build/Workers/createPlaneGeometry.js +16 -16
  78. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  79. package/Build/Workers/createPolygonGeometry.js +32 -32
  80. package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
  81. package/Build/Workers/createPolylineGeometry.js +25 -25
  82. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  83. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  84. package/Build/Workers/createRectangleGeometry.js +27 -27
  85. package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
  86. package/Build/Workers/createSimplePolylineGeometry.js +23 -23
  87. package/Build/Workers/createSphereGeometry.js +19 -19
  88. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  89. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  90. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  91. package/Build/Workers/createVectorTileGeometries.js +24 -24
  92. package/Build/Workers/createVectorTilePoints.js +13 -13
  93. package/Build/Workers/createVectorTilePolygons.js +22 -22
  94. package/Build/Workers/createVectorTilePolylines.js +14 -14
  95. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  96. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  97. package/Build/Workers/createVerticesFromHeightmap.js +24 -23
  98. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  99. package/Build/Workers/createWallGeometry.js +24 -24
  100. package/Build/Workers/createWallOutlineGeometry.js +23 -23
  101. package/Build/Workers/decodeDraco.js +10 -10
  102. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  103. package/Build/Workers/decodeI3S.js +10 -10
  104. package/Build/Workers/gaussianSplatSorter.js +4 -4
  105. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  106. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  107. package/Build/Workers/transcodeKTX2.js +12 -9
  108. package/Build/Workers/transferTypedArrayTest.js +1 -1
  109. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  110. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  111. package/Source/Core/ArcType.js +6 -1
  112. package/Source/Core/ArticulationStageType.js +5 -1
  113. package/Source/Core/AssociativeArray.js +100 -94
  114. package/Source/Core/BoundingSphere.js +1296 -1300
  115. package/Source/Core/Cartesian2.js +1 -1
  116. package/Source/Core/Cartesian3.js +2 -3
  117. package/Source/Core/Cartesian4.js +1 -1
  118. package/Source/Core/Cartographic.js +257 -249
  119. package/Source/Core/ClockRange.js +6 -1
  120. package/Source/Core/ClockStep.js +6 -1
  121. package/Source/Core/Color.js +844 -835
  122. package/Source/Core/ComponentDatatype.js +39 -1
  123. package/Source/Core/CornerType.js +6 -1
  124. package/Source/Core/Credit.js +121 -124
  125. package/Source/Core/Ellipsoid.js +637 -660
  126. package/Source/Core/ExtrapolationType.js +6 -1
  127. package/Source/Core/GeocodeType.js +6 -1
  128. package/Source/Core/GeographicProjection.js +74 -74
  129. package/Source/Core/GeographicTilingScheme.js +179 -198
  130. package/Source/Core/GeometryOffsetAttribute.js +7 -1
  131. package/Source/Core/GeometryType.js +7 -1
  132. package/Source/Core/HeightmapEncoding.js +6 -1
  133. package/Source/Core/Iau2006XysData.js +24 -13
  134. package/Source/Core/IndexDatatype.js +3 -1
  135. package/Source/Core/InterpolationType.js +5 -1
  136. package/Source/Core/Intersect.js +6 -1
  137. package/Source/Core/Ion.js +1 -1
  138. package/Source/Core/IonGeocodeProviderType.js +5 -1
  139. package/Source/Core/JulianDate.js +850 -848
  140. package/Source/Core/KeyboardEventModifier.js +6 -1
  141. package/Source/Core/MapProjection.js +40 -44
  142. package/Source/Core/Matrix2.js +906 -893
  143. package/Source/Core/Matrix3.js +1643 -1575
  144. package/Source/Core/Matrix4.js +2903 -2872
  145. package/Source/Core/PixelFormat.js +3 -1
  146. package/Source/Core/PrimitiveType.js +11 -1
  147. package/Source/Core/Ray.js +62 -60
  148. package/Source/Core/Rectangle.js +913 -904
  149. package/Source/Core/ReferenceFrame.js +6 -1
  150. package/Source/Core/RequestScheduler.js +8 -3
  151. package/Source/Core/RequestState.js +6 -1
  152. package/Source/Core/RequestType.js +6 -1
  153. package/Source/Core/Resource.js +1 -1
  154. package/Source/Core/ScreenSpaceEventHandler.js +51 -41
  155. package/Source/Core/ScreenSpaceEventType.js +6 -1
  156. package/Source/Core/TerrainQuantization.js +6 -1
  157. package/Source/Core/TilingScheme.js +100 -98
  158. package/Source/Core/TimeConstants.js +6 -1
  159. package/Source/Core/TimeStandard.js +6 -1
  160. package/Source/Core/TrackingReferenceFrame.js +6 -1
  161. package/Source/Core/Visibility.js +6 -1
  162. package/Source/Core/VulkanConstants.js +6 -1
  163. package/Source/Core/WebGLConstants.js +6 -1
  164. package/Source/Core/WebMercatorProjection.js +108 -109
  165. package/Source/Core/WebMercatorTilingScheme.js +246 -242
  166. package/Source/Core/WindingOrder.js +3 -1
  167. package/Source/Core/createColorRamp.js +37 -0
  168. package/Source/Core/globalTypes.js +25 -0
  169. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +1 -0
  170. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +1 -0
  171. package/Source/DataSources/StripeOrientation.js +6 -1
  172. package/Source/Renderer/BufferUsage.js +20 -9
  173. package/Source/Renderer/Context.js +2 -29
  174. package/Source/Renderer/DrawCommand.js +435 -403
  175. package/Source/Renderer/MipmapHint.js +5 -1
  176. package/Source/Renderer/Pass.js +10 -3
  177. package/Source/Renderer/PickId.js +44 -0
  178. package/Source/Renderer/PixelDatatype.js +3 -1
  179. package/Source/Renderer/RenderbufferFormat.js +5 -1
  180. package/Source/Renderer/ShaderDestination.js +4 -1
  181. package/Source/Renderer/TextureMagnificationFilter.js +3 -1
  182. package/Source/Renderer/TextureMinificationFilter.js +3 -1
  183. package/Source/Renderer/TextureWrap.js +5 -1
  184. package/Source/Renderer/createUniform.js +346 -239
  185. package/Source/Renderer/createUniformArray.js +494 -381
  186. package/Source/Scene/AlphaMode.js +5 -1
  187. package/Source/Scene/ArcGisBaseMapType.js +6 -1
  188. package/Source/Scene/ArcGisMapService.js +1 -1
  189. package/Source/Scene/AttributeType.js +3 -1
  190. package/Source/Scene/Axis.js +3 -1
  191. package/Source/Scene/BingMapsStyle.js +6 -1
  192. package/Source/Scene/BlendEquation.js +6 -1
  193. package/Source/Scene/BlendFunction.js +6 -1
  194. package/Source/Scene/BlendOption.js +6 -1
  195. package/Source/Scene/BlendingState.js +6 -1
  196. package/Source/Scene/BufferLoader.js +0 -2
  197. package/Source/Scene/BufferPoint.js +1 -0
  198. package/Source/Scene/BufferPointCollection.js +17 -1
  199. package/Source/Scene/BufferPolygon.js +3 -2
  200. package/Source/Scene/BufferPolygonCollection.js +13 -1
  201. package/Source/Scene/BufferPolyline.js +1 -0
  202. package/Source/Scene/BufferPolylineCollection.js +5 -1
  203. package/Source/Scene/BufferPrimitiveCollection.js +210 -43
  204. package/Source/Scene/CameraEventAggregator.js +30 -18
  205. package/Source/Scene/CameraEventType.js +6 -1
  206. package/Source/Scene/Cesium3DTile.js +54 -1
  207. package/Source/Scene/Cesium3DTileColorBlendMode.js +6 -1
  208. package/Source/Scene/Cesium3DTileContent.js +195 -254
  209. package/Source/Scene/Cesium3DTileContentFactory.js +10 -2
  210. package/Source/Scene/Cesium3DTileContentState.js +6 -1
  211. package/Source/Scene/Cesium3DTileContentType.js +3 -1
  212. package/Source/Scene/Cesium3DTileFeature.js +289 -306
  213. package/Source/Scene/Cesium3DTileOptimizationHint.js +6 -1
  214. package/Source/Scene/Cesium3DTilePass.js +5 -1
  215. package/Source/Scene/Cesium3DTilePointFeature.js +433 -511
  216. package/Source/Scene/Cesium3DTileRefine.js +6 -1
  217. package/Source/Scene/Cesium3DTileVectorFeature.js +586 -0
  218. package/Source/Scene/Cesium3DTileset.js +46 -6
  219. package/Source/Scene/ClassificationType.js +3 -1
  220. package/Source/Scene/CloudType.js +3 -1
  221. package/Source/Scene/ColorBlendMode.js +4 -1
  222. package/Source/Scene/Composite3DTileContent.js +254 -292
  223. package/Source/Scene/CullFace.js +6 -1
  224. package/Source/Scene/DepthFunction.js +6 -1
  225. package/Source/Scene/DynamicAtmosphereLightingType.js +3 -1
  226. package/Source/Scene/EdgeDisplayMode.js +50 -0
  227. package/Source/Scene/Empty3DTileContent.js +100 -132
  228. package/Source/Scene/EquirectangularPanorama.js +1 -0
  229. package/Source/Scene/ExpressionNodeType.js +6 -1
  230. package/Source/Scene/GaussianSplat3DTileContent.js +436 -478
  231. package/Source/Scene/GeoJsonPrimitive.js +874 -0
  232. package/Source/Scene/Geometry3DTileContent.js +151 -185
  233. package/Source/Scene/GltfBufferViewLoader.js +0 -2
  234. package/Source/Scene/GltfDracoLoader.js +0 -2
  235. package/Source/Scene/GltfImageLoader.js +0 -3
  236. package/Source/Scene/GltfIndexBufferLoader.js +0 -4
  237. package/Source/Scene/GltfJsonLoader.js +0 -2
  238. package/Source/Scene/GltfLoader.js +109 -5
  239. package/Source/Scene/GltfLoaderUtil.js +14 -0
  240. package/Source/Scene/GltfSpzLoader.js +0 -2
  241. package/Source/Scene/GltfStructuralMetadataLoader.js +0 -2
  242. package/Source/Scene/GltfTextureLoader.js +0 -2
  243. package/Source/Scene/GltfVertexBufferLoader.js +0 -4
  244. package/Source/Scene/HeightReference.js +5 -1
  245. package/Source/Scene/HorizontalOrigin.js +6 -1
  246. package/Source/Scene/ImageryProvider.js +1 -1
  247. package/Source/Scene/ImageryState.js +6 -1
  248. package/Source/Scene/Implicit3DTileContent.js +179 -214
  249. package/Source/Scene/ImplicitSubdivisionScheme.js +3 -1
  250. package/Source/Scene/InstanceAttributeSemantic.js +3 -1
  251. package/Source/Scene/IonWorldImageryStyle.js +6 -1
  252. package/Source/Scene/JobType.js +6 -1
  253. package/Source/Scene/LabelStyle.js +6 -1
  254. package/Source/Scene/MVTDataProvider.js +147 -0
  255. package/Source/Scene/MapMode2D.js +6 -1
  256. package/Source/Scene/MetadataComponentType.js +3 -1
  257. package/Source/Scene/MetadataSchemaLoader.js +0 -2
  258. package/Source/Scene/MetadataSemantic.js +6 -2
  259. package/Source/Scene/MetadataType.js +3 -1
  260. package/Source/Scene/Model/B3dmLoader.js +0 -3
  261. package/Source/Scene/Model/CustomShaderMode.js +3 -1
  262. package/Source/Scene/Model/CustomShaderTranslucencyMode.js +5 -1
  263. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +78 -337
  264. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +5 -1
  265. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +5 -1
  266. package/Source/Scene/Model/GeoJsonLoader.js +0 -2
  267. package/Source/Scene/Model/I3dmLoader.js +0 -3
  268. package/Source/Scene/Model/InstancingPipelineStage.js +1 -1
  269. package/Source/Scene/Model/LightingModel.js +5 -1
  270. package/Source/Scene/Model/MaterialPipelineStage.js +184 -3
  271. package/Source/Scene/Model/Model.js +34 -0
  272. package/Source/Scene/Model/Model3DTileContent.js +424 -458
  273. package/Source/Scene/Model/ModelDrawCommand.js +31 -3
  274. package/Source/Scene/Model/ModelReader.js +474 -3
  275. package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -1
  276. package/Source/Scene/Model/ModelType.js +3 -1
  277. package/Source/Scene/Model/ModelUtility.js +4 -0
  278. package/Source/Scene/Model/PntsLoader.js +4 -3
  279. package/Source/Scene/Model/StyleCommandsNeeded.js +3 -1
  280. package/Source/Scene/Model/UniformType.js +5 -1
  281. package/Source/Scene/Model/VaryingType.js +5 -1
  282. package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +500 -139
  283. package/Source/Scene/Model/pickModel.js +94 -299
  284. package/Source/Scene/ModelAnimationLoop.js +6 -1
  285. package/Source/Scene/ModelAnimationState.js +6 -1
  286. package/Source/Scene/ModelComponents.js +47 -2
  287. package/Source/Scene/Multiple3DTileContent.js +291 -334
  288. package/Source/Scene/PrimitiveState.js +7 -1
  289. package/Source/Scene/QuadtreeOccluders.js +20 -15
  290. package/Source/Scene/QuadtreeTile.js +547 -541
  291. package/Source/Scene/QuadtreeTileLoadState.js +6 -1
  292. package/Source/Scene/QuadtreeTileProvider.js +159 -175
  293. package/Source/Scene/ResourceLoader.js +0 -1
  294. package/Source/Scene/ResourceLoaderState.js +7 -1
  295. package/Source/Scene/Scene.js +26 -0
  296. package/Source/Scene/SceneMode.js +4 -1
  297. package/Source/Scene/ShadowMode.js +3 -1
  298. package/Source/Scene/SkyBox.js +1 -1
  299. package/Source/Scene/SplitDirection.js +6 -1
  300. package/Source/Scene/StencilFunction.js +6 -1
  301. package/Source/Scene/StencilOperation.js +6 -1
  302. package/Source/Scene/TerrainState.js +7 -1
  303. package/Source/Scene/TileState.js +7 -1
  304. package/Source/Scene/Tileset3DTileContent.js +113 -146
  305. package/Source/Scene/Tonemapper.js +5 -1
  306. package/Source/Scene/UrlTemplate3DTilesDataProvider.js +499 -0
  307. package/Source/Scene/Vector3DTileContent.js +205 -234
  308. package/Source/Scene/VectorGltf3DTileContent.js +131 -61
  309. package/Source/Scene/VertexAttributeSemantic.js +3 -1
  310. package/Source/Scene/VerticalOrigin.js +6 -1
  311. package/Source/Scene/VoxelBoxShape.js +12 -6
  312. package/Source/Scene/VoxelContent.js +2 -0
  313. package/Source/Scene/VoxelCylinderShape.js +39 -38
  314. package/Source/Scene/VoxelEllipsoidShape.js +46 -96
  315. package/Source/Scene/VoxelMetadataOrder.js +6 -1
  316. package/Source/Scene/VoxelPrimitive.js +159 -175
  317. package/Source/Scene/VoxelProvider.js +64 -90
  318. package/Source/Scene/VoxelShapeType.js +3 -1
  319. package/Source/Scene/buildVectorGltfFromMVT.js +1059 -0
  320. package/Source/Scene/buildVoxelCustomShader.js +199 -0
  321. package/Source/Scene/decodeMVT.js +634 -0
  322. package/Source/Scene/renderBufferPointCollection.js +124 -127
  323. package/Source/Scene/renderBufferPolygonCollection.js +122 -122
  324. package/Source/Scene/renderBufferPolylineCollection.js +386 -238
  325. package/Source/Shaders/BufferPointMaterialFS.glsl +1 -0
  326. package/Source/Shaders/BufferPointMaterialFS.js +1 -0
  327. package/Source/Shaders/BufferPointMaterialVS.glsl +19 -9
  328. package/Source/Shaders/BufferPointMaterialVS.js +20 -10
  329. package/Source/Shaders/BufferPolygonMaterialVS.glsl +13 -4
  330. package/Source/Shaders/BufferPolygonMaterialVS.js +14 -5
  331. package/Source/Shaders/BufferPolylineMaterialVS.glsl +16 -2
  332. package/Source/Shaders/BufferPolylineMaterialVS.js +17 -3
  333. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.glsl +9 -0
  334. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.js +11 -0
  335. package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
  336. package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
  337. package/Source/Shaders/Builtin/CzmBuiltins.js +4 -0
  338. package/Source/Shaders/Builtin/Functions/computeTextureTransform.glsl +24 -0
  339. package/Source/Shaders/Builtin/Functions/computeTextureTransform.js +25 -0
  340. package/Source/Shaders/Model/ConstantLodStageFS.glsl +60 -0
  341. package/Source/Shaders/Model/ConstantLodStageFS.js +62 -0
  342. package/Source/Shaders/Model/ConstantLodStageVS.glsl +12 -0
  343. package/Source/Shaders/Model/ConstantLodStageVS.js +13 -0
  344. package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +0 -1
  345. package/Source/Shaders/Model/EdgeVisibilityStageVS.js +0 -1
  346. package/Source/Shaders/Model/MaterialStageFS.glsl +46 -20
  347. package/Source/Shaders/Model/MaterialStageFS.js +46 -20
  348. package/Source/Shaders/Voxels/convertLocalToBoxUv.glsl +0 -1
  349. package/Source/Shaders/Voxels/convertLocalToBoxUv.js +0 -1
  350. package/Source/Shaders/Voxels/convertLocalToCylinderUv.glsl +7 -9
  351. package/Source/Shaders/Voxels/convertLocalToCylinderUv.js +7 -9
  352. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.glsl +7 -17
  353. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.js +7 -17
  354. package/Source/Widget/CesiumWidget.js +11 -4
  355. package/index.d.ts +595 -343
  356. package/index.js +392 -378
  357. package/package.json +3 -3
  358. package/Build/Workers/chunk-DVB56LG7.js +0 -114
  359. package/Build/Workers/chunk-HKUES6UG.js +0 -2357
  360. package/Build/Workers/chunk-HRHRYFHS.js +0 -940
  361. package/Build/Workers/chunk-KLPGTXS3.js +0 -642
  362. package/Build/Workers/chunk-ZBZRTRJB.js +0 -1829
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  import Cartesian2 from "../Core/Cartesian2.js";
2
4
  import Cartesian3 from "../Core/Cartesian3.js";
3
5
  import Cartesian4 from "../Core/Cartesian4.js";
@@ -10,8 +12,11 @@ import Matrix4 from "../Core/Matrix4.js";
10
12
  import RuntimeError from "../Core/RuntimeError.js";
11
13
 
12
14
  /**
15
+ * @param {WebGL2RenderingContext} gl
16
+ * @param {WebGLActiveInfo} activeUniform
17
+ * @param {string} uniformName
18
+ * @param {WebGLUniformLocation} location
13
19
  * @private
14
- * @constructor
15
20
  */
16
21
  function createUniform(gl, activeUniform, uniformName, location) {
17
22
  switch (activeUniform.type) {
@@ -56,367 +61,469 @@ function createUniform(gl, activeUniform, uniformName, location) {
56
61
 
57
62
  /**
58
63
  * @private
59
- * @constructor
60
64
  */
61
- function UniformFloat(gl, activeUniform, uniformName, location) {
65
+ class UniformFloat {
62
66
  /**
63
- * @type {string}
64
- * @readonly
67
+ * @param {WebGL2RenderingContext} gl
68
+ * @param {WebGLActiveInfo} activeUniform
69
+ * @param {string} uniformName
70
+ * @param {WebGLUniformLocation} location
65
71
  */
66
- this.name = uniformName;
67
-
68
- this.value = undefined;
69
- this._value = 0.0;
70
-
71
- this._gl = gl;
72
- this._location = location;
73
- }
72
+ constructor(gl, activeUniform, uniformName, location) {
73
+ /**
74
+ * @type {string}
75
+ * @readonly
76
+ */
77
+ this.name = uniformName;
78
+
79
+ this.value = undefined;
80
+ this._value = 0.0;
81
+
82
+ this._gl = gl;
83
+ this._location = location;
84
+ }
74
85
 
75
- UniformFloat.prototype.set = function () {
76
- if (this.value !== this._value) {
77
- this._value = this.value;
78
- this._gl.uniform1f(this._location, this.value);
86
+ set() {
87
+ if (this.value !== this._value) {
88
+ this._value = this.value;
89
+ this._gl.uniform1f(this._location, this.value);
90
+ }
79
91
  }
80
- };
92
+ }
81
93
 
82
94
  ///////////////////////////////////////////////////////////////////////////
83
95
 
84
96
  /**
85
97
  * @private
86
- * @constructor
87
98
  */
88
- function UniformFloatVec2(gl, activeUniform, uniformName, location) {
99
+ class UniformFloatVec2 {
89
100
  /**
90
- * @type {string}
91
- * @readonly
101
+ * @param {WebGL2RenderingContext} gl
102
+ * @param {WebGLActiveInfo} activeUniform
103
+ * @param {string} uniformName
104
+ * @param {WebGLUniformLocation} location
92
105
  */
93
- this.name = uniformName;
94
-
95
- this.value = undefined;
96
- this._value = new Cartesian2();
97
-
98
- this._gl = gl;
99
- this._location = location;
100
- }
106
+ constructor(gl, activeUniform, uniformName, location) {
107
+ /**
108
+ * @type {string}
109
+ * @readonly
110
+ */
111
+ this.name = uniformName;
112
+
113
+ this.value = undefined;
114
+ this._value = new Cartesian2();
115
+
116
+ this._gl = gl;
117
+ this._location = location;
118
+ }
101
119
 
102
- UniformFloatVec2.prototype.set = function () {
103
- const v = this.value;
104
- if (!Cartesian2.equals(v, this._value)) {
105
- Cartesian2.clone(v, this._value);
106
- this._gl.uniform2f(this._location, v.x, v.y);
120
+ set() {
121
+ const v = this.value;
122
+ if (!Cartesian2.equals(v, this._value)) {
123
+ Cartesian2.clone(v, this._value);
124
+ this._gl.uniform2f(this._location, v.x, v.y);
125
+ }
107
126
  }
108
- };
127
+ }
109
128
 
110
129
  ///////////////////////////////////////////////////////////////////////////
111
130
 
112
131
  /**
113
132
  * @private
114
- * @constructor
115
133
  */
116
- function UniformFloatVec3(gl, activeUniform, uniformName, location) {
134
+ class UniformFloatVec3 {
117
135
  /**
118
- * @type {string}
119
- * @readonly
136
+ * @param {WebGL2RenderingContext} gl
137
+ * @param {WebGLActiveInfo} activeUniform
138
+ * @param {string} uniformName
139
+ * @param {WebGLUniformLocation} location
120
140
  */
121
- this.name = uniformName;
122
-
123
- this.value = undefined;
124
- this._value = undefined;
125
-
126
- this._gl = gl;
127
- this._location = location;
128
- }
129
-
130
- UniformFloatVec3.prototype.set = function () {
131
- const v = this.value;
141
+ constructor(gl, activeUniform, uniformName, location) {
142
+ /**
143
+ * @type {string}
144
+ * @readonly
145
+ */
146
+ this.name = uniformName;
147
+
148
+ this.value = undefined;
149
+ this._value = undefined;
150
+
151
+ this._gl = gl;
152
+ this._location = location;
153
+ }
132
154
 
133
- if (defined(v.red)) {
134
- if (!Color.equals(v, this._value)) {
135
- this._value = Color.clone(v, this._value);
136
- this._gl.uniform3f(this._location, v.red, v.green, v.blue);
137
- }
138
- } else if (defined(v.x)) {
139
- if (!Cartesian3.equals(v, this._value)) {
140
- this._value = Cartesian3.clone(v, this._value);
141
- this._gl.uniform3f(this._location, v.x, v.y, v.z);
155
+ set() {
156
+ const v = this.value;
157
+
158
+ if (defined(v.red)) {
159
+ if (!Color.equals(v, this._value)) {
160
+ this._value = Color.clone(v, this._value);
161
+ this._gl.uniform3f(this._location, v.red, v.green, v.blue);
162
+ }
163
+ } else if (defined(v.x)) {
164
+ if (!Cartesian3.equals(v, this._value)) {
165
+ this._value = Cartesian3.clone(v, this._value);
166
+ this._gl.uniform3f(this._location, v.x, v.y, v.z);
167
+ }
168
+ } else {
169
+ //>>includeStart('debug', pragmas.debug);
170
+ throw new DeveloperError(
171
+ `Invalid vec3 value for uniform "${this.name}".`,
172
+ );
173
+ //>>includeEnd('debug');
142
174
  }
143
- } else {
144
- //>>includeStart('debug', pragmas.debug);
145
- throw new DeveloperError(`Invalid vec3 value for uniform "${this.name}".`);
146
- //>>includeEnd('debug');
147
175
  }
148
- };
176
+ }
149
177
 
150
178
  ///////////////////////////////////////////////////////////////////////////
151
179
 
152
180
  /**
153
181
  * @private
154
- * @constructor
155
182
  */
156
- function UniformFloatVec4(gl, activeUniform, uniformName, location) {
183
+ class UniformFloatVec4 {
157
184
  /**
158
- * @type {string}
159
- * @readonly
185
+ * @param {WebGL2RenderingContext} gl
186
+ * @param {WebGLActiveInfo} activeUniform
187
+ * @param {string} uniformName
188
+ * @param {WebGLUniformLocation} location
160
189
  */
161
- this.name = uniformName;
162
-
163
- this.value = undefined;
164
- this._value = undefined;
165
-
166
- this._gl = gl;
167
- this._location = location;
168
- }
169
-
170
- UniformFloatVec4.prototype.set = function () {
171
- const v = this.value;
190
+ constructor(gl, activeUniform, uniformName, location) {
191
+ /**
192
+ * @type {string}
193
+ * @readonly
194
+ */
195
+ this.name = uniformName;
196
+
197
+ this.value = undefined;
198
+ this._value = undefined;
199
+
200
+ this._gl = gl;
201
+ this._location = location;
202
+ }
172
203
 
173
- if (defined(v.red)) {
174
- if (!Color.equals(v, this._value)) {
175
- this._value = Color.clone(v, this._value);
176
- this._gl.uniform4f(this._location, v.red, v.green, v.blue, v.alpha);
177
- }
178
- } else if (defined(v.x)) {
179
- if (!Cartesian4.equals(v, this._value)) {
180
- this._value = Cartesian4.clone(v, this._value);
181
- this._gl.uniform4f(this._location, v.x, v.y, v.z, v.w);
204
+ set() {
205
+ const v = this.value;
206
+
207
+ if (defined(v.red)) {
208
+ if (!Color.equals(v, this._value)) {
209
+ this._value = Color.clone(v, this._value);
210
+ this._gl.uniform4f(this._location, v.red, v.green, v.blue, v.alpha);
211
+ }
212
+ } else if (defined(v.x)) {
213
+ if (!Cartesian4.equals(v, this._value)) {
214
+ this._value = Cartesian4.clone(v, this._value);
215
+ this._gl.uniform4f(this._location, v.x, v.y, v.z, v.w);
216
+ }
217
+ } else {
218
+ //>>includeStart('debug', pragmas.debug);
219
+ throw new DeveloperError(
220
+ `Invalid vec4 value for uniform "${this.name}".`,
221
+ );
222
+ //>>includeEnd('debug');
182
223
  }
183
- } else {
184
- //>>includeStart('debug', pragmas.debug);
185
- throw new DeveloperError(`Invalid vec4 value for uniform "${this.name}".`);
186
- //>>includeEnd('debug');
187
224
  }
188
- };
225
+ }
189
226
 
190
227
  ///////////////////////////////////////////////////////////////////////////
191
228
 
192
229
  /**
193
230
  * @private
194
- * @constructor
195
231
  */
196
- function UniformSampler(gl, activeUniform, uniformName, location) {
232
+ class UniformSampler {
197
233
  /**
198
- * @type {string}
199
- * @readonly
234
+ * @param {WebGL2RenderingContext} gl
235
+ * @param {WebGLActiveInfo} activeUniform
236
+ * @param {string} uniformName
237
+ * @param {WebGLUniformLocation} location
200
238
  */
201
- this.name = uniformName;
239
+ constructor(gl, activeUniform, uniformName, location) {
240
+ /**
241
+ * @type {string}
242
+ * @readonly
243
+ */
244
+ this.name = uniformName;
202
245
 
203
- this.value = undefined;
246
+ this.value = undefined;
204
247
 
205
- this._gl = gl;
206
- this._location = location;
248
+ this._gl = gl;
249
+ this._location = location;
207
250
 
208
- this.textureUnitIndex = undefined;
209
- }
251
+ this.textureUnitIndex = undefined;
252
+ }
210
253
 
211
- UniformSampler.prototype.set = function () {
212
- const gl = this._gl;
213
- gl.activeTexture(gl.TEXTURE0 + this.textureUnitIndex);
254
+ set() {
255
+ const gl = this._gl;
256
+ gl.activeTexture(gl.TEXTURE0 + this.textureUnitIndex);
214
257
 
215
- const v = this.value;
216
- gl.bindTexture(v._target, v._texture);
217
- };
258
+ const v = this.value;
259
+ gl.bindTexture(v._target, v._texture);
260
+ }
218
261
 
219
- UniformSampler.prototype._setSampler = function (textureUnitIndex) {
220
- this.textureUnitIndex = textureUnitIndex;
221
- this._gl.uniform1i(this._location, textureUnitIndex);
222
- return textureUnitIndex + 1;
223
- };
262
+ /**
263
+ * @param {number} textureUnitIndex
264
+ * @returns {number}
265
+ */
266
+ _setSampler(textureUnitIndex) {
267
+ this.textureUnitIndex = textureUnitIndex;
268
+ this._gl.uniform1i(this._location, textureUnitIndex);
269
+ return textureUnitIndex + 1;
270
+ }
271
+ }
224
272
 
225
273
  ///////////////////////////////////////////////////////////////////////////
226
274
 
227
275
  /**
228
276
  * @private
229
- * @constructor
230
277
  */
231
- function UniformInt(gl, activeUniform, uniformName, location) {
278
+ class UniformInt {
232
279
  /**
233
- * @type {string}
234
- * @readonly
280
+ * @param {WebGL2RenderingContext} gl
281
+ * @param {WebGLActiveInfo} activeUniform
282
+ * @param {string} uniformName
283
+ * @param {WebGLUniformLocation} location
235
284
  */
236
- this.name = uniformName;
237
-
238
- this.value = undefined;
239
- this._value = 0.0;
240
-
241
- this._gl = gl;
242
- this._location = location;
243
- }
285
+ constructor(gl, activeUniform, uniformName, location) {
286
+ /**
287
+ * @type {string}
288
+ * @readonly
289
+ */
290
+ this.name = uniformName;
291
+
292
+ this.value = undefined;
293
+ this._value = 0.0;
294
+
295
+ this._gl = gl;
296
+ this._location = location;
297
+ }
244
298
 
245
- UniformInt.prototype.set = function () {
246
- if (this.value !== this._value) {
247
- this._value = this.value;
248
- this._gl.uniform1i(this._location, this.value);
299
+ set() {
300
+ if (this.value !== this._value) {
301
+ this._value = this.value;
302
+ this._gl.uniform1i(this._location, this.value);
303
+ }
249
304
  }
250
- };
305
+ }
251
306
 
252
307
  ///////////////////////////////////////////////////////////////////////////
253
308
  /**
254
309
  * @private
255
- * @constructor
256
310
  */
257
- function UniformIntVec2(gl, activeUniform, uniformName, location) {
311
+ class UniformIntVec2 {
258
312
  /**
259
- * @type {string}
260
- * @readonly
313
+ * @param {WebGL2RenderingContext} gl
314
+ * @param {WebGLActiveInfo} activeUniform
315
+ * @param {string} uniformName
316
+ * @param {WebGLUniformLocation} location
261
317
  */
262
- this.name = uniformName;
263
-
264
- this.value = undefined;
265
- this._value = new Cartesian2();
266
-
267
- this._gl = gl;
268
- this._location = location;
269
- }
318
+ constructor(gl, activeUniform, uniformName, location) {
319
+ /**
320
+ * @type {string}
321
+ * @readonly
322
+ */
323
+ this.name = uniformName;
324
+
325
+ this.value = undefined;
326
+ this._value = new Cartesian2();
327
+
328
+ this._gl = gl;
329
+ this._location = location;
330
+ }
270
331
 
271
- UniformIntVec2.prototype.set = function () {
272
- const v = this.value;
273
- if (!Cartesian2.equals(v, this._value)) {
274
- Cartesian2.clone(v, this._value);
275
- this._gl.uniform2i(this._location, v.x, v.y);
332
+ set() {
333
+ const v = this.value;
334
+ if (!Cartesian2.equals(v, this._value)) {
335
+ Cartesian2.clone(v, this._value);
336
+ this._gl.uniform2i(this._location, v.x, v.y);
337
+ }
276
338
  }
277
- };
339
+ }
278
340
 
279
341
  ///////////////////////////////////////////////////////////////////////////
280
342
  /**
281
343
  * @private
282
- * @constructor
283
344
  */
284
- function UniformIntVec3(gl, activeUniform, uniformName, location) {
345
+ class UniformIntVec3 {
285
346
  /**
286
- * @type {string}
287
- * @readonly
347
+ * @param {WebGL2RenderingContext} gl
348
+ * @param {WebGLActiveInfo} activeUniform
349
+ * @param {string} uniformName
350
+ * @param {WebGLUniformLocation} location
288
351
  */
289
- this.name = uniformName;
290
-
291
- this.value = undefined;
292
- this._value = new Cartesian3();
293
-
294
- this._gl = gl;
295
- this._location = location;
296
- }
352
+ constructor(gl, activeUniform, uniformName, location) {
353
+ /**
354
+ * @type {string}
355
+ * @readonly
356
+ */
357
+ this.name = uniformName;
358
+
359
+ this.value = undefined;
360
+ this._value = new Cartesian3();
361
+
362
+ this._gl = gl;
363
+ this._location = location;
364
+ }
297
365
 
298
- UniformIntVec3.prototype.set = function () {
299
- const v = this.value;
300
- if (!Cartesian3.equals(v, this._value)) {
301
- Cartesian3.clone(v, this._value);
302
- this._gl.uniform3i(this._location, v.x, v.y, v.z);
366
+ set() {
367
+ const v = this.value;
368
+ if (!Cartesian3.equals(v, this._value)) {
369
+ Cartesian3.clone(v, this._value);
370
+ this._gl.uniform3i(this._location, v.x, v.y, v.z);
371
+ }
303
372
  }
304
- };
373
+ }
305
374
 
306
375
  ///////////////////////////////////////////////////////////////////////////
307
376
  /**
308
377
  * @private
309
- * @constructor
310
378
  */
311
- function UniformIntVec4(gl, activeUniform, uniformName, location) {
379
+ class UniformIntVec4 {
312
380
  /**
313
- * @type {string}
314
- * @readonly
381
+ * @param {WebGL2RenderingContext} gl
382
+ * @param {WebGLActiveInfo} activeUniform
383
+ * @param {string} uniformName
384
+ * @param {WebGLUniformLocation} location
315
385
  */
316
- this.name = uniformName;
317
-
318
- this.value = undefined;
319
- this._value = new Cartesian4();
320
-
321
- this._gl = gl;
322
- this._location = location;
323
- }
386
+ constructor(gl, activeUniform, uniformName, location) {
387
+ /**
388
+ * @type {string}
389
+ * @readonly
390
+ */
391
+ this.name = uniformName;
392
+
393
+ this.value = undefined;
394
+ this._value = new Cartesian4();
395
+
396
+ this._gl = gl;
397
+ this._location = location;
398
+ }
324
399
 
325
- UniformIntVec4.prototype.set = function () {
326
- const v = this.value;
327
- if (!Cartesian4.equals(v, this._value)) {
328
- Cartesian4.clone(v, this._value);
329
- this._gl.uniform4i(this._location, v.x, v.y, v.z, v.w);
400
+ set() {
401
+ const v = this.value;
402
+ if (!Cartesian4.equals(v, this._value)) {
403
+ Cartesian4.clone(v, this._value);
404
+ this._gl.uniform4i(this._location, v.x, v.y, v.z, v.w);
405
+ }
330
406
  }
331
- };
407
+ }
332
408
 
333
409
  ///////////////////////////////////////////////////////////////////////////
334
410
 
335
411
  const scratchUniformArray = new Float32Array(4);
412
+
336
413
  /**
337
414
  * @private
338
- * @constructor
339
415
  */
340
- function UniformMat2(gl, activeUniform, uniformName, location) {
416
+ class UniformMat2 {
341
417
  /**
342
- * @type {string}
343
- * @readonly
418
+ * @param {WebGL2RenderingContext} gl
419
+ * @param {WebGLActiveInfo} activeUniform
420
+ * @param {string} uniformName
421
+ * @param {WebGLUniformLocation} location
344
422
  */
345
- this.name = uniformName;
346
-
347
- this.value = undefined;
348
- this._value = new Matrix2();
349
-
350
- this._gl = gl;
351
- this._location = location;
352
- }
423
+ constructor(gl, activeUniform, uniformName, location) {
424
+ /**
425
+ * @type {string}
426
+ * @readonly
427
+ */
428
+ this.name = uniformName;
429
+
430
+ this.value = undefined;
431
+ this._value = new Matrix2();
432
+
433
+ this._gl = gl;
434
+ this._location = location;
435
+ }
353
436
 
354
- UniformMat2.prototype.set = function () {
355
- if (!Matrix2.equalsArray(this.value, this._value, 0)) {
356
- Matrix2.clone(this.value, this._value);
437
+ set() {
438
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13290
439
+ if (!Matrix2.equalsArray(this.value, this._value, 0)) {
440
+ Matrix2.clone(this.value, this._value);
357
441
 
358
- const array = Matrix2.toArray(this.value, scratchUniformArray);
359
- this._gl.uniformMatrix2fv(this._location, false, array);
442
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
443
+ const array = Matrix2.toArray(this.value, scratchUniformArray);
444
+ this._gl.uniformMatrix2fv(this._location, false, array);
445
+ }
360
446
  }
361
- };
447
+ }
362
448
 
363
449
  ///////////////////////////////////////////////////////////////////////////
364
450
 
365
451
  const scratchMat3Array = new Float32Array(9);
452
+
366
453
  /**
367
454
  * @private
368
- * @constructor
369
455
  */
370
- function UniformMat3(gl, activeUniform, uniformName, location) {
456
+ class UniformMat3 {
371
457
  /**
372
- * @type {string}
373
- * @readonly
458
+ * @param {WebGL2RenderingContext} gl
459
+ * @param {WebGLActiveInfo} activeUniform
460
+ * @param {string} uniformName
461
+ * @param {WebGLUniformLocation} location
374
462
  */
375
- this.name = uniformName;
376
-
377
- this.value = undefined;
378
- this._value = new Matrix3();
379
-
380
- this._gl = gl;
381
- this._location = location;
382
- }
463
+ constructor(gl, activeUniform, uniformName, location) {
464
+ /**
465
+ * @type {string}
466
+ * @readonly
467
+ */
468
+ this.name = uniformName;
469
+
470
+ this.value = undefined;
471
+ this._value = new Matrix3();
472
+
473
+ this._gl = gl;
474
+ this._location = location;
475
+ }
383
476
 
384
- UniformMat3.prototype.set = function () {
385
- if (!Matrix3.equalsArray(this.value, this._value, 0)) {
386
- Matrix3.clone(this.value, this._value);
477
+ set() {
478
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13290
479
+ if (!Matrix3.equalsArray(this.value, this._value, 0)) {
480
+ Matrix3.clone(this.value, this._value);
387
481
 
388
- const array = Matrix3.toArray(this.value, scratchMat3Array);
389
- this._gl.uniformMatrix3fv(this._location, false, array);
482
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
483
+ const array = Matrix3.toArray(this.value, scratchMat3Array);
484
+ this._gl.uniformMatrix3fv(this._location, false, array);
485
+ }
390
486
  }
391
- };
487
+ }
392
488
 
393
489
  ///////////////////////////////////////////////////////////////////////////
394
490
 
395
491
  const scratchMat4Array = new Float32Array(16);
492
+
396
493
  /**
397
494
  * @private
398
- * @constructor
399
495
  */
400
- function UniformMat4(gl, activeUniform, uniformName, location) {
496
+ class UniformMat4 {
401
497
  /**
402
- * @type {string}
403
- * @readonly
498
+ * @param {WebGL2RenderingContext} gl
499
+ * @param {WebGLActiveInfo} activeUniform
500
+ * @param {string} uniformName
501
+ * @param {WebGLUniformLocation} location
404
502
  */
405
- this.name = uniformName;
503
+ constructor(gl, activeUniform, uniformName, location) {
504
+ /**
505
+ * @type {string}
506
+ * @readonly
507
+ */
508
+ this.name = uniformName;
509
+
510
+ this.value = undefined;
511
+ this._value = new Matrix4();
512
+
513
+ this._gl = gl;
514
+ this._location = location;
515
+ }
406
516
 
407
- this.value = undefined;
408
- this._value = new Matrix4();
517
+ set() {
518
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13290
519
+ if (!Matrix4.equalsArray(this.value, this._value, 0)) {
520
+ Matrix4.clone(this.value, this._value);
409
521
 
410
- this._gl = gl;
411
- this._location = location;
522
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
523
+ const array = Matrix4.toArray(this.value, scratchMat4Array);
524
+ this._gl.uniformMatrix4fv(this._location, false, array);
525
+ }
526
+ }
412
527
  }
413
528
 
414
- UniformMat4.prototype.set = function () {
415
- if (!Matrix4.equalsArray(this.value, this._value, 0)) {
416
- Matrix4.clone(this.value, this._value);
417
-
418
- const array = Matrix4.toArray(this.value, scratchMat4Array);
419
- this._gl.uniformMatrix4fv(this._location, false, array);
420
- }
421
- };
422
529
  export default createUniform;