@cesium/engine 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (807) hide show
  1. package/Build/Workers/{ArcType-ce2e50ab.js → ArcType-2d9abbbc.js} +4 -4
  2. package/Build/Workers/{AttributeCompression-b646d393.js → AttributeCompression-8a5a065e.js} +24 -24
  3. package/Build/Workers/{AxisAlignedBoundingBox-47525601.js → AxisAlignedBoundingBox-a6f9f0e5.js} +3 -3
  4. package/Build/Workers/{BoundingRectangle-93b263ac.js → BoundingRectangle-b0a68595.js} +18 -18
  5. package/Build/Workers/{BoxGeometry-8c4b4125.js → BoxGeometry-baedd794.js} +9 -9
  6. package/Build/Workers/{Check-666ab1a0.js → Check-6ede7e26.js} +22 -22
  7. package/Build/Workers/{Color-52c60ed7.js → Color-f85df1be.js} +59 -59
  8. package/Build/Workers/{ComponentDatatype-f7b11d02.js → ComponentDatatype-cf1fa08e.js} +16 -16
  9. package/Build/Workers/{CoplanarPolygonGeometryLibrary-33c4c1f8.js → CoplanarPolygonGeometryLibrary-30516950.js} +1 -1
  10. package/Build/Workers/{CorridorGeometryLibrary-5039cd8e.js → CorridorGeometryLibrary-5d5d3b3a.js} +1 -1
  11. package/Build/Workers/{CylinderGeometry-3ac44974.js → CylinderGeometry-d899ae26.js} +12 -12
  12. package/Build/Workers/{CylinderGeometryLibrary-372c07d8.js → CylinderGeometryLibrary-135b0858.js} +1 -1
  13. package/Build/Workers/{EllipseGeometry-a9c9b3be.js → EllipseGeometry-a49f8449.js} +20 -20
  14. package/Build/Workers/{EllipseGeometryLibrary-855d4681.js → EllipseGeometryLibrary-cba7edde.js} +1 -1
  15. package/Build/Workers/{EllipseOutlineGeometry-017a5929.js → EllipseOutlineGeometry-8095c8cb.js} +15 -15
  16. package/Build/Workers/{EllipsoidGeodesic-98c62a56.js → EllipsoidGeodesic-dcff5cbd.js} +6 -6
  17. package/Build/Workers/{EllipsoidGeometry-826e7bce.js → EllipsoidGeometry-ed93f571.js} +14 -14
  18. package/Build/Workers/{EllipsoidOutlineGeometry-784dcdb5.js → EllipsoidOutlineGeometry-e4854854.js} +15 -15
  19. package/Build/Workers/{EllipsoidRhumbLine-19756602.js → EllipsoidRhumbLine-b672d507.js} +9 -9
  20. package/Build/Workers/{EllipsoidTangentPlane-ed9443a1.js → EllipsoidTangentPlane-7ae1aa9a.js} +1 -1
  21. package/Build/Workers/{EncodedCartesian3-81f70735.js → EncodedCartesian3-e8bbca36.js} +6 -6
  22. package/Build/Workers/{FrustumGeometry-9f1ee4d8.js → FrustumGeometry-b62db3e3.js} +108 -108
  23. package/Build/Workers/{GeometryAttribute-334718f8.js → GeometryAttribute-780af4fa.js} +20 -20
  24. package/Build/Workers/{GeometryAttributes-f06a2792.js → GeometryAttributes-ad136444.js} +1 -1
  25. package/Build/Workers/{GeometryInstance-451dc1cd.js → GeometryInstance-3fb607b7.js} +6 -6
  26. package/Build/Workers/{GeometryPipeline-8fb0db69.js → GeometryPipeline-36b61c99.js} +22 -22
  27. package/Build/Workers/{IndexDatatype-a55ceaa1.js → IndexDatatype-b8f3e09d.js} +13 -13
  28. package/Build/Workers/{IntersectionTests-27d49265.js → IntersectionTests-e889fcf0.js} +37 -37
  29. package/Build/Workers/{Math-2dbd6b93.js → Math-dad82b4d.js} +137 -137
  30. package/Build/Workers/{Matrix2-13178034.js → Matrix2-1e403d0e.js} +256 -256
  31. package/Build/Workers/{Matrix3-315394f6.js → Matrix3-fa806b97.js} +150 -150
  32. package/Build/Workers/{OrientedBoundingBox-79ee7cbb.js → OrientedBoundingBox-43478ac8.js} +15 -15
  33. package/Build/Workers/{Plane-900aa728.js → Plane-c27e1ac6.js} +5 -5
  34. package/Build/Workers/{PolygonGeometryLibrary-6b5a29e9.js → PolygonGeometryLibrary-38a98276.js} +6 -6
  35. package/Build/Workers/{PolygonPipeline-21668b3f.js → PolygonPipeline-d31ff61c.js} +14 -14
  36. package/Build/Workers/{PolylinePipeline-5e2e1b21.js → PolylinePipeline-30e4cec9.js} +16 -16
  37. package/Build/Workers/{PolylineVolumeGeometryLibrary-97f0b94e.js → PolylineVolumeGeometryLibrary-90551d26.js} +7 -7
  38. package/Build/Workers/{PrimitivePipeline-5640850a.js → PrimitivePipeline-558d9cb0.js} +6 -6
  39. package/Build/Workers/{RectangleGeometryLibrary-d5457f7b.js → RectangleGeometryLibrary-815c68df.js} +1 -1
  40. package/Build/Workers/{RuntimeError-06c93819.js → RuntimeError-ef395448.js} +5 -5
  41. package/Build/Workers/{TerrainEncoding-bfdf2021.js → TerrainEncoding-341ead52.js} +30 -30
  42. package/Build/Workers/{Transforms-a05e5e6e.js → Transforms-9e9df299.js} +525 -525
  43. package/Build/Workers/{VertexFormat-6b480673.js → VertexFormat-030f11ff.js} +14 -14
  44. package/Build/Workers/{WallGeometryLibrary-6db0ebb6.js → WallGeometryLibrary-ccf90976.js} +1 -1
  45. package/Build/Workers/{WebGLConstants-a8cc3e8c.js → WebGLConstants-0b1ce7ba.js} +1 -1
  46. package/Build/Workers/{WebMercatorProjection-13a90d41.js → WebMercatorProjection-76a3fcc0.js} +6 -6
  47. package/Build/Workers/{arrayRemoveDuplicates-c2038105.js → arrayRemoveDuplicates-fac118a8.js} +5 -5
  48. package/Build/Workers/cesiumWorkerBootstrapper.js +5 -5
  49. package/Build/Workers/{combine-ca22a614.js → combine-d9581036.js} +5 -5
  50. package/Build/Workers/combineGeometry.js +1 -1
  51. package/Build/Workers/createBoxGeometry.js +1 -1
  52. package/Build/Workers/createBoxOutlineGeometry.js +9 -9
  53. package/Build/Workers/createCircleGeometry.js +13 -13
  54. package/Build/Workers/createCircleOutlineGeometry.js +13 -13
  55. package/Build/Workers/createCoplanarPolygonGeometry.js +11 -11
  56. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +9 -9
  57. package/Build/Workers/createCorridorGeometry.js +14 -14
  58. package/Build/Workers/createCorridorOutlineGeometry.js +12 -12
  59. package/Build/Workers/createCylinderGeometry.js +1 -1
  60. package/Build/Workers/createCylinderOutlineGeometry.js +13 -13
  61. package/Build/Workers/createEllipseGeometry.js +1 -1
  62. package/Build/Workers/createEllipseOutlineGeometry.js +1 -1
  63. package/Build/Workers/createEllipsoidGeometry.js +1 -1
  64. package/Build/Workers/createEllipsoidOutlineGeometry.js +1 -1
  65. package/Build/Workers/createFrustumGeometry.js +1 -1
  66. package/Build/Workers/createFrustumOutlineGeometry.js +8 -8
  67. package/Build/Workers/createGeometry.js +1 -1
  68. package/Build/Workers/createGroundPolylineGeometry.js +33 -33
  69. package/Build/Workers/createPlaneGeometry.js +8 -8
  70. package/Build/Workers/createPlaneOutlineGeometry.js +6 -6
  71. package/Build/Workers/createPolygonGeometry.js +25 -25
  72. package/Build/Workers/createPolygonOutlineGeometry.js +17 -17
  73. package/Build/Workers/createPolylineGeometry.js +11 -11
  74. package/Build/Workers/createPolylineVolumeGeometry.js +9 -9
  75. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +9 -9
  76. package/Build/Workers/createRectangleGeometry.js +16 -16
  77. package/Build/Workers/createRectangleOutlineGeometry.js +12 -12
  78. package/Build/Workers/createSimplePolylineGeometry.js +10 -10
  79. package/Build/Workers/createSphereGeometry.js +11 -11
  80. package/Build/Workers/createSphereOutlineGeometry.js +12 -12
  81. package/Build/Workers/createTaskProcessorWorker.js +2 -2
  82. package/Build/Workers/createVectorTileClampedPolylines.js +1 -1
  83. package/Build/Workers/createVectorTileGeometries.js +8 -8
  84. package/Build/Workers/createVectorTilePoints.js +1 -1
  85. package/Build/Workers/createVectorTilePolygons.js +1 -1
  86. package/Build/Workers/createVectorTilePolylines.js +1 -1
  87. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  88. package/Build/Workers/createVerticesFromHeightmap.js +23 -21
  89. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +24 -24
  90. package/Build/Workers/createWallGeometry.js +14 -14
  91. package/Build/Workers/createWallOutlineGeometry.js +14 -14
  92. package/Build/Workers/decodeDraco.js +1 -1
  93. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +15 -15
  94. package/Build/Workers/decodeI3S.js +1 -1
  95. package/Build/Workers/{defaultValue-0a909f67.js → defaultValue-fe22d8c0.js} +2 -2
  96. package/Build/Workers/package.js +1 -1
  97. package/Build/Workers/transcodeKTX2.js +26 -26
  98. package/Build/Workers/transferTypedArrayTest.js +1 -1
  99. package/Build/Workers/upsampleQuantizedTerrainMesh.js +24 -24
  100. package/Source/Core/ApproximateTerrainHeights.js +3 -3
  101. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +20 -20
  102. package/Source/Core/ArcType.js +4 -4
  103. package/Source/Core/ArticulationStageType.js +1 -1
  104. package/Source/Core/AssociativeArray.js +7 -7
  105. package/Source/Core/AttributeCompression.js +12 -12
  106. package/Source/Core/AxisAlignedBoundingBox.js +2 -2
  107. package/Source/Core/BingMapsGeocoderService.js +6 -6
  108. package/Source/Core/BoundingRectangle.js +17 -17
  109. package/Source/Core/BoundingSphere.js +25 -25
  110. package/Source/Core/BoxGeometry.js +8 -8
  111. package/Source/Core/BoxOutlineGeometry.js +8 -8
  112. package/Source/Core/Cartesian2.js +38 -38
  113. package/Source/Core/Cartesian3.js +50 -50
  114. package/Source/Core/Cartesian4.js +44 -44
  115. package/Source/Core/Cartographic.js +19 -19
  116. package/Source/Core/CartographicGeocoderService.js +1 -1
  117. package/Source/Core/CatmullRomSpline.js +10 -10
  118. package/Source/Core/CesiumTerrainProvider.js +33 -33
  119. package/Source/Core/Check.js +17 -17
  120. package/Source/Core/CircleGeometry.js +12 -12
  121. package/Source/Core/CircleOutlineGeometry.js +12 -12
  122. package/Source/Core/Clock.js +7 -7
  123. package/Source/Core/ClockRange.js +4 -4
  124. package/Source/Core/ClockStep.js +4 -4
  125. package/Source/Core/Color.js +58 -58
  126. package/Source/Core/ColorGeometryInstanceAttribute.js +7 -7
  127. package/Source/Core/ComponentDatatype.js +15 -15
  128. package/Source/Core/CompressedTextureBuffer.js +7 -7
  129. package/Source/Core/ConstantSpline.js +9 -9
  130. package/Source/Core/CoplanarPolygonGeometry.js +10 -10
  131. package/Source/Core/CoplanarPolygonOutlineGeometry.js +8 -8
  132. package/Source/Core/CornerType.js +4 -4
  133. package/Source/Core/CorridorGeometry.js +13 -13
  134. package/Source/Core/CorridorOutlineGeometry.js +11 -11
  135. package/Source/Core/Credit.js +7 -7
  136. package/Source/Core/CubicRealPolynomial.js +10 -10
  137. package/Source/Core/CullingVolume.js +7 -7
  138. package/Source/Core/CustomHeightmapTerrainProvider.js +28 -28
  139. package/Source/Core/CylinderGeometry.js +11 -11
  140. package/Source/Core/CylinderOutlineGeometry.js +12 -12
  141. package/Source/Core/DefaultProxy.js +3 -3
  142. package/Source/Core/DeveloperError.js +4 -4
  143. package/Source/Core/DistanceDisplayCondition.js +12 -12
  144. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +5 -5
  145. package/Source/Core/DoubleEndedPriorityQueue.js +5 -5
  146. package/Source/Core/EarthOrientationParameters.js +6 -6
  147. package/Source/Core/EarthOrientationParametersSample.js +10 -10
  148. package/Source/Core/EasingFunction.js +2 -2
  149. package/Source/Core/EllipseGeometry.js +19 -19
  150. package/Source/Core/EllipseOutlineGeometry.js +14 -14
  151. package/Source/Core/Ellipsoid.js +20 -20
  152. package/Source/Core/EllipsoidGeodesic.js +5 -5
  153. package/Source/Core/EllipsoidGeometry.js +13 -13
  154. package/Source/Core/EllipsoidOutlineGeometry.js +14 -14
  155. package/Source/Core/EllipsoidRhumbLine.js +8 -8
  156. package/Source/Core/EllipsoidTerrainProvider.js +18 -18
  157. package/Source/Core/EllipsoidalOccluder.js +9 -9
  158. package/Source/Core/EncodedCartesian3.js +5 -5
  159. package/Source/Core/Event.js +4 -4
  160. package/Source/Core/EventHelper.js +1 -1
  161. package/Source/Core/ExtrapolationType.js +4 -4
  162. package/Source/Core/FeatureDetection.js +9 -9
  163. package/Source/Core/FrustumGeometry.js +7 -7
  164. package/Source/Core/FrustumOutlineGeometry.js +7 -7
  165. package/Source/Core/Fullscreen.js +8 -8
  166. package/Source/Core/GeocodeType.js +3 -3
  167. package/Source/Core/GeocoderService.js +3 -3
  168. package/Source/Core/GeographicTilingScheme.js +16 -16
  169. package/Source/Core/Geometry.js +5 -5
  170. package/Source/Core/GeometryAttribute.js +6 -6
  171. package/Source/Core/GeometryInstance.js +5 -5
  172. package/Source/Core/GeometryInstanceAttribute.js +7 -7
  173. package/Source/Core/GeometryPipeline.js +11 -11
  174. package/Source/Core/GoogleEarthEnterpriseMetadata.js +22 -22
  175. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +29 -29
  176. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +21 -21
  177. package/Source/Core/GoogleEarthEnterpriseTileInformation.js +14 -14
  178. package/Source/Core/GregorianDate.js +16 -16
  179. package/Source/Core/GroundPolylineGeometry.js +13 -13
  180. package/Source/Core/HeadingPitchRange.js +6 -6
  181. package/Source/Core/HeadingPitchRoll.js +18 -18
  182. package/Source/Core/Heap.js +7 -7
  183. package/Source/Core/HeightmapEncoding.js +3 -3
  184. package/Source/Core/HeightmapTerrainData.js +44 -44
  185. package/Source/Core/HeightmapTessellator.js +16 -16
  186. package/Source/Core/HermitePolynomialApproximation.js +17 -17
  187. package/Source/Core/HermiteSpline.js +17 -17
  188. package/Source/Core/HilbertOrder.js +7 -7
  189. package/Source/Core/Iau2006XysData.js +13 -13
  190. package/Source/Core/Iau2006XysSample.js +6 -6
  191. package/Source/Core/IauOrientationParameters.js +4 -4
  192. package/Source/Core/IndexDatatype.js +12 -12
  193. package/Source/Core/InterpolationAlgorithm.js +17 -17
  194. package/Source/Core/InterpolationType.js +1 -1
  195. package/Source/Core/Intersect.js +4 -4
  196. package/Source/Core/IntersectionTests.js +5 -5
  197. package/Source/Core/Intersections2D.js +23 -23
  198. package/Source/Core/Interval.js +4 -4
  199. package/Source/Core/Ion.js +3 -3
  200. package/Source/Core/IonGeocoderService.js +4 -4
  201. package/Source/Core/IonResource.js +6 -6
  202. package/Source/Core/JulianDate.js +27 -27
  203. package/Source/Core/KeyboardEventModifier.js +4 -4
  204. package/Source/Core/LagrangePolynomialApproximation.js +8 -8
  205. package/Source/Core/LeapSecond.js +2 -2
  206. package/Source/Core/LinearApproximation.js +8 -8
  207. package/Source/Core/LinearSpline.js +13 -13
  208. package/Source/Core/ManagedArray.js +8 -8
  209. package/Source/Core/Math.js +136 -136
  210. package/Source/Core/Matrix2.js +44 -44
  211. package/Source/Core/Matrix3.js +59 -59
  212. package/Source/Core/Matrix4.js +91 -91
  213. package/Source/Core/MorphWeightSpline.js +14 -14
  214. package/Source/Core/MortonOrder.js +21 -21
  215. package/Source/Core/NearFarScalar.js +16 -16
  216. package/Source/Core/Occluder.js +5 -5
  217. package/Source/Core/OffsetGeometryInstanceAttribute.js +5 -5
  218. package/Source/Core/OpenCageGeocoderService.js +18 -18
  219. package/Source/Core/OrientedBoundingBox.js +14 -14
  220. package/Source/Core/OrthographicFrustum.js +23 -23
  221. package/Source/Core/OrthographicOffCenterFrustum.js +21 -21
  222. package/Source/Core/Packable.js +7 -7
  223. package/Source/Core/PackableForInterpolation.js +11 -11
  224. package/Source/Core/PeliasGeocoderService.js +2 -2
  225. package/Source/Core/PerspectiveFrustum.js +28 -28
  226. package/Source/Core/PerspectiveOffCenterFrustum.js +21 -21
  227. package/Source/Core/PinBuilder.js +9 -9
  228. package/Source/Core/PixelFormat.js +23 -23
  229. package/Source/Core/Plane.js +4 -4
  230. package/Source/Core/PlaneGeometry.js +7 -7
  231. package/Source/Core/PlaneOutlineGeometry.js +5 -5
  232. package/Source/Core/PolygonGeometry.js +24 -24
  233. package/Source/Core/PolygonGeometryLibrary.js +4 -4
  234. package/Source/Core/PolygonOutlineGeometry.js +16 -16
  235. package/Source/Core/PolygonPipeline.js +10 -10
  236. package/Source/Core/PolylineGeometry.js +10 -10
  237. package/Source/Core/PolylinePipeline.js +15 -15
  238. package/Source/Core/PolylineVolumeGeometry.js +8 -8
  239. package/Source/Core/PolylineVolumeOutlineGeometry.js +8 -8
  240. package/Source/Core/PrimitiveType.js +8 -8
  241. package/Source/Core/Proxy.js +2 -2
  242. package/Source/Core/QuadraticRealPolynomial.js +8 -8
  243. package/Source/Core/QuantizedMeshTerrainData.js +37 -37
  244. package/Source/Core/QuarticRealPolynomial.js +12 -12
  245. package/Source/Core/Quaternion.js +42 -42
  246. package/Source/Core/QuaternionSpline.js +10 -10
  247. package/Source/Core/Queue.js +2 -2
  248. package/Source/Core/Ray.js +1 -1
  249. package/Source/Core/Rectangle.js +38 -38
  250. package/Source/Core/RectangleCollisionChecker.js +3 -3
  251. package/Source/Core/RectangleGeometry.js +15 -15
  252. package/Source/Core/RectangleOutlineGeometry.js +11 -11
  253. package/Source/Core/ReferenceFrame.js +3 -3
  254. package/Source/Core/Request.js +13 -13
  255. package/Source/Core/RequestErrorEvent.js +7 -7
  256. package/Source/Core/RequestScheduler.js +14 -14
  257. package/Source/Core/RequestState.js +7 -7
  258. package/Source/Core/RequestType.js +5 -5
  259. package/Source/Core/Resource.js +223 -223
  260. package/Source/Core/RuntimeError.js +4 -4
  261. package/Source/Core/S2Cell.js +15 -15
  262. package/Source/Core/ScreenSpaceEventHandler.js +7 -7
  263. package/Source/Core/ScreenSpaceEventType.js +16 -16
  264. package/Source/Core/ShowGeometryInstanceAttribute.js +4 -4
  265. package/Source/Core/SimplePolylineGeometry.js +9 -9
  266. package/Source/Core/SphereGeometry.js +10 -10
  267. package/Source/Core/SphereOutlineGeometry.js +11 -11
  268. package/Source/Core/Spherical.js +13 -13
  269. package/Source/Core/Spline.js +14 -14
  270. package/Source/Core/SteppedSpline.js +14 -14
  271. package/Source/Core/TaskProcessor.js +10 -10
  272. package/Source/Core/TerrainData.js +25 -25
  273. package/Source/Core/TerrainEncoding.js +14 -14
  274. package/Source/Core/TerrainExaggeration.js +3 -3
  275. package/Source/Core/TerrainMesh.js +18 -18
  276. package/Source/Core/TerrainProvider.js +23 -23
  277. package/Source/Core/TerrainQuantization.js +3 -3
  278. package/Source/Core/TileAvailability.js +16 -16
  279. package/Source/Core/TileProviderError.js +15 -15
  280. package/Source/Core/TilingScheme.js +13 -13
  281. package/Source/Core/TimeConstants.js +10 -10
  282. package/Source/Core/TimeInterval.js +23 -23
  283. package/Source/Core/TimeIntervalCollection.js +39 -39
  284. package/Source/Core/TimeStandard.js +3 -3
  285. package/Source/Core/Tipsify.js +10 -10
  286. package/Source/Core/Transforms.js +2 -2
  287. package/Source/Core/TranslationRotationScale.js +1 -1
  288. package/Source/Core/TridiagonalSystemSolver.js +3 -3
  289. package/Source/Core/TrustedServers.js +5 -5
  290. package/Source/Core/VRTheWorldTerrainProvider.js +20 -20
  291. package/Source/Core/VertexFormat.js +13 -13
  292. package/Source/Core/VideoSynchronizer.js +4 -4
  293. package/Source/Core/Visibility.js +4 -4
  294. package/Source/Core/VulkanConstants.js +1 -1
  295. package/Source/Core/WallGeometry.js +13 -13
  296. package/Source/Core/WallOutlineGeometry.js +13 -13
  297. package/Source/Core/WebGLConstants.js +1 -1
  298. package/Source/Core/WebMercatorProjection.js +5 -5
  299. package/Source/Core/WebMercatorTilingScheme.js +16 -16
  300. package/Source/Core/WindingOrder.js +3 -3
  301. package/Source/Core/WireframeIndexGenerator.js +3 -3
  302. package/Source/Core/arrayRemoveDuplicates.js +4 -4
  303. package/Source/Core/binarySearch.js +2 -2
  304. package/Source/Core/buildModuleUrl.js +4 -4
  305. package/Source/Core/clone.js +3 -3
  306. package/Source/Core/combine.js +4 -4
  307. package/Source/Core/createGuid.js +1 -1
  308. package/Source/Core/createWorldTerrain.js +3 -3
  309. package/Source/Core/defaultValue.js +1 -1
  310. package/Source/Core/defer.js +1 -1
  311. package/Source/Core/defined.js +1 -1
  312. package/Source/Core/deprecationWarning.js +2 -2
  313. package/Source/Core/destroyObject.js +2 -2
  314. package/Source/Core/formatError.js +1 -1
  315. package/Source/Core/getAbsoluteUri.js +3 -3
  316. package/Source/Core/getBaseUri.js +3 -3
  317. package/Source/Core/getExtensionFromUri.js +2 -2
  318. package/Source/Core/getFilenameFromUri.js +2 -2
  319. package/Source/Core/getImageFromTypedArray.js +2 -2
  320. package/Source/Core/getImagePixels.js +4 -3
  321. package/Source/Core/getJsonFromTypedArray.js +3 -3
  322. package/Source/Core/getStringFromTypedArray.js +3 -3
  323. package/Source/Core/getTimestamp.js +1 -1
  324. package/Source/Core/isBlobUri.js +2 -2
  325. package/Source/Core/isDataUri.js +2 -2
  326. package/Source/Core/isLeapYear.js +2 -2
  327. package/Source/Core/loadKTX2.js +8 -8
  328. package/Source/Core/mergeSort.js +1 -1
  329. package/Source/Core/objectToQuery.js +2 -2
  330. package/Source/Core/oneTimeWarning.js +2 -2
  331. package/Source/Core/parseResponseHeaders.js +2 -2
  332. package/Source/Core/pointInsideTriangle.js +1 -1
  333. package/Source/Core/queryToObject.js +2 -2
  334. package/Source/Core/sampleTerrain.js +7 -7
  335. package/Source/Core/sampleTerrainMostDetailed.js +1 -1
  336. package/Source/Core/scaleToGeodeticSurface.js +1 -1
  337. package/Source/Core/subdivideArray.js +1 -1
  338. package/Source/Core/writeTextToCanvas.js +10 -9
  339. package/Source/DataSources/BillboardGraphics.js +1 -1
  340. package/Source/DataSources/BillboardVisualizer.js +2 -2
  341. package/Source/DataSources/BoundingSphereState.js +1 -1
  342. package/Source/DataSources/BoxGraphics.js +1 -1
  343. package/Source/DataSources/CallbackProperty.js +8 -8
  344. package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
  345. package/Source/DataSources/Cesium3DTilesetVisualizer.js +2 -2
  346. package/Source/DataSources/CheckerboardMaterialProperty.js +6 -6
  347. package/Source/DataSources/ColorMaterialProperty.js +5 -5
  348. package/Source/DataSources/CompositeEntityCollection.js +8 -8
  349. package/Source/DataSources/CompositeMaterialProperty.js +5 -5
  350. package/Source/DataSources/CompositePositionProperty.js +2 -2
  351. package/Source/DataSources/CompositeProperty.js +4 -4
  352. package/Source/DataSources/ConstantPositionProperty.js +4 -4
  353. package/Source/DataSources/ConstantProperty.js +5 -5
  354. package/Source/DataSources/CorridorGraphics.js +1 -1
  355. package/Source/DataSources/CustomDataSource.js +5 -5
  356. package/Source/DataSources/CylinderGraphics.js +1 -1
  357. package/Source/DataSources/CzmlDataSource.js +26 -26
  358. package/Source/DataSources/DataSource.js +4 -4
  359. package/Source/DataSources/DataSourceClock.js +2 -2
  360. package/Source/DataSources/DataSourceCollection.js +11 -11
  361. package/Source/DataSources/DataSourceDisplay.js +5 -5
  362. package/Source/DataSources/DynamicGeometryUpdater.js +1 -1
  363. package/Source/DataSources/EllipseGraphics.js +1 -1
  364. package/Source/DataSources/EllipsoidGeometryUpdater.js +2 -2
  365. package/Source/DataSources/EllipsoidGraphics.js +1 -1
  366. package/Source/DataSources/Entity.js +14 -14
  367. package/Source/DataSources/EntityCluster.js +16 -16
  368. package/Source/DataSources/EntityCollection.js +8 -8
  369. package/Source/DataSources/GeoJsonDataSource.js +27 -27
  370. package/Source/DataSources/GeometryUpdater.js +22 -22
  371. package/Source/DataSources/GeometryVisualizer.js +2 -2
  372. package/Source/DataSources/GpxDataSource.js +23 -23
  373. package/Source/DataSources/GridMaterialProperty.js +7 -7
  374. package/Source/DataSources/GroundGeometryUpdater.js +5 -5
  375. package/Source/DataSources/ImageMaterialProperty.js +8 -8
  376. package/Source/DataSources/KmlDataSource.js +32 -32
  377. package/Source/DataSources/KmlTour.js +7 -7
  378. package/Source/DataSources/KmlTourFlyTo.js +6 -6
  379. package/Source/DataSources/KmlTourWait.js +2 -2
  380. package/Source/DataSources/LabelGraphics.js +1 -1
  381. package/Source/DataSources/LabelVisualizer.js +2 -2
  382. package/Source/DataSources/MaterialProperty.js +5 -5
  383. package/Source/DataSources/ModelGraphics.js +3 -3
  384. package/Source/DataSources/ModelVisualizer.js +2 -2
  385. package/Source/DataSources/NodeTransformationProperty.js +3 -3
  386. package/Source/DataSources/PathGraphics.js +1 -1
  387. package/Source/DataSources/PathVisualizer.js +2 -2
  388. package/Source/DataSources/PlaneGraphics.js +1 -1
  389. package/Source/DataSources/PointGraphics.js +1 -1
  390. package/Source/DataSources/PointVisualizer.js +2 -2
  391. package/Source/DataSources/PolygonGraphics.js +3 -3
  392. package/Source/DataSources/PolylineArrowMaterialProperty.js +5 -5
  393. package/Source/DataSources/PolylineDashMaterialProperty.js +8 -8
  394. package/Source/DataSources/PolylineGeometryUpdater.js +13 -13
  395. package/Source/DataSources/PolylineGlowMaterialProperty.js +8 -8
  396. package/Source/DataSources/PolylineGraphics.js +2 -2
  397. package/Source/DataSources/PolylineOutlineMaterialProperty.js +7 -7
  398. package/Source/DataSources/PolylineVisualizer.js +2 -2
  399. package/Source/DataSources/PolylineVolumeGraphics.js +3 -3
  400. package/Source/DataSources/PositionProperty.js +2 -2
  401. package/Source/DataSources/PositionPropertyArray.js +2 -2
  402. package/Source/DataSources/Property.js +4 -4
  403. package/Source/DataSources/PropertyArray.js +2 -2
  404. package/Source/DataSources/PropertyBag.js +10 -10
  405. package/Source/DataSources/RectangleGraphics.js +1 -1
  406. package/Source/DataSources/ReferenceProperty.js +10 -10
  407. package/Source/DataSources/Rotation.js +14 -14
  408. package/Source/DataSources/SampledPositionProperty.js +11 -11
  409. package/Source/DataSources/SampledProperty.js +12 -12
  410. package/Source/DataSources/StripeMaterialProperty.js +8 -8
  411. package/Source/DataSources/StripeOrientation.js +3 -3
  412. package/Source/DataSources/TerrainOffsetProperty.js +1 -1
  413. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +3 -3
  414. package/Source/DataSources/TimeIntervalCollectionProperty.js +4 -4
  415. package/Source/DataSources/VelocityOrientationProperty.js +2 -2
  416. package/Source/DataSources/VelocityVectorProperty.js +4 -4
  417. package/Source/DataSources/Visualizer.js +2 -2
  418. package/Source/DataSources/WallGraphics.js +4 -4
  419. package/Source/DataSources/exportKml.js +9 -9
  420. package/Source/Renderer/Buffer.js +4 -4
  421. package/Source/Renderer/ClearCommand.js +3 -3
  422. package/Source/Renderer/ComputeCommand.js +3 -3
  423. package/Source/Renderer/Context.js +46 -46
  424. package/Source/Renderer/ContextLimits.js +22 -22
  425. package/Source/Renderer/CubeMapFace.js +11 -11
  426. package/Source/Renderer/DrawCommand.js +15 -15
  427. package/Source/Renderer/Framebuffer.js +4 -4
  428. package/Source/Renderer/FramebufferManager.js +9 -9
  429. package/Source/Renderer/MultisampleFramebuffer.js +1 -1
  430. package/Source/Renderer/PassState.js +2 -2
  431. package/Source/Renderer/PixelDatatype.js +1 -1
  432. package/Source/Renderer/RenderState.js +1 -1
  433. package/Source/Renderer/ShaderBuilder.js +24 -24
  434. package/Source/Renderer/ShaderCache.js +8 -8
  435. package/Source/Renderer/ShaderDestination.js +2 -2
  436. package/Source/Renderer/ShaderFunction.js +3 -3
  437. package/Source/Renderer/ShaderSource.js +8 -8
  438. package/Source/Renderer/ShaderStruct.js +4 -4
  439. package/Source/Renderer/Texture.js +18 -18
  440. package/Source/Renderer/TextureMagnificationFilter.js +4 -4
  441. package/Source/Renderer/TextureMinificationFilter.js +8 -8
  442. package/Source/Renderer/UniformState.js +14 -14
  443. package/Source/Renderer/VertexArray.js +2 -2
  444. package/Source/Renderer/createUniform.js +12 -12
  445. package/Source/Renderer/createUniformArray.js +12 -12
  446. package/Source/Renderer/freezeRenderState.js +2 -2
  447. package/Source/Renderer/loadCubeMap.js +3 -3
  448. package/Source/Scene/AlphaMode.js +4 -4
  449. package/Source/Scene/Appearance.js +14 -14
  450. package/Source/Scene/ArcGisMapServerImageryProvider.js +43 -43
  451. package/Source/Scene/AttributeType.js +11 -11
  452. package/Source/Scene/AutoExposure.js +6 -6
  453. package/Source/Scene/Axis.js +6 -6
  454. package/Source/Scene/B3dmParser.js +2 -2
  455. package/Source/Scene/BatchTable.js +13 -13
  456. package/Source/Scene/BatchTableHierarchy.js +22 -22
  457. package/Source/Scene/BatchTexture.js +14 -14
  458. package/Source/Scene/Billboard.js +17 -17
  459. package/Source/Scene/BillboardCollection.js +13 -13
  460. package/Source/Scene/BingMapsImageryProvider.js +40 -40
  461. package/Source/Scene/BingMapsStyle.js +11 -11
  462. package/Source/Scene/BlendEquation.js +6 -6
  463. package/Source/Scene/BlendFunction.js +16 -16
  464. package/Source/Scene/BlendOption.js +4 -4
  465. package/Source/Scene/BlendingState.js +4 -4
  466. package/Source/Scene/BufferLoader.js +5 -5
  467. package/Source/Scene/Camera.js +57 -57
  468. package/Source/Scene/CameraEventAggregator.js +26 -16
  469. package/Source/Scene/CameraEventType.js +6 -6
  470. package/Source/Scene/Cesium3DContentGroup.js +1 -1
  471. package/Source/Scene/Cesium3DTile.js +24 -24
  472. package/Source/Scene/Cesium3DTileBatchTable.js +1 -1
  473. package/Source/Scene/Cesium3DTileColorBlendMode.js +4 -4
  474. package/Source/Scene/Cesium3DTileContent.js +15 -15
  475. package/Source/Scene/Cesium3DTileContentType.js +17 -17
  476. package/Source/Scene/Cesium3DTileFeature.js +16 -16
  477. package/Source/Scene/Cesium3DTileOptimizationHint.js +1 -1
  478. package/Source/Scene/Cesium3DTileOptimizations.js +1 -1
  479. package/Source/Scene/Cesium3DTilePassState.js +1 -1
  480. package/Source/Scene/Cesium3DTilePointFeature.js +23 -23
  481. package/Source/Scene/Cesium3DTileRefine.js +3 -3
  482. package/Source/Scene/Cesium3DTileStyle.js +17 -17
  483. package/Source/Scene/Cesium3DTilesVoxelProvider.js +2 -2
  484. package/Source/Scene/Cesium3DTileset.js +111 -111
  485. package/Source/Scene/Cesium3DTilesetHeatmap.js +4 -4
  486. package/Source/Scene/Cesium3DTilesetMetadata.js +5 -5
  487. package/Source/Scene/CircleEmitter.js +2 -2
  488. package/Source/Scene/ClassificationPrimitive.js +25 -25
  489. package/Source/Scene/ClassificationType.js +4 -4
  490. package/Source/Scene/ClippingPlane.js +2 -2
  491. package/Source/Scene/ClippingPlaneCollection.js +17 -17
  492. package/Source/Scene/CloudCollection.js +16 -16
  493. package/Source/Scene/CloudType.js +3 -3
  494. package/Source/Scene/ColorBlendMode.js +1 -1
  495. package/Source/Scene/ConditionsExpression.js +11 -11
  496. package/Source/Scene/ConeEmitter.js +2 -2
  497. package/Source/Scene/ContentMetadata.js +16 -16
  498. package/Source/Scene/CreditDisplay.js +2 -2
  499. package/Source/Scene/CullFace.js +4 -4
  500. package/Source/Scene/CumulusCloud.js +3 -3
  501. package/Source/Scene/DebugAppearance.js +17 -17
  502. package/Source/Scene/DebugCameraPrimitive.js +7 -7
  503. package/Source/Scene/DebugModelMatrixPrimitive.js +9 -9
  504. package/Source/Scene/DepthFunction.js +9 -9
  505. package/Source/Scene/DeviceOrientationCameraController.js +1 -1
  506. package/Source/Scene/DirectionalLight.js +3 -3
  507. package/Source/Scene/DiscardEmptyTileImagePolicy.js +2 -2
  508. package/Source/Scene/DiscardMissingTileImagePolicy.js +5 -5
  509. package/Source/Scene/DracoLoader.js +4 -4
  510. package/Source/Scene/EllipsoidPrimitive.js +8 -8
  511. package/Source/Scene/EllipsoidSurfaceAppearance.js +19 -19
  512. package/Source/Scene/Expression.js +14 -14
  513. package/Source/Scene/Fog.js +5 -5
  514. package/Source/Scene/FrameRateMonitor.js +14 -14
  515. package/Source/Scene/FrameState.js +36 -36
  516. package/Source/Scene/FrustumCommands.js +2 -2
  517. package/Source/Scene/GetFeatureInfoFormat.js +2 -2
  518. package/Source/Scene/Globe.js +34 -34
  519. package/Source/Scene/GlobeSurfaceTile.js +1 -1
  520. package/Source/Scene/GlobeSurfaceTileProvider.js +6 -6
  521. package/Source/Scene/GlobeTranslucency.js +3 -3
  522. package/Source/Scene/GltfBufferViewLoader.js +7 -7
  523. package/Source/Scene/GltfDracoLoader.js +8 -8
  524. package/Source/Scene/GltfImageLoader.js +7 -7
  525. package/Source/Scene/GltfIndexBufferLoader.js +11 -11
  526. package/Source/Scene/GltfJsonLoader.js +7 -7
  527. package/Source/Scene/GltfLoader.js +24 -24
  528. package/Source/Scene/GltfLoaderUtil.js +11 -11
  529. package/Source/Scene/GltfPipeline/addBuffer.js +2 -2
  530. package/Source/Scene/GltfPipeline/addDefaults.js +2 -2
  531. package/Source/Scene/GltfPipeline/addExtensionsRequired.js +2 -2
  532. package/Source/Scene/GltfPipeline/addExtensionsUsed.js +2 -2
  533. package/Source/Scene/GltfPipeline/addPipelineExtras.js +2 -2
  534. package/Source/Scene/GltfPipeline/addToArray.js +2 -2
  535. package/Source/Scene/GltfPipeline/findAccessorMinMax.js +2 -2
  536. package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +3 -3
  537. package/Source/Scene/GltfPipeline/getAccessorByteStride.js +3 -3
  538. package/Source/Scene/GltfPipeline/getComponentReader.js +5 -5
  539. package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +2 -2
  540. package/Source/Scene/GltfPipeline/moveTechniquesToExtension.js +2 -2
  541. package/Source/Scene/GltfPipeline/numberOfComponentsForType.js +2 -2
  542. package/Source/Scene/GltfPipeline/parseGlb.js +1 -1
  543. package/Source/Scene/GltfPipeline/readAccessorPacked.js +2 -2
  544. package/Source/Scene/GltfPipeline/removeExtension.js +2 -2
  545. package/Source/Scene/GltfPipeline/removeExtensionsRequired.js +2 -2
  546. package/Source/Scene/GltfPipeline/removeExtensionsUsed.js +2 -2
  547. package/Source/Scene/GltfPipeline/removePipelineExtras.js +2 -2
  548. package/Source/Scene/GltfPipeline/removeUnusedElements.js +2 -2
  549. package/Source/Scene/GltfPipeline/updateAccessorComponentTypes.js +2 -2
  550. package/Source/Scene/GltfPipeline/updateVersion.js +4 -4
  551. package/Source/Scene/GltfPipeline/usesExtension.js +3 -3
  552. package/Source/Scene/GltfStructuralMetadataLoader.js +9 -9
  553. package/Source/Scene/GltfTextureLoader.js +8 -8
  554. package/Source/Scene/GltfVertexBufferLoader.js +13 -13
  555. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +33 -33
  556. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +38 -38
  557. package/Source/Scene/GridImageryProvider.js +33 -33
  558. package/Source/Scene/GroundPolylinePrimitive.js +20 -20
  559. package/Source/Scene/GroundPrimitive.js +26 -26
  560. package/Source/Scene/GroupMetadata.js +17 -17
  561. package/Source/Scene/HeightReference.js +4 -4
  562. package/Source/Scene/HorizontalOrigin.js +4 -4
  563. package/Source/Scene/I3SDataProvider.js +13 -13
  564. package/Source/Scene/I3SFeature.js +1 -1
  565. package/Source/Scene/I3SField.js +5 -5
  566. package/Source/Scene/I3SGeometry.js +8 -8
  567. package/Source/Scene/I3SLayer.js +7 -7
  568. package/Source/Scene/I3SNode.js +6 -6
  569. package/Source/Scene/I3dmParser.js +2 -2
  570. package/Source/Scene/ImageBasedLighting.js +21 -17
  571. package/Source/Scene/ImageryLayer.js +39 -39
  572. package/Source/Scene/ImageryLayerCollection.js +11 -11
  573. package/Source/Scene/ImageryLayerFeatureInfo.js +6 -6
  574. package/Source/Scene/ImageryProvider.js +30 -30
  575. package/Source/Scene/Implicit3DTileContent.js +56 -56
  576. package/Source/Scene/ImplicitAvailabilityBitstream.js +10 -10
  577. package/Source/Scene/ImplicitMetadataView.js +16 -16
  578. package/Source/Scene/ImplicitSubdivisionScheme.js +4 -4
  579. package/Source/Scene/ImplicitSubtree.js +48 -48
  580. package/Source/Scene/ImplicitSubtreeCache.js +6 -6
  581. package/Source/Scene/ImplicitSubtreeMetadata.js +16 -16
  582. package/Source/Scene/ImplicitTileCoordinates.js +27 -27
  583. package/Source/Scene/ImplicitTileset.js +10 -10
  584. package/Source/Scene/InstanceAttributeSemantic.js +5 -5
  585. package/Source/Scene/IonImageryProvider.js +32 -32
  586. package/Source/Scene/IonWorldImageryStyle.js +4 -4
  587. package/Source/Scene/JsonMetadataTable.js +11 -11
  588. package/Source/Scene/KeyframeNode.js +1 -1
  589. package/Source/Scene/Label.js +14 -14
  590. package/Source/Scene/LabelCollection.js +12 -11
  591. package/Source/Scene/LabelStyle.js +4 -4
  592. package/Source/Scene/Light.js +1 -1
  593. package/Source/Scene/MapMode2D.js +3 -3
  594. package/Source/Scene/MapboxImageryProvider.js +37 -37
  595. package/Source/Scene/MapboxStyleImageryProvider.js +39 -39
  596. package/Source/Scene/Material.js +47 -47
  597. package/Source/Scene/MaterialAppearance.js +21 -21
  598. package/Source/Scene/Megatexture.js +15 -15
  599. package/Source/Scene/MetadataClass.js +16 -16
  600. package/Source/Scene/MetadataClassProperty.js +41 -41
  601. package/Source/Scene/MetadataComponentType.js +21 -21
  602. package/Source/Scene/MetadataEntity.js +31 -31
  603. package/Source/Scene/MetadataEnum.js +14 -14
  604. package/Source/Scene/MetadataEnumValue.js +10 -10
  605. package/Source/Scene/MetadataSchema.js +16 -16
  606. package/Source/Scene/MetadataSchemaLoader.js +6 -6
  607. package/Source/Scene/MetadataSemantic.js +17 -17
  608. package/Source/Scene/MetadataTable.js +24 -24
  609. package/Source/Scene/MetadataTableProperty.js +9 -9
  610. package/Source/Scene/MetadataType.js +15 -15
  611. package/Source/Scene/Model/B3dmLoader.js +13 -13
  612. package/Source/Scene/Model/ClassificationModelDrawCommand.js +3 -3
  613. package/Source/Scene/Model/CustomShader.js +18 -18
  614. package/Source/Scene/Model/CustomShaderMode.js +4 -4
  615. package/Source/Scene/Model/CustomShaderTranslucencyMode.js +4 -4
  616. package/Source/Scene/Model/GeoJsonLoader.js +5 -5
  617. package/Source/Scene/Model/I3dmLoader.js +11 -11
  618. package/Source/Scene/Model/LightingModel.js +3 -3
  619. package/Source/Scene/Model/MaterialPipelineStage.js +6 -6
  620. package/Source/Scene/Model/MetadataPipelineStage.js +25 -26
  621. package/Source/Scene/Model/Model.js +85 -85
  622. package/Source/Scene/Model/ModelAlphaOptions.js +1 -1
  623. package/Source/Scene/Model/ModelAnimation.js +11 -11
  624. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  625. package/Source/Scene/Model/ModelAnimationCollection.js +18 -18
  626. package/Source/Scene/Model/ModelArticulation.js +4 -4
  627. package/Source/Scene/Model/ModelArticulationStage.js +5 -5
  628. package/Source/Scene/Model/ModelDrawCommand.js +3 -3
  629. package/Source/Scene/Model/ModelFeature.js +12 -12
  630. package/Source/Scene/Model/ModelFeatureTable.js +5 -5
  631. package/Source/Scene/Model/ModelLightingOptions.js +1 -1
  632. package/Source/Scene/Model/ModelNode.js +3 -3
  633. package/Source/Scene/Model/ModelRenderResources.js +4 -4
  634. package/Source/Scene/Model/ModelRuntimeNode.js +7 -7
  635. package/Source/Scene/Model/ModelRuntimePrimitive.js +3 -3
  636. package/Source/Scene/Model/ModelSceneGraph.js +11 -11
  637. package/Source/Scene/Model/ModelSilhouettePipelineStage.js +1 -1
  638. package/Source/Scene/Model/ModelSkin.js +1 -1
  639. package/Source/Scene/Model/ModelStatistics.js +7 -7
  640. package/Source/Scene/Model/ModelType.js +8 -8
  641. package/Source/Scene/Model/ModelUtility.js +10 -10
  642. package/Source/Scene/Model/NodeRenderResources.js +7 -7
  643. package/Source/Scene/Model/PntsLoader.js +6 -6
  644. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +1 -1
  645. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +28 -28
  646. package/Source/Scene/Model/PrimitiveRenderResources.js +10 -10
  647. package/Source/Scene/Model/StyleCommandsNeeded.js +1 -1
  648. package/Source/Scene/Model/TextureManager.js +3 -3
  649. package/Source/Scene/Model/TextureUniform.js +6 -6
  650. package/Source/Scene/Model/UniformType.js +17 -17
  651. package/Source/Scene/Model/VaryingType.js +8 -8
  652. package/Source/Scene/ModelAnimationLoop.js +4 -4
  653. package/Source/Scene/ModelComponents.js +61 -61
  654. package/Source/Scene/Moon.js +8 -8
  655. package/Source/Scene/Multiple3DTileContent.js +14 -14
  656. package/Source/Scene/NeverTileDiscardPolicy.js +2 -2
  657. package/Source/Scene/OIT.js +9 -9
  658. package/Source/Scene/OctahedralProjectedCubeMap.js +28 -39
  659. package/Source/Scene/OpenStreetMapImageryProvider.js +6 -6
  660. package/Source/Scene/OrderedGroundPrimitiveCollection.js +9 -9
  661. package/Source/Scene/Particle.js +13 -13
  662. package/Source/Scene/ParticleBurst.js +8 -8
  663. package/Source/Scene/ParticleSystem.js +41 -36
  664. package/Source/Scene/PerInstanceColorAppearance.js +18 -18
  665. package/Source/Scene/PerformanceDisplay.js +2 -2
  666. package/Source/Scene/PntsParser.js +1 -1
  667. package/Source/Scene/PointCloudEyeDomeLighting.js +1 -1
  668. package/Source/Scene/PointCloudShading.js +20 -20
  669. package/Source/Scene/PointPrimitive.js +6 -6
  670. package/Source/Scene/PointPrimitiveCollection.js +11 -11
  671. package/Source/Scene/Polyline.js +9 -9
  672. package/Source/Scene/PolylineCollection.js +11 -11
  673. package/Source/Scene/PolylineColorAppearance.js +13 -13
  674. package/Source/Scene/PolylineMaterialAppearance.js +13 -13
  675. package/Source/Scene/PostProcessStage.js +15 -15
  676. package/Source/Scene/PostProcessStageCollection.js +10 -10
  677. package/Source/Scene/PostProcessStageComposite.js +13 -13
  678. package/Source/Scene/PostProcessStageLibrary.js +8 -8
  679. package/Source/Scene/PostProcessStageSampleMode.js +3 -3
  680. package/Source/Scene/PostProcessStageTextureCache.js +4 -4
  681. package/Source/Scene/Primitive.js +30 -30
  682. package/Source/Scene/PrimitiveCollection.js +20 -20
  683. package/Source/Scene/PrimitiveLoadPlan.js +6 -6
  684. package/Source/Scene/PropertyAttribute.js +9 -9
  685. package/Source/Scene/PropertyAttributeProperty.js +6 -6
  686. package/Source/Scene/PropertyTable.js +34 -34
  687. package/Source/Scene/PropertyTexture.js +9 -9
  688. package/Source/Scene/PropertyTextureProperty.js +8 -8
  689. package/Source/Scene/QuadtreePrimitive.js +9 -9
  690. package/Source/Scene/QuadtreeTile.js +11 -11
  691. package/Source/Scene/QuadtreeTileLoadState.js +1 -1
  692. package/Source/Scene/QuadtreeTileProvider.js +6 -6
  693. package/Source/Scene/ResourceCache.js +39 -39
  694. package/Source/Scene/ResourceCacheKey.js +42 -42
  695. package/Source/Scene/ResourceCacheStatistics.js +2 -2
  696. package/Source/Scene/ResourceLoader.js +5 -5
  697. package/Source/Scene/ResourceLoaderState.js +5 -5
  698. package/Source/Scene/SDFSettings.js +4 -4
  699. package/Source/Scene/Scene.js +88 -88
  700. package/Source/Scene/SceneMode.js +6 -6
  701. package/Source/Scene/SceneTransitioner.js +1 -1
  702. package/Source/Scene/ScreenSpaceCameraController.js +40 -22
  703. package/Source/Scene/ShadowMap.js +22 -22
  704. package/Source/Scene/ShadowMapShader.js +1 -1
  705. package/Source/Scene/ShadowMode.js +5 -5
  706. package/Source/Scene/ShadowVolumeAppearance.js +17 -17
  707. package/Source/Scene/SingleTileImageryProvider.js +31 -31
  708. package/Source/Scene/SkyAtmosphere.js +10 -10
  709. package/Source/Scene/SkyBox.js +6 -6
  710. package/Source/Scene/SpatialNode.js +103 -87
  711. package/Source/Scene/SphereEmitter.js +2 -2
  712. package/Source/Scene/SplitDirection.js +4 -4
  713. package/Source/Scene/Splitter.js +2 -2
  714. package/Source/Scene/StencilFunction.js +9 -9
  715. package/Source/Scene/StencilOperation.js +9 -9
  716. package/Source/Scene/StructuralMetadata.js +11 -11
  717. package/Source/Scene/StyleExpression.js +8 -8
  718. package/Source/Scene/Sun.js +3 -3
  719. package/Source/Scene/SunLight.js +3 -3
  720. package/Source/Scene/SupportedImageFormats.js +3 -3
  721. package/Source/Scene/TextureAtlas.js +16 -16
  722. package/Source/Scene/TileBoundingRegion.js +6 -6
  723. package/Source/Scene/TileBoundingS2Cell.js +6 -6
  724. package/Source/Scene/TileBoundingSphere.js +5 -5
  725. package/Source/Scene/TileBoundingVolume.js +2 -2
  726. package/Source/Scene/TileCoordinatesImageryProvider.js +30 -30
  727. package/Source/Scene/TileDiscardPolicy.js +2 -2
  728. package/Source/Scene/TileImagery.js +3 -3
  729. package/Source/Scene/TileMapServiceImageryProvider.js +9 -9
  730. package/Source/Scene/TileMetadata.js +16 -16
  731. package/Source/Scene/TileOrientedBoundingBox.js +2 -2
  732. package/Source/Scene/TileReplacementQueue.js +1 -1
  733. package/Source/Scene/TileSelectionResult.js +1 -1
  734. package/Source/Scene/TilesetMetadata.js +15 -15
  735. package/Source/Scene/TimeDynamicImagery.js +8 -8
  736. package/Source/Scene/TimeDynamicPointCloud.js +9 -9
  737. package/Source/Scene/Tonemapper.js +5 -5
  738. package/Source/Scene/TranslucentTileClassification.js +1 -1
  739. package/Source/Scene/TweenCollection.js +31 -31
  740. package/Source/Scene/UrlTemplateImageryProvider.js +47 -47
  741. package/Source/Scene/Vector3DTileBatch.js +7 -7
  742. package/Source/Scene/Vector3DTileClampedPolylines.js +9 -9
  743. package/Source/Scene/Vector3DTileGeometry.js +8 -8
  744. package/Source/Scene/Vector3DTilePoints.js +7 -7
  745. package/Source/Scene/Vector3DTilePolygons.js +10 -10
  746. package/Source/Scene/Vector3DTilePolylines.js +9 -9
  747. package/Source/Scene/Vector3DTilePrimitive.js +8 -8
  748. package/Source/Scene/VertexAttributeSemantic.js +15 -15
  749. package/Source/Scene/VerticalOrigin.js +5 -5
  750. package/Source/Scene/ViewportQuad.js +2 -2
  751. package/Source/Scene/VoxelBoxShape.js +27 -118
  752. package/Source/Scene/VoxelContent.js +3 -3
  753. package/Source/Scene/VoxelCylinderShape.js +21 -21
  754. package/Source/Scene/VoxelEllipsoidShape.js +13 -13
  755. package/Source/Scene/VoxelPrimitive.js +44 -44
  756. package/Source/Scene/VoxelProvider.js +13 -13
  757. package/Source/Scene/VoxelRenderResources.js +6 -3
  758. package/Source/Scene/VoxelShape.js +9 -9
  759. package/Source/Scene/VoxelShapeType.js +4 -4
  760. package/Source/Scene/VoxelTraversal.js +86 -144
  761. package/Source/Scene/WebMapServiceImageryProvider.js +49 -49
  762. package/Source/Scene/WebMapTileServiceImageryProvider.js +43 -43
  763. package/Source/Scene/buildVoxelDrawCommands.js +1 -0
  764. package/Source/Scene/createBillboardPointCallback.js +5 -5
  765. package/Source/Scene/createElevationBandMaterial.js +5 -5
  766. package/Source/Scene/createOsmBuildings.js +3 -3
  767. package/Source/Scene/createTangentSpaceDebugPrimitive.js +2 -2
  768. package/Source/Scene/createWorldImagery.js +1 -1
  769. package/Source/Scene/findContentMetadata.js +1 -1
  770. package/Source/Scene/findGroupMetadata.js +1 -1
  771. package/Source/Scene/findTileMetadata.js +1 -1
  772. package/Source/Scene/getClipAndStyleCode.js +4 -4
  773. package/Source/Scene/getClippingFunction.js +1 -1
  774. package/Source/Scene/hasExtension.js +3 -3
  775. package/Source/Scene/parseBatchTable.js +14 -14
  776. package/Source/Scene/parseBoundingVolumeSemantics.js +7 -7
  777. package/Source/Scene/parseFeatureMetadataLegacy.js +4 -4
  778. package/Source/Scene/parseStructuralMetadata.js +4 -4
  779. package/Source/Scene/preprocess3DTileContent.js +2 -2
  780. package/Source/Scene/processVoxelProperties.js +8 -7
  781. package/Source/Shaders/Voxels/IntersectBox.glsl +52 -58
  782. package/Source/Shaders/Voxels/IntersectBox.js +52 -58
  783. package/Source/Shaders/Voxels/IntersectClippingPlanes.glsl +38 -30
  784. package/Source/Shaders/Voxels/IntersectClippingPlanes.js +38 -30
  785. package/Source/Shaders/Voxels/IntersectDepth.glsl +1 -1
  786. package/Source/Shaders/Voxels/IntersectDepth.js +1 -1
  787. package/Source/Shaders/Voxels/Intersection.glsl +10 -12
  788. package/Source/Shaders/Voxels/Intersection.js +10 -12
  789. package/Source/Shaders/Voxels/IntersectionUtils.glsl +52 -59
  790. package/Source/Shaders/Voxels/IntersectionUtils.js +52 -59
  791. package/Source/Shaders/Voxels/Octree.glsl +72 -73
  792. package/Source/Shaders/Voxels/Octree.js +72 -73
  793. package/Source/Shaders/Voxels/VoxelFS.glsl +42 -22
  794. package/Source/Shaders/Voxels/VoxelFS.js +42 -22
  795. package/Source/Shaders/Voxels/convertUvToBox.glsl +13 -5
  796. package/Source/Shaders/Voxels/convertUvToBox.js +13 -5
  797. package/Source/ThirdParty/Workers/draco_decoder_nodejs.js +91 -91
  798. package/Source/ThirdParty/draco_decoder.wasm +0 -0
  799. package/Source/Widget/CesiumWidget.js +23 -23
  800. package/Source/Workers/cesiumWorkerBootstrapper.js +18 -18
  801. package/Source/WorkersES6/createTaskProcessorWorker.js +3 -3
  802. package/index.d.ts +14 -37
  803. package/index.js +52 -54
  804. package/package.json +1 -1
  805. package/Source/Core/cancelAnimationFrame.js +0 -53
  806. package/Source/Core/requestAnimationFrame.js +0 -83
  807. /package/Build/Workers/{GeometryOffsetAttribute-04332ce7.js → GeometryOffsetAttribute-9ad0019c.js} +0 -0
