@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[]} locations
13
19
  * @private
14
- * @constructor
15
20
  */
16
21
  function createUniformArray(gl, activeUniform, uniformName, locations) {
17
22
  switch (activeUniform.type) {
@@ -69,570 +74,678 @@ function createUniformArray(gl, activeUniform, uniformName, locations) {
69
74
 
70
75
  /**
71
76
  * @private
72
- * @constructor
73
77
  */
74
- function UniformArrayFloat(gl, activeUniform, uniformName, locations) {
75
- const length = locations.length;
76
-
78
+ class UniformArrayFloat {
77
79
  /**
78
- * @type {string}
79
- * @readonly
80
+ * @param {WebGL2RenderingContext} gl
81
+ * @param {WebGLActiveInfo} activeUniform
82
+ * @param {string} uniformName
83
+ * @param {WebGLUniformLocation[]} locations
80
84
  */
81
- this.name = uniformName;
85
+ constructor(gl, activeUniform, uniformName, locations) {
86
+ const length = locations.length;
82
87
 
83
- this.value = new Array(length);
84
- this._value = new Float32Array(length);
88
+ /**
89
+ * @type {string}
90
+ * @readonly
91
+ */
92
+ this.name = uniformName;
85
93
 
86
- this._gl = gl;
87
- this._location = locations[0];
88
- }
94
+ this.value = new Array(length);
95
+ this._value = new Float32Array(length);
96
+
97
+ this._gl = gl;
98
+ this._location = locations[0];
99
+ }
89
100
 
90
- UniformArrayFloat.prototype.set = function () {
91
- const value = this.value;
92
- const length = value.length;
93
- const arraybuffer = this._value;
94
- let changed = false;
101
+ set() {
102
+ const value = this.value;
103
+ const length = value.length;
104
+ const arraybuffer = this._value;
105
+ let changed = false;
95
106
 
96
- for (let i = 0; i < length; ++i) {
97
- const v = value[i];
107
+ for (let i = 0; i < length; ++i) {
108
+ const v = value[i];
98
109
 
99
- if (v !== arraybuffer[i]) {
100
- arraybuffer[i] = v;
101
- changed = true;
110
+ if (v !== arraybuffer[i]) {
111
+ arraybuffer[i] = v;
112
+ changed = true;
113
+ }
102
114
  }
103
- }
104
115
 
105
- if (changed) {
106
- this._gl.uniform1fv(this._location, arraybuffer);
116
+ if (changed) {
117
+ this._gl.uniform1fv(this._location, arraybuffer);
118
+ }
107
119
  }
108
- };
120
+ }
109
121
 
110
122
  ///////////////////////////////////////////////////////////////////////////
111
123
 
112
124
  /**
113
125
  * @private
114
- * @constructor
115
126
  */
116
- function UniformArrayFloatVec2(gl, activeUniform, uniformName, locations) {
117
- const length = locations.length;
118
-
127
+ class UniformArrayFloatVec2 {
119
128
  /**
120
- * @type {string}
121
- * @readonly
129
+ * @param {WebGL2RenderingContext} gl
130
+ * @param {WebGLActiveInfo} activeUniform
131
+ * @param {string} uniformName
132
+ * @param {WebGLUniformLocation[]} locations
122
133
  */
123
- this.name = uniformName;
134
+ constructor(gl, activeUniform, uniformName, locations) {
135
+ const length = locations.length;
124
136
 
125
- this.value = new Array(length);
126
- this._value = new Float32Array(length * 2);
137
+ /**
138
+ * @type {string}
139
+ * @readonly
140
+ */
141
+ this.name = uniformName;
127
142
 
128
- this._gl = gl;
129
- this._location = locations[0];
130
- }
143
+ this.value = new Array(length);
144
+ this._value = new Float32Array(length * 2);
131
145
 
132
- UniformArrayFloatVec2.prototype.set = function () {
133
- const value = this.value;
134
- const length = value.length;
135
- const arraybuffer = this._value;
136
- let changed = false;
137
- let j = 0;
146
+ this._gl = gl;
147
+ this._location = locations[0];
148
+ }
149
+
150
+ set() {
151
+ const value = this.value;
152
+ const length = value.length;
153
+ const arraybuffer = this._value;
154
+ let changed = false;
155
+ let j = 0;
138
156
 
139
- for (let i = 0; i < length; ++i) {
140
- const v = value[i];
157
+ for (let i = 0; i < length; ++i) {
158
+ const v = value[i];
141
159
 
142
- if (!Cartesian2.equalsArray(v, arraybuffer, j)) {
143
- Cartesian2.pack(v, arraybuffer, j);
144
- changed = true;
160
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
161
+ if (!Cartesian2.equalsArray(v, arraybuffer, j)) {
162
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
163
+ Cartesian2.pack(v, arraybuffer, j);
164
+ changed = true;
165
+ }
166
+ j += 2;
145
167
  }
146
- j += 2;
147
- }
148
168
 
149
- if (changed) {
150
- this._gl.uniform2fv(this._location, arraybuffer);
169
+ if (changed) {
170
+ this._gl.uniform2fv(this._location, arraybuffer);
171
+ }
151
172
  }
152
- };
173
+ }
153
174
 
154
175
  ///////////////////////////////////////////////////////////////////////////
155
176
 
156
177
  /**
157
178
  * @private
158
- * @constructor
159
179
  */
160
- function UniformArrayFloatVec3(gl, activeUniform, uniformName, locations) {
161
- const length = locations.length;
162
-
180
+ class UniformArrayFloatVec3 {
163
181
  /**
164
- * @type {string}
165
- * @readonly
182
+ * @param {WebGL2RenderingContext} gl
183
+ * @param {WebGLActiveInfo} activeUniform
184
+ * @param {string} uniformName
185
+ * @param {WebGLUniformLocation[]} locations
166
186
  */
167
- this.name = uniformName;
187
+ constructor(gl, activeUniform, uniformName, locations) {
188
+ const length = locations.length;
168
189
 
169
- this.value = new Array(length);
170
- this._value = new Float32Array(length * 3);
190
+ /**
191
+ * @type {string}
192
+ * @readonly
193
+ */
194
+ this.name = uniformName;
171
195
 
172
- this._gl = gl;
173
- this._location = locations[0];
174
- }
196
+ this.value = new Array(length);
197
+ this._value = new Float32Array(length * 3);
175
198
 
176
- UniformArrayFloatVec3.prototype.set = function () {
177
- const value = this.value;
178
- const length = value.length;
179
- const arraybuffer = this._value;
180
- let changed = false;
181
- let j = 0;
182
-
183
- for (let i = 0; i < length; ++i) {
184
- const v = value[i];
185
-
186
- if (defined(v.red)) {
187
- if (
188
- v.red !== arraybuffer[j] ||
189
- v.green !== arraybuffer[j + 1] ||
190
- v.blue !== arraybuffer[j + 2]
191
- ) {
192
- arraybuffer[j] = v.red;
193
- arraybuffer[j + 1] = v.green;
194
- arraybuffer[j + 2] = v.blue;
195
- changed = true;
196
- }
197
- } else if (defined(v.x)) {
198
- if (!Cartesian3.equalsArray(v, arraybuffer, j)) {
199
- Cartesian3.pack(v, arraybuffer, j);
200
- changed = true;
199
+ this._gl = gl;
200
+ this._location = locations[0];
201
+ }
202
+
203
+ set() {
204
+ const value = this.value;
205
+ const length = value.length;
206
+ const arraybuffer = this._value;
207
+ let changed = false;
208
+ let j = 0;
209
+
210
+ for (let i = 0; i < length; ++i) {
211
+ const v = value[i];
212
+
213
+ if (defined(v.red)) {
214
+ if (
215
+ v.red !== arraybuffer[j] ||
216
+ v.green !== arraybuffer[j + 1] ||
217
+ v.blue !== arraybuffer[j + 2]
218
+ ) {
219
+ arraybuffer[j] = v.red;
220
+ arraybuffer[j + 1] = v.green;
221
+ arraybuffer[j + 2] = v.blue;
222
+ changed = true;
223
+ }
224
+ } else if (defined(v.x)) {
225
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
226
+ if (!Cartesian3.equalsArray(v, arraybuffer, j)) {
227
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
228
+ Cartesian3.pack(v, arraybuffer, j);
229
+ changed = true;
230
+ }
231
+ } else {
232
+ //>>includeStart('debug', pragmas.debug);
233
+ throw new DeveloperError("Invalid vec3 value.");
234
+ //>>includeEnd('debug');
201
235
  }
202
- } else {
203
- //>>includeStart('debug', pragmas.debug);
204
- throw new DeveloperError("Invalid vec3 value.");
205
- //>>includeEnd('debug');
206
- }
207
236
 
208
- j += 3;
209
- }
237
+ j += 3;
238
+ }
210
239
 
211
- if (changed) {
212
- this._gl.uniform3fv(this._location, arraybuffer);
240
+ if (changed) {
241
+ this._gl.uniform3fv(this._location, arraybuffer);
242
+ }
213
243
  }
214
- };
244
+ }
215
245
 
216
246
  ///////////////////////////////////////////////////////////////////////////
217
247
 
218
248
  /**
219
249
  * @private
220
- * @constructor
221
250
  */
222
- function UniformArrayFloatVec4(gl, activeUniform, uniformName, locations) {
223
- const length = locations.length;
224
-
251
+ class UniformArrayFloatVec4 {
225
252
  /**
226
- * @type {string}
227
- * @readonly
253
+ * @param {WebGL2RenderingContext} gl
254
+ * @param {WebGLActiveInfo} activeUniform
255
+ * @param {string} uniformName
256
+ * @param {WebGLUniformLocation[]} locations
228
257
  */
229
- this.name = uniformName;
258
+ constructor(gl, activeUniform, uniformName, locations) {
259
+ const length = locations.length;
230
260
 
231
- this.value = new Array(length);
232
- this._value = new Float32Array(length * 4);
261
+ /**
262
+ * @type {string}
263
+ * @readonly
264
+ */
265
+ this.name = uniformName;
233
266
 
234
- this._gl = gl;
235
- this._location = locations[0];
236
- }
267
+ this.value = new Array(length);
268
+ this._value = new Float32Array(length * 4);
237
269
 
238
- UniformArrayFloatVec4.prototype.set = function () {
239
- // PERFORMANCE_IDEA: if it is a common case that only a few elements
240
- // in a uniform array change, we could use heuristics to determine
241
- // when it is better to call uniform4f for each element that changed
242
- // vs. call uniform4fv once to set the entire array. This applies
243
- // to all uniform array types, not just vec4. We might not care
244
- // once we have uniform buffers since that will be the fast path.
245
-
246
- // PERFORMANCE_IDEA: Micro-optimization (I bet it works though):
247
- // As soon as changed is true, break into a separate loop that
248
- // does the copy without the equals check.
249
-
250
- const value = this.value;
251
- const length = value.length;
252
- const arraybuffer = this._value;
253
- let changed = false;
254
- let j = 0;
255
-
256
- for (let i = 0; i < length; ++i) {
257
- const v = value[i];
258
-
259
- if (defined(v.red)) {
260
- if (!Color.equalsArray(v, arraybuffer, j)) {
261
- Color.pack(v, arraybuffer, j);
262
- changed = true;
263
- }
264
- } else if (defined(v.x)) {
265
- if (!Cartesian4.equalsArray(v, arraybuffer, j)) {
266
- Cartesian4.pack(v, arraybuffer, j);
267
- changed = true;
270
+ this._gl = gl;
271
+ this._location = locations[0];
272
+ }
273
+
274
+ set() {
275
+ // PERFORMANCE_IDEA: if it is a common case that only a few elements
276
+ // in a uniform array change, we could use heuristics to determine
277
+ // when it is better to call uniform4f for each element that changed
278
+ // vs. call uniform4fv once to set the entire array. This applies
279
+ // to all uniform array types, not just vec4. We might not care
280
+ // once we have uniform buffers since that will be the fast path.
281
+
282
+ // PERFORMANCE_IDEA: Micro-optimization (I bet it works though):
283
+ // As soon as changed is true, break into a separate loop that
284
+ // does the copy without the equals check.
285
+
286
+ const value = this.value;
287
+ const length = value.length;
288
+ const arraybuffer = this._value;
289
+ let changed = false;
290
+ let j = 0;
291
+
292
+ for (let i = 0; i < length; ++i) {
293
+ const v = value[i];
294
+
295
+ if (defined(v.red)) {
296
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
297
+ if (!Color.equalsArray(v, arraybuffer, j)) {
298
+ Color.pack(v, arraybuffer, j);
299
+ changed = true;
300
+ }
301
+ } else if (defined(v.x)) {
302
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
303
+ if (!Cartesian4.equalsArray(v, arraybuffer, j)) {
304
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
305
+ Cartesian4.pack(v, arraybuffer, j);
306
+ changed = true;
307
+ }
308
+ } else {
309
+ //>>includeStart('debug', pragmas.debug);
310
+ throw new DeveloperError("Invalid vec4 value.");
311
+ //>>includeEnd('debug');
268
312
  }
269
- } else {
270
- //>>includeStart('debug', pragmas.debug);
271
- throw new DeveloperError("Invalid vec4 value.");
272
- //>>includeEnd('debug');
273
- }
274
313
 
275
- j += 4;
276
- }
314
+ j += 4;
315
+ }
277
316
 
278
- if (changed) {
279
- this._gl.uniform4fv(this._location, arraybuffer);
317
+ if (changed) {
318
+ this._gl.uniform4fv(this._location, arraybuffer);
319
+ }
280
320
  }
281
- };
321
+ }
282
322
 
283
323
  ///////////////////////////////////////////////////////////////////////////
284
324
 
285
325
  /**
286
326
  * @private
287
- * @constructor
288
327
  */
289
- function UniformArraySampler(gl, activeUniform, uniformName, locations) {
290
- const length = locations.length;
291
-
328
+ class UniformArraySampler {
292
329
  /**
293
- * @type {string}
294
- * @readonly
330
+ * @param {WebGL2RenderingContext} gl
331
+ * @param {WebGLActiveInfo} activeUniform
332
+ * @param {string} uniformName
333
+ * @param {WebGLUniformLocation[]} locations
295
334
  */
296
- this.name = uniformName;
335
+ constructor(gl, activeUniform, uniformName, locations) {
336
+ const length = locations.length;
297
337
 
298
- this.value = new Array(length);
299
- this._value = new Float32Array(length);
338
+ /**
339
+ * @type {string}
340
+ * @readonly
341
+ */
342
+ this.name = uniformName;
300
343
 
301
- this._gl = gl;
302
- this._locations = locations;
344
+ this.value = new Array(length);
345
+ this._value = new Float32Array(length);
303
346
 
304
- this.textureUnitIndex = undefined;
305
- }
306
-
307
- UniformArraySampler.prototype.set = function () {
308
- const gl = this._gl;
309
- const textureUnitIndex = gl.TEXTURE0 + this.textureUnitIndex;
347
+ this._gl = gl;
348
+ this._locations = locations;
310
349
 
311
- const value = this.value;
312
- const length = value.length;
313
- for (let i = 0; i < length; ++i) {
314
- const v = value[i];
315
- gl.activeTexture(textureUnitIndex + i);
316
- gl.bindTexture(v._target, v._texture);
350
+ this.textureUnitIndex = undefined;
317
351
  }
318
- };
319
352
 
320
- UniformArraySampler.prototype._setSampler = function (textureUnitIndex) {
321
- this.textureUnitIndex = textureUnitIndex;
353
+ set() {
354
+ const gl = this._gl;
355
+ const textureUnitIndex = gl.TEXTURE0 + this.textureUnitIndex;
322
356
 
323
- const locations = this._locations;
324
- const length = locations.length;
325
- for (let i = 0; i < length; ++i) {
326
- const index = textureUnitIndex + i;
327
- this._gl.uniform1i(locations[i], index);
357
+ const value = this.value;
358
+ const length = value.length;
359
+ for (let i = 0; i < length; ++i) {
360
+ const v = value[i];
361
+ gl.activeTexture(textureUnitIndex + i);
362
+ gl.bindTexture(v._target, v._texture);
363
+ }
328
364
  }
329
365
 
330
- return textureUnitIndex + length;
331
- };
366
+ /**
367
+ * @param {number} textureUnitIndex
368
+ * @returns {number}
369
+ */
370
+ _setSampler(textureUnitIndex) {
371
+ this.textureUnitIndex = textureUnitIndex;
372
+
373
+ const locations = this._locations;
374
+ const length = locations.length;
375
+ for (let i = 0; i < length; ++i) {
376
+ const index = textureUnitIndex + i;
377
+ this._gl.uniform1i(locations[i], index);
378
+ }
379
+
380
+ return textureUnitIndex + length;
381
+ }
382
+ }
332
383
 
333
384
  ///////////////////////////////////////////////////////////////////////////
334
385
 
335
386
  /**
336
387
  * @private
337
- * @constructor
338
388
  */
339
- function UniformArrayInt(gl, activeUniform, uniformName, locations) {
340
- const length = locations.length;
341
-
389
+ class UniformArrayInt {
342
390
  /**
343
- * @type {string}
344
- * @readonly
391
+ * @param {WebGL2RenderingContext} gl
392
+ * @param {WebGLActiveInfo} activeUniform
393
+ * @param {string} uniformName
394
+ * @param {WebGLUniformLocation[]} locations
345
395
  */
346
- this.name = uniformName;
396
+ constructor(gl, activeUniform, uniformName, locations) {
397
+ const length = locations.length;
347
398
 
348
- this.value = new Array(length);
349
- this._value = new Int32Array(length);
399
+ /**
400
+ * @type {string}
401
+ * @readonly
402
+ */
403
+ this.name = uniformName;
350
404
 
351
- this._gl = gl;
352
- this._location = locations[0];
353
- }
405
+ this.value = new Array(length);
406
+ this._value = new Int32Array(length);
354
407
 
355
- UniformArrayInt.prototype.set = function () {
356
- const value = this.value;
357
- const length = value.length;
358
- const arraybuffer = this._value;
359
- let changed = false;
408
+ this._gl = gl;
409
+ this._location = locations[0];
410
+ }
360
411
 
361
- for (let i = 0; i < length; ++i) {
362
- const v = value[i];
412
+ set() {
413
+ const value = this.value;
414
+ const length = value.length;
415
+ const arraybuffer = this._value;
416
+ let changed = false;
363
417
 
364
- if (v !== arraybuffer[i]) {
365
- arraybuffer[i] = v;
366
- changed = true;
418
+ for (let i = 0; i < length; ++i) {
419
+ const v = value[i];
420
+
421
+ if (v !== arraybuffer[i]) {
422
+ arraybuffer[i] = v;
423
+ changed = true;
424
+ }
367
425
  }
368
- }
369
426
 
370
- if (changed) {
371
- this._gl.uniform1iv(this._location, arraybuffer);
427
+ if (changed) {
428
+ this._gl.uniform1iv(this._location, arraybuffer);
429
+ }
372
430
  }
373
- };
431
+ }
374
432
 
375
433
  ///////////////////////////////////////////////////////////////////////////
376
434
 
377
435
  /**
378
436
  * @private
379
- * @constructor
380
437
  */
381
- function UniformArrayIntVec2(gl, activeUniform, uniformName, locations) {
382
- const length = locations.length;
383
-
438
+ class UniformArrayIntVec2 {
384
439
  /**
385
- * @type {string}
386
- * @readonly
440
+ * @param {WebGL2RenderingContext} gl
441
+ * @param {WebGLActiveInfo} activeUniform
442
+ * @param {string} uniformName
443
+ * @param {WebGLUniformLocation[]} locations
387
444
  */
388
- this.name = uniformName;
445
+ constructor(gl, activeUniform, uniformName, locations) {
446
+ const length = locations.length;
389
447
 
390
- this.value = new Array(length);
391
- this._value = new Int32Array(length * 2);
448
+ /**
449
+ * @type {string}
450
+ * @readonly
451
+ */
452
+ this.name = uniformName;
392
453
 
393
- this._gl = gl;
394
- this._location = locations[0];
395
- }
454
+ this.value = new Array(length);
455
+ this._value = new Int32Array(length * 2);
456
+
457
+ this._gl = gl;
458
+ this._location = locations[0];
459
+ }
396
460
 
397
- UniformArrayIntVec2.prototype.set = function () {
398
- const value = this.value;
399
- const length = value.length;
400
- const arraybuffer = this._value;
401
- let changed = false;
402
- let j = 0;
461
+ set() {
462
+ const value = this.value;
463
+ const length = value.length;
464
+ const arraybuffer = this._value;
465
+ let changed = false;
466
+ let j = 0;
403
467
 
404
- for (let i = 0; i < length; ++i) {
405
- const v = value[i];
468
+ for (let i = 0; i < length; ++i) {
469
+ const v = value[i];
406
470
 
407
- if (!Cartesian2.equalsArray(v, arraybuffer, j)) {
408
- Cartesian2.pack(v, arraybuffer, j);
409
- changed = true;
471
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
472
+ if (!Cartesian2.equalsArray(v, arraybuffer, j)) {
473
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
474
+ Cartesian2.pack(v, arraybuffer, j);
475
+ changed = true;
476
+ }
477
+ j += 2;
410
478
  }
411
- j += 2;
412
- }
413
479
 
414
- if (changed) {
415
- this._gl.uniform2iv(this._location, arraybuffer);
480
+ if (changed) {
481
+ this._gl.uniform2iv(this._location, arraybuffer);
482
+ }
416
483
  }
417
- };
484
+ }
418
485
 
419
486
  ///////////////////////////////////////////////////////////////////////////
420
487
 
421
488
  /**
422
489
  * @private
423
- * @constructor
424
490
  */
425
- function UniformArrayIntVec3(gl, activeUniform, uniformName, locations) {
426
- const length = locations.length;
427
-
491
+ class UniformArrayIntVec3 {
428
492
  /**
429
- * @type {string}
430
- * @readonly
493
+ * @param {WebGL2RenderingContext} gl
494
+ * @param {WebGLActiveInfo} activeUniform
495
+ * @param {string} uniformName
496
+ * @param {WebGLUniformLocation[]} locations
431
497
  */
432
- this.name = uniformName;
498
+ constructor(gl, activeUniform, uniformName, locations) {
499
+ const length = locations.length;
433
500
 
434
- this.value = new Array(length);
435
- this._value = new Int32Array(length * 3);
501
+ /**
502
+ * @type {string}
503
+ * @readonly
504
+ */
505
+ this.name = uniformName;
436
506
 
437
- this._gl = gl;
438
- this._location = locations[0];
439
- }
507
+ this.value = new Array(length);
508
+ this._value = new Int32Array(length * 3);
509
+
510
+ this._gl = gl;
511
+ this._location = locations[0];
512
+ }
440
513
 
441
- UniformArrayIntVec3.prototype.set = function () {
442
- const value = this.value;
443
- const length = value.length;
444
- const arraybuffer = this._value;
445
- let changed = false;
446
- let j = 0;
514
+ set() {
515
+ const value = this.value;
516
+ const length = value.length;
517
+ const arraybuffer = this._value;
518
+ let changed = false;
519
+ let j = 0;
447
520
 
448
- for (let i = 0; i < length; ++i) {
449
- const v = value[i];
521
+ for (let i = 0; i < length; ++i) {
522
+ const v = value[i];
450
523
 
451
- if (!Cartesian3.equalsArray(v, arraybuffer, j)) {
452
- Cartesian3.pack(v, arraybuffer, j);
453
- changed = true;
524
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
525
+ if (!Cartesian3.equalsArray(v, arraybuffer, j)) {
526
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
527
+ Cartesian3.pack(v, arraybuffer, j);
528
+ changed = true;
529
+ }
530
+ j += 3;
454
531
  }
455
- j += 3;
456
- }
457
532
 
458
- if (changed) {
459
- this._gl.uniform3iv(this._location, arraybuffer);
533
+ if (changed) {
534
+ this._gl.uniform3iv(this._location, arraybuffer);
535
+ }
460
536
  }
461
- };
537
+ }
462
538
 
463
539
  ///////////////////////////////////////////////////////////////////////////
464
540
 
465
541
  /**
466
542
  * @private
467
- * @constructor
468
543
  */
469
- function UniformArrayIntVec4(gl, activeUniform, uniformName, locations) {
470
- const length = locations.length;
471
-
544
+ class UniformArrayIntVec4 {
472
545
  /**
473
- * @type {string}
474
- * @readonly
546
+ * @param {WebGL2RenderingContext} gl
547
+ * @param {WebGLActiveInfo} activeUniform
548
+ * @param {string} uniformName
549
+ * @param {WebGLUniformLocation[]} locations
475
550
  */
476
- this.name = uniformName;
551
+ constructor(gl, activeUniform, uniformName, locations) {
552
+ const length = locations.length;
477
553
 
478
- this.value = new Array(length);
479
- this._value = new Int32Array(length * 4);
554
+ /**
555
+ * @type {string}
556
+ * @readonly
557
+ */
558
+ this.name = uniformName;
480
559
 
481
- this._gl = gl;
482
- this._location = locations[0];
483
- }
560
+ this.value = new Array(length);
561
+ this._value = new Int32Array(length * 4);
562
+
563
+ this._gl = gl;
564
+ this._location = locations[0];
565
+ }
484
566
 
485
- UniformArrayIntVec4.prototype.set = function () {
486
- const value = this.value;
487
- const length = value.length;
488
- const arraybuffer = this._value;
489
- let changed = false;
490
- let j = 0;
567
+ set() {
568
+ const value = this.value;
569
+ const length = value.length;
570
+ const arraybuffer = this._value;
571
+ let changed = false;
572
+ let j = 0;
491
573
 
492
- for (let i = 0; i < length; ++i) {
493
- const v = value[i];
574
+ for (let i = 0; i < length; ++i) {
575
+ const v = value[i];
494
576
 
495
- if (!Cartesian4.equalsArray(v, arraybuffer, j)) {
496
- Cartesian4.pack(v, arraybuffer, j);
497
- changed = true;
577
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
578
+ if (!Cartesian4.equalsArray(v, arraybuffer, j)) {
579
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
580
+ Cartesian4.pack(v, arraybuffer, j);
581
+ changed = true;
582
+ }
583
+ j += 4;
498
584
  }
499
- j += 4;
500
- }
501
585
 
502
- if (changed) {
503
- this._gl.uniform4iv(this._location, arraybuffer);
586
+ if (changed) {
587
+ this._gl.uniform4iv(this._location, arraybuffer);
588
+ }
504
589
  }
505
- };
590
+ }
506
591
 
507
592
  ///////////////////////////////////////////////////////////////////////////
508
593
 
509
594
  /**
510
595
  * @private
511
- * @constructor
512
596
  */
513
- function UniformArrayMat2(gl, activeUniform, uniformName, locations) {
514
- const length = locations.length;
515
-
597
+ class UniformArrayMat2 {
516
598
  /**
517
- * @type {string}
518
- * @readonly
599
+ * @param {WebGL2RenderingContext} gl
600
+ * @param {WebGLActiveInfo} activeUniform
601
+ * @param {string} uniformName
602
+ * @param {WebGLUniformLocation[]} locations
519
603
  */
520
- this.name = uniformName;
604
+ constructor(gl, activeUniform, uniformName, locations) {
605
+ const length = locations.length;
521
606
 
522
- this.value = new Array(length);
523
- this._value = new Float32Array(length * 4);
607
+ /**
608
+ * @type {string}
609
+ * @readonly
610
+ */
611
+ this.name = uniformName;
524
612
 
525
- this._gl = gl;
526
- this._location = locations[0];
527
- }
613
+ this.value = new Array(length);
614
+ this._value = new Float32Array(length * 4);
615
+
616
+ this._gl = gl;
617
+ this._location = locations[0];
618
+ }
528
619
 
529
- UniformArrayMat2.prototype.set = function () {
530
- const value = this.value;
531
- const length = value.length;
532
- const arraybuffer = this._value;
533
- let changed = false;
534
- let j = 0;
620
+ set() {
621
+ const value = this.value;
622
+ const length = value.length;
623
+ const arraybuffer = this._value;
624
+ let changed = false;
625
+ let j = 0;
535
626
 
536
- for (let i = 0; i < length; ++i) {
537
- const v = value[i];
627
+ for (let i = 0; i < length; ++i) {
628
+ const v = value[i];
538
629
 
539
- if (!Matrix2.equalsArray(v, arraybuffer, j)) {
540
- Matrix2.pack(v, arraybuffer, j);
541
- changed = true;
630
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
631
+ if (!Matrix2.equalsArray(v, arraybuffer, j)) {
632
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
633
+ Matrix2.pack(v, arraybuffer, j);
634
+ changed = true;
635
+ }
636
+ j += 4;
542
637
  }
543
- j += 4;
544
- }
545
638
 
546
- if (changed) {
547
- this._gl.uniformMatrix2fv(this._location, false, arraybuffer);
639
+ if (changed) {
640
+ this._gl.uniformMatrix2fv(this._location, false, arraybuffer);
641
+ }
548
642
  }
549
- };
643
+ }
550
644
 
551
645
  ///////////////////////////////////////////////////////////////////////////
552
646
 
553
647
  /**
554
648
  * @private
555
- * @constructor
556
649
  */
557
- function UniformArrayMat3(gl, activeUniform, uniformName, locations) {
558
- const length = locations.length;
559
-
650
+ class UniformArrayMat3 {
560
651
  /**
561
- * @type {string}
562
- * @readonly
652
+ * @param {WebGL2RenderingContext} gl
653
+ * @param {WebGLActiveInfo} activeUniform
654
+ * @param {string} uniformName
655
+ * @param {WebGLUniformLocation[]} locations
563
656
  */
564
- this.name = uniformName;
657
+ constructor(gl, activeUniform, uniformName, locations) {
658
+ const length = locations.length;
565
659
 
566
- this.value = new Array(length);
567
- this._value = new Float32Array(length * 9);
660
+ /**
661
+ * @type {string}
662
+ * @readonly
663
+ */
664
+ this.name = uniformName;
568
665
 
569
- this._gl = gl;
570
- this._location = locations[0];
571
- }
666
+ this.value = new Array(length);
667
+ this._value = new Float32Array(length * 9);
668
+
669
+ this._gl = gl;
670
+ this._location = locations[0];
671
+ }
572
672
 
573
- UniformArrayMat3.prototype.set = function () {
574
- const value = this.value;
575
- const length = value.length;
576
- const arraybuffer = this._value;
577
- let changed = false;
578
- let j = 0;
673
+ set() {
674
+ const value = this.value;
675
+ const length = value.length;
676
+ const arraybuffer = this._value;
677
+ let changed = false;
678
+ let j = 0;
579
679
 
580
- for (let i = 0; i < length; ++i) {
581
- const v = value[i];
680
+ for (let i = 0; i < length; ++i) {
681
+ const v = value[i];
582
682
 
583
- if (!Matrix3.equalsArray(v, arraybuffer, j)) {
584
- Matrix3.pack(v, arraybuffer, j);
585
- changed = true;
683
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
684
+ if (!Matrix3.equalsArray(v, arraybuffer, j)) {
685
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
686
+ Matrix3.pack(v, arraybuffer, j);
687
+ changed = true;
688
+ }
689
+ j += 9;
586
690
  }
587
- j += 9;
588
- }
589
691
 
590
- if (changed) {
591
- this._gl.uniformMatrix3fv(this._location, false, arraybuffer);
692
+ if (changed) {
693
+ this._gl.uniformMatrix3fv(this._location, false, arraybuffer);
694
+ }
592
695
  }
593
- };
696
+ }
594
697
 
595
698
  ///////////////////////////////////////////////////////////////////////////
596
699
 
597
700
  /**
598
701
  * @private
599
- * @constructor
600
702
  */
601
- function UniformArrayMat4(gl, activeUniform, uniformName, locations) {
602
- const length = locations.length;
603
-
703
+ class UniformArrayMat4 {
604
704
  /**
605
- * @type {string}
606
- * @readonly
705
+ * @param {WebGL2RenderingContext} gl
706
+ * @param {WebGLActiveInfo} activeUniform
707
+ * @param {string} uniformName
708
+ * @param {WebGLUniformLocation[]} locations
607
709
  */
608
- this.name = uniformName;
710
+ constructor(gl, activeUniform, uniformName, locations) {
711
+ const length = locations.length;
609
712
 
610
- this.value = new Array(length);
611
- this._value = new Float32Array(length * 16);
713
+ /**
714
+ * @type {string}
715
+ * @readonly
716
+ */
717
+ this.name = uniformName;
612
718
 
613
- this._gl = gl;
614
- this._location = locations[0];
615
- }
719
+ this.value = new Array(length);
720
+ this._value = new Float32Array(length * 16);
616
721
 
617
- UniformArrayMat4.prototype.set = function () {
618
- const value = this.value;
619
- const length = value.length;
620
- const arraybuffer = this._value;
621
- let changed = false;
622
- let j = 0;
722
+ this._gl = gl;
723
+ this._location = locations[0];
724
+ }
623
725
 
624
- for (let i = 0; i < length; ++i) {
625
- const v = value[i];
726
+ set() {
727
+ const value = this.value;
728
+ const length = value.length;
729
+ const arraybuffer = this._value;
730
+ let changed = false;
731
+ let j = 0;
626
732
 
627
- if (!Matrix4.equalsArray(v, arraybuffer, j)) {
628
- Matrix4.pack(v, arraybuffer, j);
629
- changed = true;
733
+ for (let i = 0; i < length; ++i) {
734
+ const v = value[i];
735
+
736
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
737
+ if (!Matrix4.equalsArray(v, arraybuffer, j)) {
738
+ // @ts-expect-error https://github.com/CesiumGS/cesium/pull/13302
739
+ Matrix4.pack(v, arraybuffer, j);
740
+ changed = true;
741
+ }
742
+ j += 16;
630
743
  }
631
- j += 16;
632
- }
633
744
 
634
- if (changed) {
635
- this._gl.uniformMatrix4fv(this._location, false, arraybuffer);
745
+ if (changed) {
746
+ this._gl.uniformMatrix4fv(this._location, false, arraybuffer);
747
+ }
636
748
  }
637
- };
749
+ }
750
+
638
751
  export default createUniformArray;