@@ -9,7 +9,7 @@ import hasExtension from "./hasExtension.js";
9
9
  * @function
10
10
  *
11
11
  * @param {Cesium3DTileset} tileset The tileset to query for group metadata
12
- * @param {Object} contentHeader the JSON header for a {@link Cesium3DTileContent}
12
+ * @param {object} contentHeader the JSON header for a {@link Cesium3DTileContent}
13
13
  * @return {GroupMetadata} the group metadata, or <code>undefined</code> if not found
14
14
  * @private
15
15
  * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
@@ -14,7 +14,7 @@ import oneTimeWarning from "../Core/oneTimeWarning.js";
14
14
  * @function
15
15
  *
16
16
  * @param {Cesium3DTileset} tileset The tileset to query for tile metadata
17
- * @param {Object} tileHeader the JSON header for a {@link Cesium3DTile}
17
+ * @param {object} tileHeader the JSON header for a {@link Cesium3DTile}
18
18
  * @return {TileMetadata} the tile metadata, or <code>undefined</code> if not found
19
19
  * @private
20
20
  * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
@@ -3,10 +3,10 @@ import Check from "../Core/Check.js";
3
3
  /**
4
4
  * Gets a GLSL snippet that clips a fragment using the `clip` function from {@link getClippingFunction} and styles it.
5
5
  *
6
- * @param {String} samplerUniformName Name of the uniform for the clipping planes texture sampler.
7
- * @param {String} matrixUniformName Name of the uniform for the clipping planes matrix.
8
- * @param {String} styleUniformName Name of the uniform for the clipping planes style, a vec4.
9
- * @returns {String} A string containing GLSL that clips and styles the current fragment.
6
+ * @param {string} samplerUniformName Name of the uniform for the clipping planes texture sampler.
7
+ * @param {string} matrixUniformName Name of the uniform for the clipping planes matrix.
8
+ * @param {string} styleUniformName Name of the uniform for the clipping planes style, a vec4.
9
+ * @returns {string} A string containing GLSL that clips and styles the current fragment.
10
10
  * @private
11
11
  */
12
12
  function getClipAndStyleCode(
@@ -8,7 +8,7 @@ const textureResolutionScratch = new Cartesian2();
8
8
  *
9
9
  * @param {ClippingPlaneCollection} clippingPlaneCollection ClippingPlaneCollection with a defined texture.
10
10
  * @param {Context} context The current rendering context.
11
- * @returns {String} A string containing GLSL functions for retrieving clipping planes.
11
+ * @returns {string} A string containing GLSL functions for retrieving clipping planes.
12
12
  * @private
13
13
  */
14
14
  function getClippingFunction(clippingPlaneCollection, context) {
@@ -3,9 +3,9 @@ import defined from "../Core/defined.js";
3
3
  /**
4
4
  * Check if a specific extension is present on a JSON object. This can be used
5
5
  * for either 3D Tiles extensions or glTF extensions
6
- * @param {Object} json The JSON object
7
- * @param {String} extensionName The name of the extension, e.g. '3DTILES_implicit_tiling'
8
- * @returns {Boolean} True if the extension is present
6
+ * @param {object} json The JSON object
7
+ * @param {string} extensionName The name of the extension, e.g. '3DTILES_implicit_tiling'
8
+ * @returns {boolean} True if the extension is present
9
9
  * @private
10
10
  */
11
11
  function hasExtension(json, extensionName) {
@@ -25,11 +25,11 @@ import oneTimeWarning from "../Core/oneTimeWarning.js";
25
25
  * See the {@link https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_structural_metadata|EXT_structural_metadata Extension} for glTF.
26
26
  * </p>
27
27
  *
28
- * @param {Object} options Object with the following properties:
29
- * @param {Number} options.count The number of features in the batch table.
30
- * @param {Object} options.batchTable The batch table JSON
28
+ * @param {object} options Object with the following properties:
29
+ * @param {number} options.count The number of features in the batch table.
30
+ * @param {object} options.batchTable The batch table JSON
31
31
  * @param {Uint8Array} [options.binaryBody] The batch table binary body
32
- * @param {Boolean} [options.parseAsPropertyAttributes=false] If true, binary properties are parsed as property attributes instead of a property table. This is used for .pnts models for GPU styling.
32
+ * @param {boolean} [options.parseAsPropertyAttributes=false] If true, binary properties are parsed as property attributes instead of a property table. This is used for .pnts models for GPU styling.
33
33
  * @param {ModelComponents.Attribute[]} [options.customAttributeOutput] Pass in an empty array here and this method will populate it with a list of custom attributes that will store the values of the property attributes. The attributes will be created with typed arrays, the caller is responsible for uploading them to the GPU. This option is required when options.parseAsPropertyAttributes is true.
34
34
  * @return {StructuralMetadata} A transcoded structural metadata object
35
35
  *
@@ -149,8 +149,8 @@ function parseBatchTable(options) {
149
149
  * Divide the batch table's properties into binary, JSON and hierarchy
150
150
  * extension as each is handled separately
151
151
  *
152
- * @param {Object} batchTable The batch table JSON
153
- * @returns {Object} The batch table divided into binary, JSON and hierarchy portions. Extras and extensions are also divided out for ease of processing.
152
+ * @param {object} batchTable The batch table JSON
153
+ * @returns {object} The batch table divided into binary, JSON and hierarchy portions. Extras and extensions are also divided out for ease of processing.
154
154
  *
155
155
  * @private
156
156
  */
@@ -208,11 +208,11 @@ function partitionProperties(batchTable) {
208
208
  * Transcode the binary properties of the batch table to be compatible with
209
209
  * <code>EXT_structural_metadata</code>
210
210
  *
211
- * @param {Number} featureCount The number of features in the batch table
212
- * @param {String} className The name of the metadata class to be created.
213
- * @param {Object.<String, Object>} binaryProperties A dictionary of property ID to property definition
211
+ * @param {number} featureCount The number of features in the batch table
212
+ * @param {string} className The name of the metadata class to be created.
213
+ * @param {Object<string, Object>} binaryProperties A dictionary of property ID to property definition
214
214
  * @param {Uint8Array} [binaryBody] The binary body of the batch table
215
- * @return {Object} Transcoded data needed for constructing a {@link StructuralMetadata} object.
215
+ * @return {object} Transcoded data needed for constructing a {@link StructuralMetadata} object.
216
216
  *
217
217
  * @private
218
218
  */
@@ -405,8 +405,8 @@ function transcodeBinaryPropertiesAsPropertyAttributes(
405
405
  * Given a property definition from the batch table, compute the equivalent
406
406
  * <code>EXT_structural_metadata</code> type definition
407
407
  *
408
- * @param {Object} property The batch table property definition
409
- * @return {Object} The corresponding structural metadata property definition
408
+ * @param {object} property The batch table property definition
409
+ * @return {object} The corresponding structural metadata property definition
410
410
  * @private
411
411
  */
412
412
  function transcodePropertyType(property) {
@@ -422,8 +422,8 @@ function transcodePropertyType(property) {
422
422
  * Convert the component type of a batch table property to the corresponding
423
423
  * type used with structural metadata
424
424
  *
425
- * @property {String} componentType the batch table's component type
426
- * @return {String} The corresponding structural metadata data type
425
+ * @property {string} componentType the batch table's component type
426
+ * @return {string} The corresponding structural metadata data type
427
427
  *
428
428
  * @private
429
429
  */
@@ -14,7 +14,7 @@ import defined from "../Core/defined.js";
14
14
  * @see {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/Metadata/Semantics|3D Metadata Semantic Reference} for the various bounding volumes and minimum/maximum heights.
15
15
  *
16
16
  * @param {TileMetadata} tileMetadata The metadata object for looking up values by semantic. In practice, this will typically be a {@link ImplicitMetadataView}
17
- * @return {Object} An object containing a <code>tile</code> property and a <code>content</code> property. These contain the bounding volume, and any minimum or maximum height.
17
+ * @return {object} An object containing a <code>tile</code> property and a <code>content</code> property. These contain the bounding volume, and any minimum or maximum height.
18
18
  *
19
19
  * @private
20
20
  * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
@@ -47,9 +47,9 @@ function parseBoundingVolumeSemantics(tileMetadata) {
47
47
  * is the prefix. e.g. <code>TILE_BOUNDING_BOX</code> and
48
48
  * <code>CONTENT_BOUNDING_BOX</code> have the same memory layout.
49
49
  *
50
- * @param {String} prefix Either "TILE" or "CONTENT"
50
+ * @param {string} prefix Either "TILE" or "CONTENT"
51
51
  * @param {TileMetadata} tileMetadata The tileMetadata for looking up values
52
- * @return {Object} An object representing the JSON description of the tile metadata
52
+ * @return {object} An object representing the JSON description of the tile metadata
53
53
  * @private
54
54
  */
55
55
  function parseBoundingVolume(prefix, tileMetadata) {
@@ -93,9 +93,9 @@ function parseBoundingVolume(prefix, tileMetadata) {
93
93
  * quadtree bounds for implicit tiling. This works for both
94
94
  * <code>TILE_MINIMUM_HEIGHT</code> and <code>CONTENT_MINIMUM_HEIGHT</code>
95
95
  *
96
- * @param {String} prefix Either "TILE" or "CONTENT"
96
+ * @param {string} prefix Either "TILE" or "CONTENT"
97
97
  * @param {TileMetadata} tileMetadata The tileMetadata for looking up values
98
- * @return {Number} The minimum height
98
+ * @return {number} The minimum height
99
99
  * @private
100
100
  */
101
101
  function parseMinimumHeight(prefix, tileMetadata) {
@@ -108,9 +108,9 @@ function parseMinimumHeight(prefix, tileMetadata) {
108
108
  * quadtree bounds for implicit tiling. This works for both
109
109
  * <code>TILE_MAXIMUM_HEIGHT</code> and <code>CONTENT_MAXIMUM_HEIGHT</code>
110
110
  *
111
- * @param {String} prefix Either "TILE" or "CONTENT"
111
+ * @param {string} prefix Either "TILE" or "CONTENT"
112
112
  * @param {TileMetadata} tileMetadata The tileMetadata for looking up values
113
- * @return {Number} The maximum height
113
+ * @return {number} The maximum height
114
114
  * @private
115
115
  */
116
116
  function parseMaximumHeight(prefix, tileMetadata) {
@@ -11,11 +11,11 @@ import MetadataTable from "./MetadataTable.js";
11
11
  * Parse the <code>EXT_feature_metadata</code> glTF extension to create a
12
12
  * structural metadata object.
13
13
  *
14
- * @param {Object} options Object with the following properties:
15
- * @param {Object} options.extension The extension JSON object.
14
+ * @param {object} options Object with the following properties:
15
+ * @param {object} options.extension The extension JSON object.
16
16
  * @param {MetadataSchema} options.schema The parsed schema.
17
- * @param {Object.<String, Uint8Array>} [options.bufferViews] An object mapping bufferView IDs to Uint8Array objects.
18
- * @param {Object.<String, Texture>} [options.textures] An object mapping texture IDs to {@link Texture} objects.
17
+ * @param {Object<string, Uint8Array>} [options.bufferViews] An object mapping bufferView IDs to Uint8Array objects.
18
+ * @param {Object<string, Texture>} [options.textures] An object mapping texture IDs to {@link Texture} objects.
19
19
  * @return {StructuralMetadata} A structural metadata object
20
20
  * @private
21
21
  * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
@@ -11,11 +11,11 @@ import MetadataTable from "./MetadataTable.js";
11
11
  * Parse the <code>EXT_structural_metadata</code> glTF extension to create a
12
12
  * structural metadata object.
13
13
  *
14
- * @param {Object} options Object with the following properties:
15
- * @param {Object} options.extension The extension JSON object.
14
+ * @param {object} options Object with the following properties:
15
+ * @param {object} options.extension The extension JSON object.
16
16
  * @param {MetadataSchema} options.schema The parsed schema.
17
- * @param {Object.<String, Uint8Array>} [options.bufferViews] An object mapping bufferView IDs to Uint8Array objects.
18
- * @param {Object.<String, Texture>} [options.textures] An object mapping texture IDs to {@link Texture} objects.
17
+ * @param {Object<string, Uint8Array>} [options.bufferViews] An object mapping bufferView IDs to Uint8Array objects.
18
+ * @param {Object<string, Texture>} [options.textures] An object mapping texture IDs to {@link Texture} objects.
19
19
  * @return {StructuralMetadata} A structural metadata object
20
20
  * @private
21
21
  * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
@@ -9,10 +9,10 @@ import Cesium3DTileContentType from "./Cesium3DTileContentType.js";
9
9
  * {@link Cesium3DTileContentType} and the payload. The payload is either
10
10
  * binary or JSON depending on the content type.
11
11
  *
12
- * @typedef {Object} PreprocessedContent
12
+ * @typedef {object} PreprocessedContent
13
13
  * @property {Cesium3DTileContentType} contentType The type of the content
14
14
  * @property {Uint8Array} [binaryPayload] For binary files, the payload is returned as a typed array with byteOffset of 0
15
- * @property {Object} [jsonPayload] For JSON files, the results are returned as a JSON object.
15
+ * @property {object} [jsonPayload] For JSON files, the results are returned as a JSON object.
16
16
  * @private
17
17
  */
18
18
 
@@ -151,6 +151,7 @@ function processVoxelProperties(renderResources, primitive) {
151
151
  shaderBuilder.addStructField(voxelStructId, "vec3", "positionUvLocal");
152
152
  shaderBuilder.addStructField(voxelStructId, "vec3", "viewDirUv");
153
153
  shaderBuilder.addStructField(voxelStructId, "vec3", "viewDirWorld");
154
+ shaderBuilder.addStructField(voxelStructId, "vec3", "surfaceNormal");
154
155
  shaderBuilder.addStructField(voxelStructId, "float", "travelDistance");
155
156
 
156
157
  // FragmentInput struct
@@ -355,7 +356,7 @@ function processVoxelProperties(renderResources, primitive) {
355
356
  * @function
356
357
  *
357
358
  * @param {MetadataType} type The {@link MetadataType}.
358
- * @returns {String} The GLSL type.
359
+ * @returns {string} The GLSL type.
359
360
  *
360
361
  * @private
361
362
  */
@@ -377,7 +378,7 @@ function getGlslType(type) {
377
378
  * @function
378
379
  *
379
380
  * @param {MetadataType} type The {@link MetadataType}.
380
- * @returns {String} The GLSL swizzle.
381
+ * @returns {string} The GLSL swizzle.
381
382
  *
382
383
  * @private
383
384
  */
@@ -399,7 +400,7 @@ function getGlslTextureSwizzle(type) {
399
400
  * @function
400
401
  *
401
402
  * @param {MetadataType} type The {@link MetadataType}.
402
- * @returns {String} The GLSL type.
403
+ * @returns {string} The GLSL type.
403
404
  *
404
405
  * @private
405
406
  */
@@ -421,8 +422,8 @@ function getGlslPartialDerivativeType(type) {
421
422
  *
422
423
  * @function
423
424
  *
424
- * @param {Number} number The number to convert.
425
- * @returns {String} The number as floating point in GLSL.
425
+ * @param {number} number The number to convert.
426
+ * @returns {string} The number as floating point in GLSL.
426
427
  *
427
428
  * @private
428
429
  */
@@ -440,8 +441,8 @@ function getGlslNumberAsFloat(number) {
440
441
  * @function
441
442
  *
442
443
  * @param {MetadataType} type
443
- * @param {Number} index
444
- * @returns {String}
444
+ * @param {number} index
445
+ * @returns {string}
445
446
  *
446
447
  * @private
447
448
  */
@@ -1,79 +1,73 @@
1
1
  // See IntersectionUtils.glsl for the definitions of Ray and NO_HIT
2
+ // See convertUvToBox.glsl for the definition of convertShapeUvToUvSpace
2
3
 
3
4
  /* Box defines (set in Scene/VoxelBoxShape.js)
4
5
  #define BOX_INTERSECTION_INDEX ### // always 0
5
- #define BOX_HAS_RENDER_BOUNDS
6
- #define BOX_IS_2D
7
6
  */
8
7
 
9
- #if defined(BOX_HAS_RENDER_BOUNDS)
10
- #if defined(BOX_IS_2D)
11
- // This matrix bakes in an axis conversion so that the math works for XY plane.
12
- uniform mat4 u_boxUvToRenderBoundsTransform;
13
- #else
14
- // Similar to u_boxTransformUvToBounds but fewer instructions needed.
15
- uniform vec3 u_boxUvToRenderBoundsScale;
16
- uniform vec3 u_boxUvToRenderBoundsTranslate;
17
- #endif
18
- #endif
8
+ uniform vec3 u_renderMinBounds;
9
+ uniform vec3 u_renderMaxBounds;
19
10
 
20
- vec2 intersectUnitCube(Ray ray) // Unit cube from [-1, +1]
11
+ struct Box {
12
+ vec3 p0;
13
+ vec3 p1;
14
+ };
15
+
16
+ Box constructVoxelBox(in ivec4 octreeCoords, in vec3 tileUv)
21
17
  {
22
- vec3 o = ray.pos;
23
- vec3 d = ray.dir;
18
+ // Find the min/max cornerpoints of the voxel in tile coordinates
19
+ vec3 tileOrigin = vec3(octreeCoords.xyz);
20
+ vec3 numSamples = vec3(u_dimensions);
21
+ vec3 voxelSize = 1.0 / numSamples;
22
+ vec3 coordP0 = floor(tileUv * numSamples) * voxelSize + tileOrigin;
23
+ vec3 coordP1 = coordP0 + voxelSize;
24
24
 
25
- vec3 dInv = 1.0 / d;
26
- vec3 od = -o * dInv;
27
- vec3 t0 = od - dInv;
28
- vec3 t1 = od + dInv;
29
- vec3 m0 = min(t0, t1);
30
- vec3 m1 = max(t0, t1);
31
- float tMin = max(max(m0.x, m0.y), m0.z);
32
- float tMax = min(min(m1.x, m1.y), m1.z);
25
+ // Transform to the UV coordinates of the scaled tileset
26
+ float tileSize = 1.0 / pow(2.0, float(octreeCoords.w));
27
+ vec3 p0 = convertShapeUvToUvSpace(coordP0 * tileSize);
28
+ vec3 p1 = convertShapeUvToUvSpace(coordP1 * tileSize);
33
29
 
34
- if (tMin >= tMax) {
35
- return vec2(NO_HIT);
36
- }
30
+ return Box(p0, p1);
31
+ }
37
32
 
38
- return vec2(tMin, tMax);
33
+ vec3 getBoxNormal(in Box box, in Ray ray, in float t)
34
+ {
35
+ vec3 hitPoint = ray.pos + t * ray.dir;
36
+ vec3 lower = step(hitPoint, box.p0);
37
+ vec3 upper = step(box.p1, hitPoint);
38
+ return normalize(upper - lower);
39
39
  }
40
40
 
41
- vec2 intersectUnitSquare(Ray ray) // Unit square from [-1, +1]
41
+ // Find the distances along a ray at which the ray intersects an axis-aligned box
42
+ // See https://tavianator.com/2011/ray_box.html
43
+ RayShapeIntersection intersectBox(in Ray ray, in Box box)
42
44
  {
43
- vec3 o = ray.pos;
44
- vec3 d = ray.dir;
45
+ // Consider the box as the intersection of the space between 3 pairs of parallel planes
46
+ // Compute the distance along the ray to each plane
47
+ vec3 t0 = (box.p0 - ray.pos) * ray.dInv;
48
+ vec3 t1 = (box.p1 - ray.pos) * ray.dInv;
45
49
 
46
- float t = -o.z / d.z;
47
- vec2 planePos = o.xy + d.xy * t;
48
- if (any(greaterThan(abs(planePos), vec2(1.0)))) {
49
- return vec2(NO_HIT);
50
+ // Identify candidate entries/exits based on distance from ray.pos
51
+ vec3 entries = min(t0, t1);
52
+ vec3 exits = max(t0, t1);
53
+
54
+ // The actual box intersection points are the furthest entry and the closest exit
55
+ float entryT = max(max(entries.x, entries.y), entries.z);
56
+ float exitT = min(min(exits.x, exits.y), exits.z);
57
+
58
+ vec3 entryNormal = getBoxNormal(box, ray, entryT - RAY_SHIFT);
59
+ vec3 exitNormal = getBoxNormal(box, ray, exitT + RAY_SHIFT);
60
+
61
+ if (entryT > exitT) {
62
+ entryT = NO_HIT;
63
+ exitT = NO_HIT;
50
64
  }
51
65
 
52
- return vec2(t, t);
66
+ return RayShapeIntersection(vec4(entryNormal, entryT), vec4(exitNormal, exitT));
53
67
  }
54
68
 
55
- void intersectShape(Ray ray, inout Intersections ix)
69
+ void intersectShape(in Ray ray, inout Intersections ix)
56
70
  {
57
- #if defined(BOX_HAS_RENDER_BOUNDS)
58
- #if defined(BOX_IS_2D)
59
- // Transform the ray into unit square space on Z plane
60
- // This matrix bakes in an axis conversion so that the math works for XY plane.
61
- ray.pos = vec3(u_boxUvToRenderBoundsTransform * vec4(ray.pos, 1.0));
62
- ray.dir = vec3(u_boxUvToRenderBoundsTransform * vec4(ray.dir, 0.0));
63
- vec2 entryExit = intersectUnitSquare(ray);
64
- #else
65
- // Transform the ray into unit cube space
66
- ray.pos = ray.pos * u_boxUvToRenderBoundsScale + u_boxUvToRenderBoundsTranslate;
67
- ray.dir *= u_boxUvToRenderBoundsScale;
68
- vec2 entryExit = intersectUnitCube(ray);
69
- #endif
70
- #else
71
- // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1].
72
- // Direction is scaled as well to be in sync with position.
73
- ray.pos = ray.pos * 2.0 - 1.0;
74
- ray.dir = ray.dir * 2.0;
75
- vec2 entryExit = intersectUnitCube(ray);
76
- #endif
77
-
78
- setIntersectionPair(ix, BOX_INTERSECTION_INDEX, entryExit);
71
+ RayShapeIntersection intersection = intersectBox(ray, Box(u_renderMinBounds, u_renderMaxBounds));
72
+ setShapeIntersection(ix, BOX_INTERSECTION_INDEX, intersection);
79
73
  }
@@ -1,81 +1,75 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
2
  export default "// See IntersectionUtils.glsl for the definitions of Ray and NO_HIT\n\
3
+ // See convertUvToBox.glsl for the definition of convertShapeUvToUvSpace\n\
3
4
  \n\
4
5
  /* Box defines (set in Scene/VoxelBoxShape.js)\n\
5
6
  #define BOX_INTERSECTION_INDEX ### // always 0\n\
6
- #define BOX_HAS_RENDER_BOUNDS\n\
7
- #define BOX_IS_2D\n\
8
7
  */\n\
9
8
  \n\
10
- #if defined(BOX_HAS_RENDER_BOUNDS)\n\
11
- #if defined(BOX_IS_2D)\n\
12
- // This matrix bakes in an axis conversion so that the math works for XY plane.\n\
13
- uniform mat4 u_boxUvToRenderBoundsTransform;\n\
14
- #else\n\
15
- // Similar to u_boxTransformUvToBounds but fewer instructions needed.\n\
16
- uniform vec3 u_boxUvToRenderBoundsScale;\n\
17
- uniform vec3 u_boxUvToRenderBoundsTranslate;\n\
18
- #endif\n\
19
- #endif\n\
9
+ uniform vec3 u_renderMinBounds;\n\
10
+ uniform vec3 u_renderMaxBounds;\n\
20
11
  \n\
21
- vec2 intersectUnitCube(Ray ray) // Unit cube from [-1, +1]\n\
12
+ struct Box {\n\
13
+ vec3 p0;\n\
14
+ vec3 p1;\n\
15
+ };\n\
16
+ \n\
17
+ Box constructVoxelBox(in ivec4 octreeCoords, in vec3 tileUv)\n\
22
18
  {\n\
23
- vec3 o = ray.pos;\n\
24
- vec3 d = ray.dir;\n\
19
+ // Find the min/max cornerpoints of the voxel in tile coordinates\n\
20
+ vec3 tileOrigin = vec3(octreeCoords.xyz);\n\
21
+ vec3 numSamples = vec3(u_dimensions);\n\
22
+ vec3 voxelSize = 1.0 / numSamples;\n\
23
+ vec3 coordP0 = floor(tileUv * numSamples) * voxelSize + tileOrigin;\n\
24
+ vec3 coordP1 = coordP0 + voxelSize;\n\
25
25
  \n\
26
- vec3 dInv = 1.0 / d;\n\
27
- vec3 od = -o * dInv;\n\
28
- vec3 t0 = od - dInv;\n\
29
- vec3 t1 = od + dInv;\n\
30
- vec3 m0 = min(t0, t1);\n\
31
- vec3 m1 = max(t0, t1);\n\
32
- float tMin = max(max(m0.x, m0.y), m0.z);\n\
33
- float tMax = min(min(m1.x, m1.y), m1.z);\n\
26
+ // Transform to the UV coordinates of the scaled tileset\n\
27
+ float tileSize = 1.0 / pow(2.0, float(octreeCoords.w));\n\
28
+ vec3 p0 = convertShapeUvToUvSpace(coordP0 * tileSize);\n\
29
+ vec3 p1 = convertShapeUvToUvSpace(coordP1 * tileSize);\n\
34
30
  \n\
35
- if (tMin >= tMax) {\n\
36
- return vec2(NO_HIT);\n\
37
- }\n\
31
+ return Box(p0, p1);\n\
32
+ }\n\
38
33
  \n\
39
- return vec2(tMin, tMax);\n\
34
+ vec3 getBoxNormal(in Box box, in Ray ray, in float t)\n\
35
+ {\n\
36
+ vec3 hitPoint = ray.pos + t * ray.dir;\n\
37
+ vec3 lower = step(hitPoint, box.p0);\n\
38
+ vec3 upper = step(box.p1, hitPoint);\n\
39
+ return normalize(upper - lower);\n\
40
40
  }\n\
41
41
  \n\
42
- vec2 intersectUnitSquare(Ray ray) // Unit square from [-1, +1]\n\
42
+ // Find the distances along a ray at which the ray intersects an axis-aligned box\n\
43
+ // See https://tavianator.com/2011/ray_box.html\n\
44
+ RayShapeIntersection intersectBox(in Ray ray, in Box box)\n\
43
45
  {\n\
44
- vec3 o = ray.pos;\n\
45
- vec3 d = ray.dir;\n\
46
+ // Consider the box as the intersection of the space between 3 pairs of parallel planes\n\
47
+ // Compute the distance along the ray to each plane\n\
48
+ vec3 t0 = (box.p0 - ray.pos) * ray.dInv;\n\
49
+ vec3 t1 = (box.p1 - ray.pos) * ray.dInv;\n\
46
50
  \n\
47
- float t = -o.z / d.z;\n\
48
- vec2 planePos = o.xy + d.xy * t;\n\
49
- if (any(greaterThan(abs(planePos), vec2(1.0)))) {\n\
50
- return vec2(NO_HIT);\n\
51
+ // Identify candidate entries/exits based on distance from ray.pos\n\
52
+ vec3 entries = min(t0, t1);\n\
53
+ vec3 exits = max(t0, t1);\n\
54
+ \n\
55
+ // The actual box intersection points are the furthest entry and the closest exit\n\
56
+ float entryT = max(max(entries.x, entries.y), entries.z);\n\
57
+ float exitT = min(min(exits.x, exits.y), exits.z);\n\
58
+ \n\
59
+ vec3 entryNormal = getBoxNormal(box, ray, entryT - RAY_SHIFT);\n\
60
+ vec3 exitNormal = getBoxNormal(box, ray, exitT + RAY_SHIFT);\n\
61
+ \n\
62
+ if (entryT > exitT) {\n\
63
+ entryT = NO_HIT;\n\
64
+ exitT = NO_HIT;\n\
51
65
  }\n\
52
66
  \n\
53
- return vec2(t, t);\n\
67
+ return RayShapeIntersection(vec4(entryNormal, entryT), vec4(exitNormal, exitT));\n\
54
68
  }\n\
55
69
  \n\
56
- void intersectShape(Ray ray, inout Intersections ix)\n\
70
+ void intersectShape(in Ray ray, inout Intersections ix)\n\
57
71
  {\n\
58
- #if defined(BOX_HAS_RENDER_BOUNDS)\n\
59
- #if defined(BOX_IS_2D)\n\
60
- // Transform the ray into unit square space on Z plane\n\
61
- // This matrix bakes in an axis conversion so that the math works for XY plane.\n\
62
- ray.pos = vec3(u_boxUvToRenderBoundsTransform * vec4(ray.pos, 1.0));\n\
63
- ray.dir = vec3(u_boxUvToRenderBoundsTransform * vec4(ray.dir, 0.0));\n\
64
- vec2 entryExit = intersectUnitSquare(ray);\n\
65
- #else\n\
66
- // Transform the ray into unit cube space\n\
67
- ray.pos = ray.pos * u_boxUvToRenderBoundsScale + u_boxUvToRenderBoundsTranslate;\n\
68
- ray.dir *= u_boxUvToRenderBoundsScale;\n\
69
- vec2 entryExit = intersectUnitCube(ray);\n\
70
- #endif\n\
71
- #else\n\
72
- // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1].\n\
73
- // Direction is scaled as well to be in sync with position.\n\
74
- ray.pos = ray.pos * 2.0 - 1.0;\n\
75
- ray.dir = ray.dir * 2.0;\n\
76
- vec2 entryExit = intersectUnitCube(ray);\n\
77
- #endif\n\
78
- \n\
79
- setIntersectionPair(ix, BOX_INTERSECTION_INDEX, entryExit);\n\
72
+ RayShapeIntersection intersection = intersectBox(ray, Box(u_renderMinBounds, u_renderMaxBounds));\n\
73
+ setShapeIntersection(ix, BOX_INTERSECTION_INDEX, intersection);\n\
80
74
  }\n\
81
75
  ";
@@ -11,60 +11,68 @@ uniform sampler2D u_clippingPlanesTexture;
11
11
  uniform mat4 u_clippingPlanesMatrix;
12
12
 
13
13
  // Plane is in Hessian Normal Form
14
- vec2 intersectPlane(Ray ray, vec4 plane) {
15
- vec3 o = ray.pos;
16
- vec3 d = ray.dir;
14
+ vec4 intersectPlane(in Ray ray, in vec4 plane) {
17
15
  vec3 n = plane.xyz; // normal
18
16
  float w = plane.w; // -dot(pointOnPlane, normal)
19
17
 
20
- float a = dot(o, n);
21
- float b = dot(d, n);
18
+ float a = dot(ray.pos, n);
19
+ float b = dot(ray.dir, n);
22
20
  float t = -(w + a) / b;
23
21
 
24
- if (dot(d, n) > 0.0) {
25
- return vec2(t, +INF_HIT);
26
- } else {
27
- return vec2(-INF_HIT, t);
28
- }
22
+ return vec4(n, t);
29
23
  }
30
24
 
31
- void intersectClippingPlanes(Ray ray, inout Intersections ix) {
25
+ void intersectClippingPlanes(in Ray ray, inout Intersections ix) {
26
+ vec4 backSide = vec4(-ray.dir, -INF_HIT);
27
+ vec4 farSide = vec4(ray.dir, +INF_HIT);
28
+ RayShapeIntersection clippingVolume;
29
+
32
30
  #if (CLIPPING_PLANES_COUNT == 1)
33
31
  // Union and intersection are the same when there's one clipping plane, and the code
34
32
  // is more simplified.
35
33
  vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, 0, u_clippingPlanesMatrix);
36
- vec2 intersection = intersectPlane(ray, planeUv);
37
- setIntersectionPair(ix, CLIPPING_PLANES_INTERSECTION_INDEX, intersection);
34
+ vec4 intersection = intersectPlane(ray, planeUv);
35
+ bool reflects = dot(ray.dir, intersection.xyz) < 0.0;
36
+ clippingVolume.entry = reflects ? backSide : intersection;
37
+ clippingVolume.exit = reflects ? intersection : farSide;
38
+ setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume);
38
39
  #elif defined(CLIPPING_PLANES_UNION)
39
- float minPositiveT = +INF_HIT;
40
- float maxNegativeT = -INF_HIT;
40
+ vec4 firstTransmission = vec4(ray.dir, +INF_HIT);
41
+ vec4 lastReflection = vec4(-ray.dir, -INF_HIT);
41
42
  for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) {
42
43
  vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix);
43
- vec2 intersection = intersectPlane(ray, planeUv);
44
- if (intersection.y == +INF_HIT) {
45
- minPositiveT = min(minPositiveT, intersection.x);
44
+ vec4 intersection = intersectPlane(ray, planeUv);
45
+ if (dot(ray.dir, planeUv.xyz) > 0.0) {
46
+ firstTransmission = intersection.w <= firstTransmission.w ? intersection : firstTransmission;
46
47
  } else {
47
- maxNegativeT = max(maxNegativeT, intersection.y);
48
+ lastReflection = intersection.w >= lastReflection.w ? intersection : lastReflection;
48
49
  }
49
50
  }
50
- setIntersectionPair(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 0, vec2(-INF_HIT, maxNegativeT));
51
- setIntersectionPair(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 1, vec2(minPositiveT, +INF_HIT));
51
+ clippingVolume.entry = backSide;
52
+ clippingVolume.exit = lastReflection;
53
+ setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 0, clippingVolume);
54
+ clippingVolume.entry = firstTransmission;
55
+ clippingVolume.exit = farSide;
56
+ setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 1, clippingVolume);
52
57
  #else // intersection
53
- float maxPositiveT = -INF_HIT;
54
- float minNegativeT = +INF_HIT;
58
+ vec4 lastTransmission = vec4(ray.dir, -INF_HIT);
59
+ vec4 firstReflection = vec4(-ray.dir, +INF_HIT);
55
60
  for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) {
56
61
  vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix);
57
- vec2 intersection = intersectPlane(ray, planeUv);
58
- if (intersection.y == +INF_HIT) {
59
- maxPositiveT = max(maxPositiveT, intersection.x);
62
+ vec4 intersection = intersectPlane(ray, planeUv);
63
+ if (dot(ray.dir, planeUv.xyz) > 0.0) {
64
+ lastTransmission = intersection.w > lastTransmission.w ? intersection : lastTransmission;
60
65
  } else {
61
- minNegativeT = min(minNegativeT, intersection.y);
66
+ firstReflection = intersection.w < firstReflection.w ? intersection: firstReflection;
62
67
  }
63
68
  }
64
- if (maxPositiveT < minNegativeT) {
65
- setIntersectionPair(ix, CLIPPING_PLANES_INTERSECTION_INDEX, vec2(maxPositiveT, minNegativeT));
69
+ if (lastTransmission.w < firstReflection.w) {
70
+ clippingVolume.entry = lastTransmission;
71
+ clippingVolume.exit = firstReflection;
66
72
  } else {
67
- setIntersectionPair(ix, CLIPPING_PLANES_INTERSECTION_INDEX, vec2(NO_HIT));
73
+ clippingVolume.entry = vec4(-ray.dir, NO_HIT);
74
+ clippingVolume.exit = vec4(ray.dir, NO_HIT);
68
75
  }
76
+ setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume);
69
77
  #endif
70
78
  }