@cesium/engine 11.0.0 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (748) hide show
  1. package/Build/Workers/{chunk-SIZXFNJY.js → chunk-26GA3JAM.js} +5 -5
  2. package/Build/Workers/{chunk-QGT2GMOK.js → chunk-27HUZ7SA.js} +4 -4
  3. package/Build/Workers/{chunk-BJ3WF5RW.js → chunk-2ZGOQXYU.js} +6 -6
  4. package/Build/Workers/{chunk-54VC7SCM.js → chunk-3Q2L65QU.js} +7 -7
  5. package/Build/Workers/{chunk-2MKRG7L7.js → chunk-472HQ3EH.js} +5 -5
  6. package/Build/Workers/{chunk-BZXF3GNX.js → chunk-5ODQSF26.js} +2 -2
  7. package/Build/Workers/{chunk-JYUCC5NV.js → chunk-5OOFQLKF.js} +6 -6
  8. package/Build/Workers/{chunk-6FFGOENI.js → chunk-5PTXS2GO.js} +46 -23
  9. package/Build/Workers/{chunk-T4MB73MC.js → chunk-6CHGCNMW.js} +2 -2
  10. package/Build/Workers/{chunk-IXLNNST6.js → chunk-76BYBWHP.js} +4 -4
  11. package/Build/Workers/{chunk-6PJIHPQB.js → chunk-7BMOHCPM.js} +13 -13
  12. package/Build/Workers/{chunk-HFMJM3SX.js → chunk-7JO7GPJN.js} +1 -1
  13. package/Build/Workers/{chunk-4TK5YR6Q.js → chunk-7KTQP4VB.js} +5 -5
  14. package/Build/Workers/{chunk-SRZJCF7G.js → chunk-7O373FFS.js} +8 -34
  15. package/Build/Workers/{chunk-OC4MYPVW.js → chunk-AD63PIY6.js} +2 -2
  16. package/Build/Workers/{chunk-HO2NTC7I.js → chunk-BHQJ2NT7.js} +6 -6
  17. package/Build/Workers/{chunk-IBG5FVXC.js → chunk-C6YYBQXW.js} +4 -4
  18. package/Build/Workers/{chunk-FJT3ERV7.js → chunk-CKY7HOHV.js} +9 -9
  19. package/Build/Workers/{chunk-4NBRIKB3.js → chunk-DHYHSFFJ.js} +2 -2
  20. package/Build/Workers/{chunk-KKAEXHDY.js → chunk-DI5NGJUP.js} +2 -2
  21. package/Build/Workers/{chunk-2RZYNSMR.js → chunk-E27BLMDD.js} +7 -9
  22. package/Build/Workers/{chunk-2EDC3QGH.js → chunk-E63IIM5T.js} +1 -1
  23. package/Build/Workers/{chunk-AI3O7UN2.js → chunk-E6V6SQZW.js} +6 -6
  24. package/Build/Workers/{chunk-RJF5ZP76.js → chunk-EJZTDTUH.js} +4 -4
  25. package/Build/Workers/{chunk-OOA6GXKD.js → chunk-FDOV2LBJ.js} +7 -7
  26. package/Build/Workers/{chunk-HBZSCVZC.js → chunk-FIGIZHAQ.js} +11 -11
  27. package/Build/Workers/{chunk-TTI2SUWJ.js → chunk-GESF4OXQ.js} +2 -2
  28. package/Build/Workers/{chunk-AUM45VEG.js → chunk-GGZJN2TI.js} +15 -15
  29. package/Build/Workers/{chunk-5IY5BXCT.js → chunk-GNBFYG7F.js} +83 -79
  30. package/Build/Workers/{chunk-6ZREIBKS.js → chunk-GWCFU2SA.js} +7 -7
  31. package/Build/Workers/{chunk-BUOFSNFW.js → chunk-I2ITFFPX.js} +1 -1
  32. package/Build/Workers/{chunk-AS7P4BHI.js → chunk-IBLIYJZR.js} +6 -6
  33. package/Build/Workers/{chunk-L6FARMF6.js → chunk-JW4FOI6M.js} +7 -7
  34. package/Build/Workers/{chunk-VSFFJGTA.js → chunk-K4GQUNB5.js} +5 -5
  35. package/Build/Workers/{chunk-BH5ZEN4I.js → chunk-M3GMB5OP.js} +10 -10
  36. package/Build/Workers/{chunk-HFPMX5L2.js → chunk-MXIZJAPH.js} +1 -1
  37. package/Build/Workers/{chunk-RFQYEYAL.js → chunk-N5KJGGCM.js} +18 -20
  38. package/Build/Workers/{chunk-WXDGOYTT.js → chunk-NGPPMXRM.js} +7 -7
  39. package/Build/Workers/{chunk-N3BIL6WA.js → chunk-O3E4OAOE.js} +13 -13
  40. package/Build/Workers/{chunk-DVAIU7A4.js → chunk-PGRPDNHG.js} +19 -23
  41. package/Build/Workers/{chunk-VHJ5ESXF.js → chunk-PRGYLLJT.js} +1 -1
  42. package/Build/Workers/{chunk-O5SSW3B3.js → chunk-S6MRMMQU.js} +6 -6
  43. package/Build/Workers/{chunk-XLCZE6DD.js → chunk-SMDOP47J.js} +10 -10
  44. package/Build/Workers/{chunk-WQRXRDCZ.js → chunk-TGONEMZO.js} +11 -11
  45. package/Build/Workers/{chunk-BBO6BGLC.js → chunk-TKVT5GQM.js} +13 -13
  46. package/Build/Workers/{chunk-KFW4UNQH.js → chunk-U72QNFOJ.js} +15 -25
  47. package/Build/Workers/{chunk-HZPMWR4H.js → chunk-VJZB3WAV.js} +7 -7
  48. package/Build/Workers/{chunk-OSCHEWSG.js → chunk-VU2MNO7L.js} +7 -7
  49. package/Build/Workers/{chunk-HA6TZ3XT.js → chunk-XY4BATBS.js} +4 -4
  50. package/Build/Workers/{chunk-DJXXI7UF.js → chunk-YFXQECWV.js} +5 -5
  51. package/Build/Workers/{chunk-GOHDOWU5.js → chunk-YSGTGQQO.js} +14 -14
  52. package/Build/Workers/{chunk-HC7RYWPZ.js → chunk-YZ733KKS.js} +12 -12
  53. package/Build/Workers/combineGeometry.js +23 -25
  54. package/Build/Workers/createBoxGeometry.js +16 -16
  55. package/Build/Workers/createBoxOutlineGeometry.js +14 -14
  56. package/Build/Workers/createCircleGeometry.js +24 -24
  57. package/Build/Workers/createCircleOutlineGeometry.js +17 -17
  58. package/Build/Workers/createCoplanarPolygonGeometry.js +31 -31
  59. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
  60. package/Build/Workers/createCorridorGeometry.js +27 -27
  61. package/Build/Workers/createCorridorOutlineGeometry.js +26 -26
  62. package/Build/Workers/createCylinderGeometry.js +18 -18
  63. package/Build/Workers/createCylinderOutlineGeometry.js +16 -16
  64. package/Build/Workers/createEllipseGeometry.js +24 -24
  65. package/Build/Workers/createEllipseOutlineGeometry.js +17 -17
  66. package/Build/Workers/createEllipsoidGeometry.js +17 -17
  67. package/Build/Workers/createEllipsoidOutlineGeometry.js +16 -16
  68. package/Build/Workers/createFrustumGeometry.js +16 -16
  69. package/Build/Workers/createFrustumOutlineGeometry.js +16 -16
  70. package/Build/Workers/createGeometry.js +25 -26
  71. package/Build/Workers/createGroundPolylineGeometry.js +20 -20
  72. package/Build/Workers/createPlaneGeometry.js +14 -14
  73. package/Build/Workers/createPlaneOutlineGeometry.js +13 -13
  74. package/Build/Workers/createPolygonGeometry.js +36 -40
  75. package/Build/Workers/createPolygonOutlineGeometry.js +40 -48
  76. package/Build/Workers/createPolylineGeometry.js +23 -23
  77. package/Build/Workers/createPolylineVolumeGeometry.js +32 -31
  78. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
  79. package/Build/Workers/createRectangleGeometry.js +28 -30
  80. package/Build/Workers/createRectangleOutlineGeometry.js +19 -19
  81. package/Build/Workers/createSimplePolylineGeometry.js +21 -21
  82. package/Build/Workers/createSphereGeometry.js +17 -17
  83. package/Build/Workers/createSphereOutlineGeometry.js +16 -16
  84. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  85. package/Build/Workers/createVectorTileClampedPolylines.js +13 -13
  86. package/Build/Workers/createVectorTileGeometries.js +22 -22
  87. package/Build/Workers/createVectorTilePoints.js +12 -12
  88. package/Build/Workers/createVectorTilePolygons.js +20 -20
  89. package/Build/Workers/createVectorTilePolylines.js +13 -13
  90. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -26
  91. package/Build/Workers/createVerticesFromHeightmap.js +22 -26
  92. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +42 -32
  93. package/Build/Workers/createWallGeometry.js +22 -22
  94. package/Build/Workers/createWallOutlineGeometry.js +21 -21
  95. package/Build/Workers/decodeDraco.js +11 -11
  96. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  97. package/Build/Workers/decodeI3S.js +10 -10
  98. package/Build/Workers/transcodeKTX2.js +7 -7
  99. package/Build/Workers/transferTypedArrayTest.js +1 -1
  100. package/Build/Workers/upsampleQuantizedTerrainMesh.js +20 -20
  101. package/Source/Core/ApproximateTerrainHeights.js +15 -15
  102. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +33 -35
  103. package/Source/Core/AttributeCompression.js +12 -12
  104. package/Source/Core/AxisAlignedBoundingBox.js +2 -2
  105. package/Source/Core/BingMapsGeocoderService.js +1 -1
  106. package/Source/Core/BoundingRectangle.js +3 -3
  107. package/Source/Core/BoundingSphere.js +44 -44
  108. package/Source/Core/BoxGeometry.js +6 -6
  109. package/Source/Core/BoxOutlineGeometry.js +3 -3
  110. package/Source/Core/Cartesian2.js +7 -7
  111. package/Source/Core/Cartesian3.js +20 -20
  112. package/Source/Core/Cartesian4.js +8 -8
  113. package/Source/Core/Cartographic.js +6 -6
  114. package/Source/Core/CatmullRomSpline.js +6 -6
  115. package/Source/Core/CesiumTerrainProvider.js +66 -68
  116. package/Source/Core/Check.d.ts +3 -3
  117. package/Source/Core/Check.js +11 -11
  118. package/Source/Core/CircleGeometry.js +6 -6
  119. package/Source/Core/CircleOutlineGeometry.js +4 -4
  120. package/Source/Core/Clock.js +4 -4
  121. package/Source/Core/Color.js +11 -8
  122. package/Source/Core/ColorGeometryInstanceAttribute.js +1 -1
  123. package/Source/Core/ComponentDatatype.js +4 -4
  124. package/Source/Core/CompressedTextureBuffer.js +2 -2
  125. package/Source/Core/ConstantSpline.js +1 -1
  126. package/Source/Core/CoplanarPolygonGeometry.js +44 -41
  127. package/Source/Core/CoplanarPolygonGeometryLibrary.js +5 -5
  128. package/Source/Core/CoplanarPolygonOutlineGeometry.js +6 -6
  129. package/Source/Core/CorridorGeometry.js +77 -77
  130. package/Source/Core/CorridorGeometryLibrary.js +45 -45
  131. package/Source/Core/CorridorOutlineGeometry.js +16 -16
  132. package/Source/Core/CullingVolume.js +4 -4
  133. package/Source/Core/CustomHeightmapTerrainProvider.js +13 -13
  134. package/Source/Core/CylinderGeometry.js +8 -8
  135. package/Source/Core/CylinderGeometryLibrary.js +1 -1
  136. package/Source/Core/CylinderOutlineGeometry.js +4 -4
  137. package/Source/Core/DeveloperError.js +1 -1
  138. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +20 -21
  139. package/Source/Core/DoubleEndedPriorityQueue.js +2 -2
  140. package/Source/Core/EarthOrientationParameters.js +21 -25
  141. package/Source/Core/EarthOrientationParametersSample.js +1 -1
  142. package/Source/Core/EllipseGeometry.js +54 -55
  143. package/Source/Core/EllipseGeometryLibrary.js +12 -12
  144. package/Source/Core/EllipseOutlineGeometry.js +19 -19
  145. package/Source/Core/Ellipsoid.js +25 -33
  146. package/Source/Core/EllipsoidGeodesic.js +17 -16
  147. package/Source/Core/EllipsoidGeometry.js +9 -8
  148. package/Source/Core/EllipsoidOutlineGeometry.js +4 -4
  149. package/Source/Core/EllipsoidRhumbLine.js +33 -32
  150. package/Source/Core/EllipsoidTangentPlane.js +16 -16
  151. package/Source/Core/EllipsoidTerrainProvider.js +11 -10
  152. package/Source/Core/EllipsoidalOccluder.js +110 -130
  153. package/Source/Core/FeatureDetection.js +4 -4
  154. package/Source/Core/FrustumGeometry.js +14 -14
  155. package/Source/Core/FrustumOutlineGeometry.js +4 -4
  156. package/Source/Core/GeographicTilingScheme.js +6 -6
  157. package/Source/Core/Geometry.js +15 -17
  158. package/Source/Core/GeometryAttribute.js +4 -9
  159. package/Source/Core/GeometryAttributes.js +6 -6
  160. package/Source/Core/GeometryInstance.js +3 -4
  161. package/Source/Core/GeometryInstanceAttribute.js +1 -6
  162. package/Source/Core/GeometryPipeline.js +133 -137
  163. package/Source/Core/GoogleEarthEnterpriseMetadata.js +19 -20
  164. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +25 -24
  165. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +17 -21
  166. package/Source/Core/GoogleEarthEnterpriseTileInformation.js +2 -2
  167. package/Source/Core/GoogleMaps.js +1 -1
  168. package/Source/Core/GregorianDate.js +4 -4
  169. package/Source/Core/GroundPolylineGeometry.js +104 -104
  170. package/Source/Core/HeadingPitchRoll.js +7 -7
  171. package/Source/Core/HeightmapTerrainData.js +58 -54
  172. package/Source/Core/HeightmapTessellator.js +22 -23
  173. package/Source/Core/HermitePolynomialApproximation.js +8 -8
  174. package/Source/Core/HermiteSpline.js +11 -11
  175. package/Source/Core/HilbertOrder.js +1 -1
  176. package/Source/Core/Iau2006XysData.js +6 -6
  177. package/Source/Core/IauOrientationAxes.js +2 -2
  178. package/Source/Core/IauOrientationParameters.js +1 -1
  179. package/Source/Core/IndexDatatype.js +5 -5
  180. package/Source/Core/IntersectionTests.js +36 -78
  181. package/Source/Core/Intersections2D.js +3 -3
  182. package/Source/Core/Ion.js +1 -1
  183. package/Source/Core/IonGeocoderService.js +2 -2
  184. package/Source/Core/IonResource.js +5 -5
  185. package/Source/Core/Iso8601.js +3 -3
  186. package/Source/Core/JulianDate.js +23 -33
  187. package/Source/Core/KTX2Transcoder.js +2 -2
  188. package/Source/Core/LagrangePolynomialApproximation.js +1 -1
  189. package/Source/Core/LinearApproximation.js +4 -4
  190. package/Source/Core/LinearSpline.js +2 -2
  191. package/Source/Core/Math.js +4 -4
  192. package/Source/Core/Matrix2.js +3 -3
  193. package/Source/Core/Matrix3.js +16 -16
  194. package/Source/Core/Matrix4.js +31 -31
  195. package/Source/Core/MorphWeightSpline.js +2 -2
  196. package/Source/Core/NearFarScalar.js +1 -1
  197. package/Source/Core/Occluder.js +52 -56
  198. package/Source/Core/OpenCageGeocoderService.js +2 -2
  199. package/Source/Core/OrientedBoundingBox.js +52 -51
  200. package/Source/Core/OrthographicFrustum.js +11 -11
  201. package/Source/Core/OrthographicOffCenterFrustum.js +17 -17
  202. package/Source/Core/PeliasGeocoderService.js +1 -1
  203. package/Source/Core/PerspectiveFrustum.js +61 -55
  204. package/Source/Core/PerspectiveOffCenterFrustum.js +58 -59
  205. package/Source/Core/PinBuilder.js +1 -1
  206. package/Source/Core/PixelFormat.js +6 -6
  207. package/Source/Core/Plane.js +9 -9
  208. package/Source/Core/PlaneGeometry.js +1 -1
  209. package/Source/Core/PolygonGeometry.js +95 -94
  210. package/Source/Core/PolygonGeometryLibrary.js +49 -51
  211. package/Source/Core/PolygonOutlineGeometry.js +49 -51
  212. package/Source/Core/PolygonPipeline.js +31 -31
  213. package/Source/Core/PolylineGeometry.js +10 -10
  214. package/Source/Core/PolylinePipeline.js +25 -25
  215. package/Source/Core/PolylineVolumeGeometry.js +9 -9
  216. package/Source/Core/PolylineVolumeGeometryLibrary.js +51 -51
  217. package/Source/Core/PolylineVolumeOutlineGeometry.js +6 -6
  218. package/Source/Core/QuadraticRealPolynomial.js +1 -1
  219. package/Source/Core/QuantizedMeshTerrainData.js +28 -28
  220. package/Source/Core/QuarticRealPolynomial.js +1 -1
  221. package/Source/Core/Quaternion.js +19 -19
  222. package/Source/Core/QuaternionSpline.js +2 -2
  223. package/Source/Core/Rectangle.js +34 -13
  224. package/Source/Core/RectangleCollisionChecker.js +3 -3
  225. package/Source/Core/RectangleGeometry.js +55 -56
  226. package/Source/Core/RectangleGeometryLibrary.js +8 -8
  227. package/Source/Core/RectangleOutlineGeometry.js +20 -20
  228. package/Source/Core/RequestScheduler.js +6 -6
  229. package/Source/Core/Resource.js +24 -24
  230. package/Source/Core/S2Cell.js +16 -80
  231. package/Source/Core/ScreenSpaceEventHandler.js +54 -53
  232. package/Source/Core/Simon1994PlanetaryPositions.js +13 -13
  233. package/Source/Core/SimplePolylineGeometry.js +7 -7
  234. package/Source/Core/SphereGeometry.js +2 -2
  235. package/Source/Core/SphereOutlineGeometry.js +3 -3
  236. package/Source/Core/Spline.js +1 -1
  237. package/Source/Core/SteppedSpline.js +1 -1
  238. package/Source/Core/Stereographic.js +9 -9
  239. package/Source/Core/TaskProcessor.js +13 -13
  240. package/Source/Core/TerrainEncoding.js +33 -38
  241. package/Source/Core/TerrainMesh.js +1 -1
  242. package/Source/Core/TerrainProvider.js +12 -12
  243. package/Source/Core/TileAvailability.js +28 -28
  244. package/Source/Core/TileProviderError.js +5 -5
  245. package/Source/Core/TilingScheme.js +1 -1
  246. package/Source/Core/TimeInterval.js +4 -4
  247. package/Source/Core/TimeIntervalCollection.js +16 -15
  248. package/Source/Core/Tipsify.js +2 -2
  249. package/Source/Core/Transforms.js +52 -54
  250. package/Source/Core/TranslationRotationScale.js +1 -1
  251. package/Source/Core/TridiagonalSystemSolver.js +4 -4
  252. package/Source/Core/VRTheWorldTerrainProvider.js +28 -26
  253. package/Source/Core/VertexFormat.js +6 -6
  254. package/Source/Core/VerticalExaggeration.js +4 -4
  255. package/Source/Core/VideoSynchronizer.js +1 -1
  256. package/Source/Core/WallGeometry.js +18 -18
  257. package/Source/Core/WallGeometryLibrary.js +7 -7
  258. package/Source/Core/WallOutlineGeometry.js +8 -8
  259. package/Source/Core/WebMercatorProjection.js +5 -6
  260. package/Source/Core/WebMercatorTilingScheme.js +13 -13
  261. package/Source/Core/WireframeIndexGenerator.js +8 -8
  262. package/Source/Core/arrayRemoveDuplicates.js +1 -1
  263. package/Source/Core/buildModuleUrl.js +2 -2
  264. package/Source/Core/decodeGoogleEarthEnterpriseData.js +3 -3
  265. package/Source/Core/decodeVectorPolylinePositions.js +4 -4
  266. package/Source/Core/destroyObject.js +1 -1
  267. package/Source/Core/getJsonFromTypedArray.js +1 -1
  268. package/Source/Core/getMagic.js +1 -1
  269. package/Source/Core/loadImageFromTypedArray.js +2 -2
  270. package/Source/Core/loadKTX2.js +1 -1
  271. package/Source/Core/pointInsideTriangle.js +1 -1
  272. package/Source/Core/resizeImageToNextPowerOfTwo.js +1 -1
  273. package/Source/Core/sampleTerrain.js +7 -7
  274. package/Source/Core/sampleTerrainMostDetailed.js +7 -7
  275. package/Source/Core/scaleToGeodeticSurface.js +3 -3
  276. package/Source/Core/srgbToLinear.js +1 -1
  277. package/Source/Core/writeTextToCanvas.js +1 -1
  278. package/Source/DataSources/BillboardGraphics.js +13 -13
  279. package/Source/DataSources/BillboardVisualizer.js +24 -24
  280. package/Source/DataSources/BoxGeometryUpdater.js +33 -32
  281. package/Source/DataSources/BoxGraphics.js +3 -3
  282. package/Source/DataSources/CallbackPositionProperty.js +173 -0
  283. package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
  284. package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -6
  285. package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
  286. package/Source/DataSources/ColorMaterialProperty.js +1 -1
  287. package/Source/DataSources/CompositeEntityCollection.js +14 -15
  288. package/Source/DataSources/CompositeMaterialProperty.js +5 -7
  289. package/Source/DataSources/CompositePositionProperty.js +4 -5
  290. package/Source/DataSources/CompositeProperty.js +2 -2
  291. package/Source/DataSources/ConstantPositionProperty.js +2 -2
  292. package/Source/DataSources/CorridorGeometryUpdater.js +61 -56
  293. package/Source/DataSources/CorridorGraphics.js +6 -6
  294. package/Source/DataSources/CylinderGeometryUpdater.js +42 -40
  295. package/Source/DataSources/CylinderGraphics.js +4 -4
  296. package/Source/DataSources/CzmlDataSource.js +365 -368
  297. package/Source/DataSources/DataSourceCollection.js +1 -1
  298. package/Source/DataSources/DataSourceDisplay.js +23 -23
  299. package/Source/DataSources/DynamicGeometryBatch.js +2 -2
  300. package/Source/DataSources/DynamicGeometryUpdater.js +14 -18
  301. package/Source/DataSources/EllipseGeometryUpdater.js +67 -63
  302. package/Source/DataSources/EllipseGraphics.js +7 -7
  303. package/Source/DataSources/EllipsoidGeometryUpdater.js +88 -86
  304. package/Source/DataSources/EllipsoidGraphics.js +5 -5
  305. package/Source/DataSources/Entity.js +13 -13
  306. package/Source/DataSources/EntityCluster.js +29 -27
  307. package/Source/DataSources/EntityCollection.js +7 -7
  308. package/Source/DataSources/EntityView.js +23 -23
  309. package/Source/DataSources/GeoJsonDataSource.js +25 -25
  310. package/Source/DataSources/GeometryUpdater.js +9 -10
  311. package/Source/DataSources/GeometryUpdaterSet.js +3 -3
  312. package/Source/DataSources/GeometryVisualizer.js +65 -71
  313. package/Source/DataSources/GpxDataSource.js +10 -10
  314. package/Source/DataSources/GridMaterialProperty.js +5 -5
  315. package/Source/DataSources/GroundGeometryUpdater.js +6 -6
  316. package/Source/DataSources/ImageMaterialProperty.js +2 -2
  317. package/Source/DataSources/KmlDataSource.js +212 -212
  318. package/Source/DataSources/LabelGraphics.js +14 -14
  319. package/Source/DataSources/LabelVisualizer.js +24 -24
  320. package/Source/DataSources/ModelGraphics.js +37 -17
  321. package/Source/DataSources/ModelVisualizer.js +41 -32
  322. package/Source/DataSources/NodeTransformationProperty.js +3 -3
  323. package/Source/DataSources/PathGraphics.js +2 -2
  324. package/Source/DataSources/PathVisualizer.js +99 -35
  325. package/Source/DataSources/PlaneGeometryUpdater.js +38 -37
  326. package/Source/DataSources/PlaneGraphics.js +2 -2
  327. package/Source/DataSources/PointGraphics.js +8 -8
  328. package/Source/DataSources/PointVisualizer.js +29 -29
  329. package/Source/DataSources/PolygonGeometryUpdater.js +68 -64
  330. package/Source/DataSources/PolygonGraphics.js +9 -9
  331. package/Source/DataSources/PolylineArrowMaterialProperty.js +1 -1
  332. package/Source/DataSources/PolylineDashMaterialProperty.js +4 -4
  333. package/Source/DataSources/PolylineGeometryUpdater.js +39 -44
  334. package/Source/DataSources/PolylineGlowMaterialProperty.js +3 -3
  335. package/Source/DataSources/PolylineGraphics.js +4 -4
  336. package/Source/DataSources/PolylineOutlineMaterialProperty.js +3 -3
  337. package/Source/DataSources/PolylineVisualizer.js +39 -43
  338. package/Source/DataSources/PolylineVolumeGeometryUpdater.js +70 -68
  339. package/Source/DataSources/PolylineVolumeGraphics.js +2 -2
  340. package/Source/DataSources/PositionProperty.js +4 -3
  341. package/Source/DataSources/PositionPropertyArray.js +3 -3
  342. package/Source/DataSources/Property.js +1 -1
  343. package/Source/DataSources/PropertyArray.js +1 -1
  344. package/Source/DataSources/PropertyBag.js +5 -5
  345. package/Source/DataSources/RectangleGeometryUpdater.js +68 -63
  346. package/Source/DataSources/RectangleGraphics.js +6 -6
  347. package/Source/DataSources/ReferenceProperty.js +6 -6
  348. package/Source/DataSources/Rotation.js +2 -2
  349. package/Source/DataSources/SampledPositionProperty.js +6 -6
  350. package/Source/DataSources/SampledProperty.js +16 -16
  351. package/Source/DataSources/ScaledPositionProperty.js +2 -2
  352. package/Source/DataSources/StaticGeometryColorBatch.js +41 -41
  353. package/Source/DataSources/StaticGeometryPerMaterialBatch.js +40 -40
  354. package/Source/DataSources/StaticGroundGeometryColorBatch.js +26 -27
  355. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +46 -44
  356. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +44 -43
  357. package/Source/DataSources/StaticOutlineGeometryBatch.js +28 -29
  358. package/Source/DataSources/StripeMaterialProperty.js +2 -2
  359. package/Source/DataSources/TerrainOffsetProperty.js +11 -11
  360. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +28 -30
  361. package/Source/DataSources/TimeIntervalCollectionProperty.js +1 -1
  362. package/Source/DataSources/VelocityOrientationProperty.js +3 -3
  363. package/Source/DataSources/VelocityVectorProperty.js +4 -4
  364. package/Source/DataSources/WallGeometryUpdater.js +25 -25
  365. package/Source/DataSources/WallGraphics.js +4 -4
  366. package/Source/DataSources/createPropertyDescriptor.js +3 -3
  367. package/Source/DataSources/exportKml.js +90 -86
  368. package/Source/DataSources/getElement.js +1 -1
  369. package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +4 -4
  370. package/Source/Renderer/AutomaticUniforms.js +1 -1
  371. package/Source/Renderer/Buffer.js +18 -18
  372. package/Source/Renderer/ClearCommand.js +1 -1
  373. package/Source/Renderer/ComputeEngine.js +1 -1
  374. package/Source/Renderer/Context.js +40 -40
  375. package/Source/Renderer/CubeMap.js +20 -20
  376. package/Source/Renderer/CubeMapFace.js +19 -19
  377. package/Source/Renderer/DrawCommand.js +50 -5
  378. package/Source/Renderer/Framebuffer.js +48 -49
  379. package/Source/Renderer/FramebufferManager.js +40 -34
  380. package/Source/Renderer/MultisampleFramebuffer.js +35 -14
  381. package/Source/Renderer/RenderState.js +36 -36
  382. package/Source/Renderer/Renderbuffer.js +3 -3
  383. package/Source/Renderer/Sampler.js +2 -2
  384. package/Source/Renderer/ShaderBuilder.js +8 -8
  385. package/Source/Renderer/ShaderCache.js +11 -15
  386. package/Source/Renderer/ShaderFunction.js +1 -1
  387. package/Source/Renderer/ShaderProgram.js +15 -15
  388. package/Source/Renderer/ShaderSource.js +40 -40
  389. package/Source/Renderer/Texture.js +74 -63
  390. package/Source/Renderer/UniformState.js +65 -58
  391. package/Source/Renderer/VertexArray.js +20 -20
  392. package/Source/Renderer/VertexArrayFacade.js +15 -16
  393. package/Source/Renderer/createUniform.js +1 -1
  394. package/Source/Renderer/createUniformArray.js +4 -4
  395. package/Source/Renderer/demodernizeShader.js +5 -5
  396. package/Source/Renderer/loadCubeMap.js +1 -1
  397. package/Source/Scene/ArcGisMapServerImageryProvider.js +39 -45
  398. package/Source/Scene/ArcGisMapService.js +4 -7
  399. package/Source/Scene/AutoExposure.js +4 -5
  400. package/Source/Scene/Axis.js +6 -6
  401. package/Source/Scene/B3dmParser.js +9 -9
  402. package/Source/Scene/BatchTable.js +7 -7
  403. package/Source/Scene/BatchTableHierarchy.js +62 -59
  404. package/Source/Scene/BatchTexture.js +2 -2
  405. package/Source/Scene/Billboard.js +45 -43
  406. package/Source/Scene/BillboardCollection.js +81 -83
  407. package/Source/Scene/BingMapsImageryProvider.js +13 -13
  408. package/Source/Scene/BoundingVolumeSemantics.js +10 -10
  409. package/Source/Scene/BoxEmitter.js +1 -1
  410. package/Source/Scene/BufferLoader.js +1 -1
  411. package/Source/Scene/Camera.js +161 -164
  412. package/Source/Scene/CameraEventAggregator.js +18 -18
  413. package/Source/Scene/CameraFlightPath.js +25 -25
  414. package/Source/Scene/Cesium3DTile.js +89 -95
  415. package/Source/Scene/Cesium3DTileBatchTable.js +61 -61
  416. package/Source/Scene/Cesium3DTileContentFactory.js +7 -7
  417. package/Source/Scene/Cesium3DTileFeature.js +1 -1
  418. package/Source/Scene/Cesium3DTileFeatureTable.js +8 -8
  419. package/Source/Scene/Cesium3DTileOptimizations.js +1 -1
  420. package/Source/Scene/Cesium3DTilePointFeature.js +11 -11
  421. package/Source/Scene/Cesium3DTileStyle.js +26 -24
  422. package/Source/Scene/Cesium3DTilesVoxelProvider.js +14 -20
  423. package/Source/Scene/Cesium3DTileset.js +81 -83
  424. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +8 -16
  425. package/Source/Scene/Cesium3DTilesetCache.js +2 -2
  426. package/Source/Scene/Cesium3DTilesetHeatmap.js +5 -5
  427. package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
  428. package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +2 -2
  429. package/Source/Scene/Cesium3DTilesetSkipTraversal.js +8 -12
  430. package/Source/Scene/Cesium3DTilesetStatistics.js +1 -1
  431. package/Source/Scene/Cesium3DTilesetTraversal.js +8 -10
  432. package/Source/Scene/ClassificationPrimitive.js +70 -69
  433. package/Source/Scene/ClippingPlaneCollection.js +39 -41
  434. package/Source/Scene/ClippingPolygon.js +8 -8
  435. package/Source/Scene/ClippingPolygonCollection.js +62 -63
  436. package/Source/Scene/CloudCollection.js +3 -10
  437. package/Source/Scene/Composite3DTileContent.js +6 -6
  438. package/Source/Scene/ConditionsExpression.js +5 -5
  439. package/Source/Scene/ContentMetadata.js +4 -4
  440. package/Source/Scene/CreditDisplay.js +8 -8
  441. package/Source/Scene/CumulusCloud.js +4 -4
  442. package/Source/Scene/DebugAppearance.js +2 -2
  443. package/Source/Scene/DebugCameraPrimitive.js +2 -2
  444. package/Source/Scene/DebugInspector.js +3 -3
  445. package/Source/Scene/DebugModelMatrixPrimitive.js +4 -4
  446. package/Source/Scene/DepthPlane.js +7 -7
  447. package/Source/Scene/DerivedCommand.js +422 -238
  448. package/Source/Scene/DiscardMissingTileImagePolicy.js +1 -1
  449. package/Source/Scene/DracoLoader.js +3 -3
  450. package/Source/Scene/EllipsoidPrimitive.js +7 -7
  451. package/Source/Scene/EllipsoidSurfaceAppearance.js +3 -3
  452. package/Source/Scene/Empty3DTileContent.js +1 -1
  453. package/Source/Scene/Expression.js +91 -91
  454. package/Source/Scene/Fog.js +8 -41
  455. package/Source/Scene/FrameRateMonitor.js +22 -22
  456. package/Source/Scene/FrameState.js +31 -0
  457. package/Source/Scene/Geometry3DTileContent.js +20 -20
  458. package/Source/Scene/GetFeatureInfoFormat.js +15 -14
  459. package/Source/Scene/Globe.js +32 -27
  460. package/Source/Scene/GlobeDepth.js +95 -66
  461. package/Source/Scene/GlobeSurfaceShaderSet.js +12 -10
  462. package/Source/Scene/GlobeSurfaceTile.js +33 -33
  463. package/Source/Scene/GlobeSurfaceTileProvider.js +127 -124
  464. package/Source/Scene/GlobeTranslucency.js +4 -4
  465. package/Source/Scene/GlobeTranslucencyFramebuffer.js +9 -9
  466. package/Source/Scene/GlobeTranslucencyState.js +53 -55
  467. package/Source/Scene/GltfBufferViewLoader.js +2 -2
  468. package/Source/Scene/GltfIndexBufferLoader.js +5 -5
  469. package/Source/Scene/GltfJsonLoader.js +2 -2
  470. package/Source/Scene/GltfLoader.js +177 -100
  471. package/Source/Scene/GltfStructuralMetadataLoader.js +9 -8
  472. package/Source/Scene/GltfTextureLoader.js +5 -5
  473. package/Source/Scene/GltfVertexBufferLoader.js +12 -13
  474. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +9 -9
  475. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +9 -9
  476. package/Source/Scene/GridImageryProvider.js +2 -2
  477. package/Source/Scene/GroundPolylinePrimitive.js +38 -39
  478. package/Source/Scene/GroundPrimitive.js +47 -45
  479. package/Source/Scene/GroupMetadata.js +4 -4
  480. package/Source/Scene/I3SDataProvider.js +12 -12
  481. package/Source/Scene/I3SDecoder.js +7 -8
  482. package/Source/Scene/I3SField.js +8 -8
  483. package/Source/Scene/I3SGeometry.js +14 -14
  484. package/Source/Scene/I3SLayer.js +26 -20
  485. package/Source/Scene/I3SNode.js +17 -17
  486. package/Source/Scene/I3SSublayer.js +4 -4
  487. package/Source/Scene/I3SSymbology.js +8 -8
  488. package/Source/Scene/I3dmParser.js +9 -9
  489. package/Source/Scene/ImageBasedLighting.js +25 -23
  490. package/Source/Scene/Imagery.js +3 -3
  491. package/Source/Scene/ImageryLayer.js +64 -66
  492. package/Source/Scene/ImageryLayerCollection.js +13 -15
  493. package/Source/Scene/ImageryLayerFeatureInfo.js +19 -20
  494. package/Source/Scene/ImageryProvider.js +1 -1
  495. package/Source/Scene/Implicit3DTileContent.js +34 -37
  496. package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -2
  497. package/Source/Scene/ImplicitMetadataView.js +2 -2
  498. package/Source/Scene/ImplicitSubtree.js +29 -30
  499. package/Source/Scene/ImplicitSubtreeCache.js +1 -1
  500. package/Source/Scene/ImplicitSubtreeMetadata.js +5 -5
  501. package/Source/Scene/ImplicitTileCoordinates.js +11 -11
  502. package/Source/Scene/ImplicitTileset.js +2 -2
  503. package/Source/Scene/InvertClassification.js +7 -7
  504. package/Source/Scene/IonImageryProvider.js +6 -6
  505. package/Source/Scene/JobScheduler.js +4 -4
  506. package/Source/Scene/Label.js +29 -29
  507. package/Source/Scene/LabelCollection.js +17 -15
  508. package/Source/Scene/MapboxImageryProvider.js +3 -3
  509. package/Source/Scene/MapboxStyleImageryProvider.js +4 -4
  510. package/Source/Scene/Material.js +26 -27
  511. package/Source/Scene/MaterialAppearance.js +4 -4
  512. package/Source/Scene/Megatexture.js +21 -24
  513. package/Source/Scene/MetadataClassProperty.js +11 -11
  514. package/Source/Scene/MetadataComponentType.js +1 -1
  515. package/Source/Scene/MetadataEntity.js +8 -8
  516. package/Source/Scene/MetadataEnum.js +1 -1
  517. package/Source/Scene/MetadataPicking.js +305 -0
  518. package/Source/Scene/MetadataSchemaLoader.js +1 -1
  519. package/Source/Scene/MetadataTable.js +2 -2
  520. package/Source/Scene/MetadataTableProperty.js +22 -22
  521. package/Source/Scene/Model/AlphaPipelineStage.js +2 -2
  522. package/Source/Scene/Model/AtmospherePipelineStage.js +3 -3
  523. package/Source/Scene/Model/B3dmLoader.js +8 -8
  524. package/Source/Scene/Model/BatchTexturePipelineStage.js +2 -2
  525. package/Source/Scene/Model/CPUStylingPipelineStage.js +4 -4
  526. package/Source/Scene/Model/ClassificationModelDrawCommand.js +8 -8
  527. package/Source/Scene/Model/ClassificationPipelineStage.js +5 -5
  528. package/Source/Scene/Model/CustomShader.js +9 -9
  529. package/Source/Scene/Model/CustomShaderPipelineStage.js +37 -38
  530. package/Source/Scene/Model/DequantizationPipelineStage.js +5 -5
  531. package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
  532. package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
  533. package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
  534. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
  535. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
  536. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +548 -0
  537. package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
  538. package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
  539. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +75 -0
  540. package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
  541. package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
  542. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +30 -0
  543. package/Source/Scene/Model/FeatureIdPipelineStage.js +40 -40
  544. package/Source/Scene/Model/GeoJsonLoader.js +17 -17
  545. package/Source/Scene/Model/GeometryPipelineStage.js +23 -24
  546. package/Source/Scene/Model/I3dmLoader.js +36 -36
  547. package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +15 -15
  548. package/Source/Scene/Model/InstancingPipelineStage.js +86 -86
  549. package/Source/Scene/Model/LightingPipelineStage.js +4 -4
  550. package/Source/Scene/Model/MaterialPipelineStage.js +78 -93
  551. package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
  552. package/Source/Scene/Model/MetadataPipelineStage.js +39 -47
  553. package/Source/Scene/Model/Model.js +134 -54
  554. package/Source/Scene/Model/Model3DTileContent.js +32 -13
  555. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  556. package/Source/Scene/Model/ModelAnimationCollection.js +9 -9
  557. package/Source/Scene/Model/ModelArticulation.js +2 -2
  558. package/Source/Scene/Model/ModelArticulationStage.js +4 -4
  559. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +11 -11
  560. package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +6 -6
  561. package/Source/Scene/Model/ModelColorPipelineStage.js +12 -13
  562. package/Source/Scene/Model/ModelDrawCommand.js +5 -5
  563. package/Source/Scene/Model/{buildDrawCommand.js → ModelDrawCommands.js} +85 -28
  564. package/Source/Scene/Model/ModelFeatureTable.js +5 -5
  565. package/Source/Scene/Model/ModelMatrixUpdateStage.js +24 -12
  566. package/Source/Scene/Model/ModelRenderResources.js +1 -1
  567. package/Source/Scene/Model/ModelRuntimeNode.js +15 -15
  568. package/Source/Scene/Model/ModelRuntimePrimitive.js +8 -5
  569. package/Source/Scene/Model/ModelSceneGraph.js +42 -43
  570. package/Source/Scene/Model/ModelSilhouettePipelineStage.js +4 -4
  571. package/Source/Scene/Model/ModelSkin.js +4 -4
  572. package/Source/Scene/Model/ModelSplitterPipelineStage.js +8 -9
  573. package/Source/Scene/Model/ModelUtility.js +5 -5
  574. package/Source/Scene/Model/MorphTargetsPipelineStage.js +18 -18
  575. package/Source/Scene/Model/NodeRenderResources.js +1 -1
  576. package/Source/Scene/Model/NodeStatisticsPipelineStage.js +1 -1
  577. package/Source/Scene/Model/PickingPipelineStage.js +5 -5
  578. package/Source/Scene/Model/PntsLoader.js +7 -7
  579. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +22 -23
  580. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +6 -6
  581. package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +7 -7
  582. package/Source/Scene/Model/PrimitiveRenderResources.js +3 -3
  583. package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +1 -1
  584. package/Source/Scene/Model/SceneMode2DPipelineStage.js +23 -23
  585. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +10 -14
  586. package/Source/Scene/Model/SkinningPipelineStage.js +5 -5
  587. package/Source/Scene/Model/StyleCommandsNeeded.js +1 -1
  588. package/Source/Scene/Model/TextureManager.js +2 -2
  589. package/Source/Scene/Model/TextureUniform.js +3 -3
  590. package/Source/Scene/Model/TilesetPipelineStage.js +2 -2
  591. package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +4 -4
  592. package/Source/Scene/Model/WireframePipelineStage.js +7 -7
  593. package/Source/Scene/Model/pickModel.js +26 -26
  594. package/Source/Scene/ModelComponents.js +13 -4
  595. package/Source/Scene/Moon.js +6 -5
  596. package/Source/Scene/Multiple3DTileContent.js +15 -14
  597. package/Source/Scene/OIT.js +48 -97
  598. package/Source/Scene/OpenStreetMapImageryProvider.js +8 -7
  599. package/Source/Scene/OrderedGroundPrimitiveCollection.js +2 -2
  600. package/Source/Scene/Particle.js +3 -3
  601. package/Source/Scene/ParticleEmitter.js +1 -1
  602. package/Source/Scene/ParticleSystem.js +32 -32
  603. package/Source/Scene/PerInstanceColorAppearance.js +1 -1
  604. package/Source/Scene/PickDepth.js +16 -4
  605. package/Source/Scene/PickDepthFramebuffer.js +1 -1
  606. package/Source/Scene/PickFramebuffer.js +24 -12
  607. package/Source/Scene/PickedMetadataInfo.js +39 -0
  608. package/Source/Scene/Picking.js +270 -120
  609. package/Source/Scene/PntsParser.js +28 -28
  610. package/Source/Scene/PointCloud.js +39 -38
  611. package/Source/Scene/PointCloudEyeDomeLighting.js +6 -6
  612. package/Source/Scene/PointCloudShading.js +3 -3
  613. package/Source/Scene/PointPrimitive.js +31 -28
  614. package/Source/Scene/PointPrimitiveCollection.js +34 -33
  615. package/Source/Scene/Polyline.js +9 -9
  616. package/Source/Scene/PolylineCollection.js +55 -57
  617. package/Source/Scene/PolylineColorAppearance.js +3 -3
  618. package/Source/Scene/PolylineMaterialAppearance.js +3 -3
  619. package/Source/Scene/PostProcessStage.js +95 -115
  620. package/Source/Scene/PostProcessStageCollection.js +35 -41
  621. package/Source/Scene/PostProcessStageComposite.js +2 -2
  622. package/Source/Scene/PostProcessStageLibrary.js +5 -5
  623. package/Source/Scene/PostProcessStageTextureCache.js +10 -10
  624. package/Source/Scene/Primitive.js +93 -93
  625. package/Source/Scene/PrimitiveCollection.js +1 -1
  626. package/Source/Scene/PrimitiveLoadPlan.js +1 -1
  627. package/Source/Scene/PrimitivePipeline.js +30 -30
  628. package/Source/Scene/PropertyTable.js +5 -5
  629. package/Source/Scene/PropertyTextureProperty.js +36 -7
  630. package/Source/Scene/QuadtreePrimitive.js +56 -58
  631. package/Source/Scene/QuadtreeTile.js +4 -4
  632. package/Source/Scene/QuadtreeTileProvider.js +1 -1
  633. package/Source/Scene/ResourceCache.js +7 -7
  634. package/Source/Scene/ResourceCacheKey.js +15 -15
  635. package/Source/Scene/Scene.js +879 -657
  636. package/Source/Scene/SceneFramebuffer.js +2 -2
  637. package/Source/Scene/SceneTransforms.js +30 -30
  638. package/Source/Scene/SceneTransitioner.js +47 -47
  639. package/Source/Scene/ScreenSpaceCameraController.js +160 -153
  640. package/Source/Scene/SensorVolumePortionToDisplay.js +1 -1
  641. package/Source/Scene/ShadowMap.js +71 -72
  642. package/Source/Scene/ShadowMapShader.js +9 -9
  643. package/Source/Scene/ShadowVolumeAppearance.js +39 -39
  644. package/Source/Scene/SingleTileImageryProvider.js +3 -3
  645. package/Source/Scene/SkyAtmosphere.js +8 -8
  646. package/Source/Scene/SkyBox.js +7 -8
  647. package/Source/Scene/SpatialNode.js +13 -13
  648. package/Source/Scene/SphereEmitter.js +1 -1
  649. package/Source/Scene/StructuralMetadata.js +1 -1
  650. package/Source/Scene/StyleExpression.js +1 -1
  651. package/Source/Scene/Sun.js +11 -7
  652. package/Source/Scene/SunPostProcess.js +6 -6
  653. package/Source/Scene/TerrainFillMesh.js +157 -156
  654. package/Source/Scene/TextureAtlas.js +11 -11
  655. package/Source/Scene/TileBoundingRegion.js +31 -31
  656. package/Source/Scene/TileBoundingS2Cell.js +37 -40
  657. package/Source/Scene/TileBoundingSphere.js +2 -2
  658. package/Source/Scene/TileCoordinatesImageryProvider.js +3 -3
  659. package/Source/Scene/TileImagery.js +7 -11
  660. package/Source/Scene/TileMapServiceImageryProvider.js +26 -25
  661. package/Source/Scene/TileMetadata.js +4 -4
  662. package/Source/Scene/TileOrientedBoundingBox.js +6 -6
  663. package/Source/Scene/Tileset3DTileContent.js +1 -1
  664. package/Source/Scene/TilesetMetadata.js +4 -4
  665. package/Source/Scene/TimeDynamicImagery.js +3 -3
  666. package/Source/Scene/TimeDynamicPointCloud.js +9 -9
  667. package/Source/Scene/TranslucentTileClassification.js +48 -58
  668. package/Source/Scene/TweenCollection.js +9 -9
  669. package/Source/Scene/UrlTemplateImageryProvider.js +23 -23
  670. package/Source/Scene/Vector3DTileClampedPolylines.js +21 -21
  671. package/Source/Scene/Vector3DTileContent.js +38 -39
  672. package/Source/Scene/Vector3DTileGeometry.js +11 -8
  673. package/Source/Scene/Vector3DTilePoints.js +18 -22
  674. package/Source/Scene/Vector3DTilePolygons.js +6 -6
  675. package/Source/Scene/Vector3DTilePolylines.js +8 -8
  676. package/Source/Scene/Vector3DTilePrimitive.js +30 -31
  677. package/Source/Scene/View.js +111 -80
  678. package/Source/Scene/VoxelBoxShape.js +34 -34
  679. package/Source/Scene/VoxelCell.js +7 -7
  680. package/Source/Scene/VoxelContent.js +1 -1
  681. package/Source/Scene/VoxelCylinderShape.js +48 -48
  682. package/Source/Scene/VoxelEllipsoidShape.js +83 -97
  683. package/Source/Scene/VoxelPrimitive.js +80 -80
  684. package/Source/Scene/VoxelRenderResources.js +13 -13
  685. package/Source/Scene/VoxelTraversal.js +41 -41
  686. package/Source/Scene/WebMapServiceImageryProvider.js +12 -12
  687. package/Source/Scene/WebMapTileServiceImageryProvider.js +8 -8
  688. package/Source/Scene/buildVoxelDrawCommands.js +10 -14
  689. package/Source/Scene/computeFlyToLocationForRectangle.js +7 -5
  690. package/Source/Scene/createBillboardPointCallback.js +2 -2
  691. package/Source/Scene/createElevationBandMaterial.js +8 -8
  692. package/Source/Scene/createGooglePhotorealistic3DTileset.js +1 -1
  693. package/Source/Scene/createOsmBuildingsAsync.js +1 -1
  694. package/Source/Scene/createTangentSpaceDebugPrimitive.js +7 -7
  695. package/Source/Scene/findContentMetadata.js +2 -2
  696. package/Source/Scene/findTileMetadata.js +2 -2
  697. package/Source/Scene/getBinaryAccessor.js +1 -1
  698. package/Source/Scene/getClipAndStyleCode.js +1 -1
  699. package/Source/Scene/getClippingFunction.js +1 -1
  700. package/Source/Scene/getMetadataClassProperty.js +43 -0
  701. package/Source/Scene/parseBatchTable.js +21 -24
  702. package/Source/Scene/parseFeatureMetadataLegacy.js +3 -3
  703. package/Source/Scene/parseStructuralMetadata.js +3 -3
  704. package/Source/Scene/processVoxelProperties.js +28 -33
  705. package/Source/Shaders/Builtin/Functions/packDepth.glsl +2 -2
  706. package/Source/Shaders/Builtin/Functions/packDepth.js +2 -2
  707. package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +3 -3
  708. package/Source/Shaders/Builtin/Functions/unpackDepth.js +3 -3
  709. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +1 -1
  710. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +1 -1
  711. package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +2 -2
  712. package/Source/Shaders/Builtin/Functions/writeLogDepth.js +2 -2
  713. package/Source/Shaders/DepthPlaneVS.glsl +1 -1
  714. package/Source/Shaders/DepthPlaneVS.js +1 -1
  715. package/Source/Shaders/Model/ModelFS.glsl +26 -0
  716. package/Source/Shaders/Model/ModelFS.js +26 -0
  717. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +59 -59
  718. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +60 -60
  719. package/Source/Widget/CesiumWidget.js +9 -8
  720. package/Source/Workers/combineGeometry.js +3 -4
  721. package/Source/Workers/createCircleGeometry.js +2 -2
  722. package/Source/Workers/createCircleOutlineGeometry.js +2 -2
  723. package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  724. package/Source/Workers/createCorridorOutlineGeometry.js +2 -2
  725. package/Source/Workers/createEllipsoidOutlineGeometry.js +1 -1
  726. package/Source/Workers/createGeometry.js +4 -5
  727. package/Source/Workers/createGroundPolylineGeometry.js +1 -1
  728. package/Source/Workers/createPolylineVolumeGeometry.js +2 -2
  729. package/Source/Workers/createPolylineVolumeOutlineGeometry.js +4 -4
  730. package/Source/Workers/createRectangleOutlineGeometry.js +1 -1
  731. package/Source/Workers/createSimplePolylineGeometry.js +2 -2
  732. package/Source/Workers/createTaskProcessorWorker.js +1 -1
  733. package/Source/Workers/createVectorTileClampedPolylines.js +30 -30
  734. package/Source/Workers/createVectorTileGeometries.js +18 -18
  735. package/Source/Workers/createVectorTilePoints.js +3 -3
  736. package/Source/Workers/createVectorTilePolygons.js +11 -11
  737. package/Source/Workers/createVectorTilePolylines.js +7 -7
  738. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +29 -30
  739. package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +60 -60
  740. package/Source/Workers/decodeDraco.js +23 -23
  741. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +3 -3
  742. package/Source/Workers/decodeI3S.js +53 -53
  743. package/Source/Workers/transcodeKTX2.js +9 -9
  744. package/Source/Workers/transferTypedArrayTest.js +1 -1
  745. package/Source/Workers/upsampleQuantizedTerrainMesh.js +37 -36
  746. package/index.d.ts +503 -35
  747. package/index.js +76 -59
  748. package/package.json +2 -2
@@ -45,6 +45,10 @@ void main()
45
45
  MetadataStatistics metadataStatistics;
46
46
  metadataStage(metadata, metadataClass, metadataStatistics, attributes);
47
47
 
48
+ //========================================================================
49
+ // When not picking metadata START
50
+ #ifndef METADATA_PICKING_ENABLED
51
+
48
52
  #ifdef HAS_SELECTED_FEATURE_ID
49
53
  selectedFeatureIdStage(selectedFeature, featureIds);
50
54
  #endif
@@ -73,6 +77,20 @@ void main()
73
77
 
74
78
  vec4 color = handleAlpha(material.diffuse, material.alpha);
75
79
 
80
+ // When not picking metadata END
81
+ //========================================================================
82
+ #else
83
+ //========================================================================
84
+ // When picking metadata START
85
+
86
+ vec4 metadataValues = vec4(0.0, 0.0, 0.0, 0.0);
87
+ metadataPickingStage(metadata, metadataClass, metadataValues);
88
+ vec4 color = metadataValues;
89
+
90
+ #endif
91
+ // When picking metadata END
92
+ //========================================================================
93
+
76
94
  #ifdef HAS_CLIPPING_PLANES
77
95
  modelClippingPlanesStage(color);
78
96
  #endif
@@ -81,6 +99,10 @@ void main()
81
99
  modelClippingPolygonsStage();
82
100
  #endif
83
101
 
102
+ //========================================================================
103
+ // When not picking metadata START
104
+ #ifndef METADATA_PICKING_ENABLED
105
+
84
106
  #if defined(HAS_SILHOUETTE) && defined(HAS_NORMALS)
85
107
  silhouetteStage(color);
86
108
  #endif
@@ -89,5 +111,9 @@ void main()
89
111
  atmosphereStage(color, attributes);
90
112
  #endif
91
113
 
114
+ #endif
115
+ // When not picking metadata END
116
+ //========================================================================
117
+
92
118
  out_FragColor = color;
93
119
  }
@@ -45,6 +45,10 @@ void main()\n\
45
45
  MetadataClass metadataClass;\n\
46
46
  MetadataStatistics metadataStatistics;\n\
47
47
  metadataStage(metadata, metadataClass, metadataStatistics, attributes);\n\
48
+ \n\
49
+ //========================================================================\n\
50
+ // When not picking metadata START\n\
51
+ #ifndef METADATA_PICKING_ENABLED\n\
48
52
  \n\
49
53
  #ifdef HAS_SELECTED_FEATURE_ID\n\
50
54
  selectedFeatureIdStage(selectedFeature, featureIds);\n\
@@ -73,6 +77,20 @@ void main()\n\
73
77
  #endif\n\
74
78
  \n\
75
79
  vec4 color = handleAlpha(material.diffuse, material.alpha);\n\
80
+ \n\
81
+ // When not picking metadata END\n\
82
+ //========================================================================\n\
83
+ #else \n\
84
+ //========================================================================\n\
85
+ // When picking metadata START\n\
86
+ \n\
87
+ vec4 metadataValues = vec4(0.0, 0.0, 0.0, 0.0);\n\
88
+ metadataPickingStage(metadata, metadataClass, metadataValues);\n\
89
+ vec4 color = metadataValues;\n\
90
+ \n\
91
+ #endif\n\
92
+ // When picking metadata END\n\
93
+ //========================================================================\n\
76
94
  \n\
77
95
  #ifdef HAS_CLIPPING_PLANES\n\
78
96
  modelClippingPlanesStage(color);\n\
@@ -81,6 +99,10 @@ void main()\n\
81
99
  #ifdef ENABLE_CLIPPING_POLYGONS\n\
82
100
  modelClippingPolygonsStage();\n\
83
101
  #endif\n\
102
+ \n\
103
+ //========================================================================\n\
104
+ // When not picking metadata START\n\
105
+ #ifndef METADATA_PICKING_ENABLED\n\
84
106
  \n\
85
107
  #if defined(HAS_SILHOUETTE) && defined(HAS_NORMALS)\n\
86
108
  silhouetteStage(color);\n\
@@ -89,6 +111,10 @@ void main()\n\
89
111
  #ifdef HAS_ATMOSPHERE\n\
90
112
  atmosphereStage(color, attributes);\n\
91
113
  #endif\n\
114
+ \n\
115
+ #endif\n\
116
+ // When not picking metadata END\n\
117
+ //========================================================================\n\
92
118
  \n\
93
119
  out_FragColor = color;\n\
94
120
  }\n\
@@ -1,3 +1,5 @@
1
+ precision highp float;
2
+
1
3
  uniform sampler2D randomTexture;
2
4
  uniform sampler2D depthTexture;
3
5
  uniform float intensity;
@@ -6,109 +8,107 @@ uniform float lengthCap;
6
8
  uniform float stepSize;
7
9
  uniform float frustumLength;
8
10
 
9
- in vec2 v_textureCoordinates;
10
-
11
- vec4 clipToEye(vec2 uv, float depth)
11
+ vec3 pixelToEye(vec2 screenCoordinate)
12
12
  {
13
- vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));
13
+ vec2 uv = screenCoordinate / czm_viewport.zw;
14
+ float depth = czm_readDepth(depthTexture, uv);
15
+ vec2 xy = 2.0 * uv - vec2(1.0);
14
16
  vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0);
15
- posEC = posEC / posEC.w;
16
- return posEC;
17
+ return posEC.xyz / posEC.w;
17
18
  }
18
19
 
19
- //Reconstruct Normal Without Edge Removation
20
- vec3 getNormalXEdge(vec3 posInCamera, float depthU, float depthD, float depthL, float depthR, vec2 pixelSize)
20
+ // Reconstruct surface normal in eye coordinates, avoiding edges
21
+ vec3 getNormalXEdge(vec3 positionEC)
21
22
  {
22
- vec4 posInCameraUp = clipToEye(v_textureCoordinates - vec2(0.0, pixelSize.y), depthU);
23
- vec4 posInCameraDown = clipToEye(v_textureCoordinates + vec2(0.0, pixelSize.y), depthD);
24
- vec4 posInCameraLeft = clipToEye(v_textureCoordinates - vec2(pixelSize.x, 0.0), depthL);
25
- vec4 posInCameraRight = clipToEye(v_textureCoordinates + vec2(pixelSize.x, 0.0), depthR);
26
-
27
- vec3 up = posInCamera.xyz - posInCameraUp.xyz;
28
- vec3 down = posInCameraDown.xyz - posInCamera.xyz;
29
- vec3 left = posInCamera.xyz - posInCameraLeft.xyz;
30
- vec3 right = posInCameraRight.xyz - posInCamera.xyz;
31
-
32
- vec3 DX = length(left) < length(right) ? left : right;
33
- vec3 DY = length(up) < length(down) ? up : down;
34
-
35
- return normalize(cross(DY, DX));
23
+ // Find the 3D surface positions at adjacent screen pixels
24
+ vec2 centerCoord = gl_FragCoord.xy;
25
+ vec3 positionLeft = pixelToEye(centerCoord + vec2(-1.0, 0.0));
26
+ vec3 positionRight = pixelToEye(centerCoord + vec2(1.0, 0.0));
27
+ vec3 positionUp = pixelToEye(centerCoord + vec2(0.0, 1.0));
28
+ vec3 positionDown = pixelToEye(centerCoord + vec2(0.0, -1.0));
29
+
30
+ // Compute potential tangent vectors
31
+ vec3 dx0 = positionEC - positionLeft;
32
+ vec3 dx1 = positionRight - positionEC;
33
+ vec3 dy0 = positionEC - positionDown;
34
+ vec3 dy1 = positionUp - positionEC;
35
+
36
+ // The shorter tangent is more likely to be on the same surface
37
+ vec3 dx = length(dx0) < length(dx1) ? dx0 : dx1;
38
+ vec3 dy = length(dy0) < length(dy1) ? dy0 : dy1;
39
+
40
+ return normalize(cross(dx, dy));
36
41
  }
37
42
 
38
43
  void main(void)
39
44
  {
40
- float depth = czm_readDepth(depthTexture, v_textureCoordinates);
41
- vec4 posInCamera = clipToEye(v_textureCoordinates, depth);
45
+ vec3 positionEC = pixelToEye(gl_FragCoord.xy);
42
46
 
43
- if (posInCamera.z > frustumLength)
47
+ if (positionEC.z > frustumLength)
44
48
  {
45
49
  out_FragColor = vec4(1.0);
46
50
  return;
47
51
  }
48
52
 
49
- vec2 pixelSize = czm_pixelRatio / czm_viewport.zw;
50
- float depthU = czm_readDepth(depthTexture, v_textureCoordinates - vec2(0.0, pixelSize.y));
51
- float depthD = czm_readDepth(depthTexture, v_textureCoordinates + vec2(0.0, pixelSize.y));
52
- float depthL = czm_readDepth(depthTexture, v_textureCoordinates - vec2(pixelSize.x, 0.0));
53
- float depthR = czm_readDepth(depthTexture, v_textureCoordinates + vec2(pixelSize.x, 0.0));
54
- vec3 normalInCamera = getNormalXEdge(posInCamera.xyz, depthU, depthD, depthL, depthR, pixelSize);
53
+ vec3 normalEC = getNormalXEdge(positionEC);
55
54
 
56
55
  float ao = 0.0;
57
- vec2 sampleDirection = vec2(1.0, 0.0);
58
- float gapAngle = 90.0 * czm_radiansPerDegree;
59
56
 
60
- // RandomNoise
61
- float randomVal = texture(randomTexture, v_textureCoordinates / pixelSize / 255.0).x;
62
-
63
- //Loop for each direction
64
- for (int i = 0; i < 4; i++)
57
+ const int ANGLE_STEPS = 4;
58
+ float angleStepScale = 1.0 / float(ANGLE_STEPS);
59
+ float angleStep = angleStepScale * czm_twoPi;
60
+ float cosStep = cos(angleStep);
61
+ float sinStep = sin(angleStep);
62
+ mat2 rotateStep = mat2(cosStep, sinStep, -sinStep, cosStep);
63
+
64
+ // Initial sampling direction (different for each pixel)
65
+ const float randomTextureSize = 255.0;
66
+ vec2 randomTexCoord = fract(gl_FragCoord.xy / randomTextureSize);
67
+ float randomVal = texture(randomTexture, randomTexCoord).x;
68
+ vec2 sampleDirection = vec2(cos(angleStep * randomVal), sin(angleStep * randomVal));
69
+
70
+ // Loop over sampling directions
71
+ for (int i = 0; i < ANGLE_STEPS; i++)
65
72
  {
66
- float newGapAngle = gapAngle * (float(i) + randomVal);
67
- float cosVal = cos(newGapAngle);
68
- float sinVal = sin(newGapAngle);
73
+ sampleDirection = rotateStep * sampleDirection;
69
74
 
70
- //Rotate Sampling Direction
71
- vec2 rotatedSampleDirection = vec2(cosVal * sampleDirection.x - sinVal * sampleDirection.y, sinVal * sampleDirection.x + cosVal * sampleDirection.y);
72
75
  float localAO = 0.0;
73
- float localStepSize = stepSize;
76
+ vec2 radialStep = stepSize * sampleDirection;
74
77
 
75
- //Loop for each step
76
78
  for (int j = 0; j < 6; j++)
77
79
  {
78
- vec2 newCoords = v_textureCoordinates + rotatedSampleDirection * localStepSize * pixelSize;
80
+ // Step along sampling direction, away from output pixel
81
+ vec2 newCoords = floor(gl_FragCoord.xy + float(j + 1) * radialStep) + vec2(0.5);
79
82
 
80
- //Exception Handling
81
- if(newCoords.x > 1.0 || newCoords.y > 1.0 || newCoords.x < 0.0 || newCoords.y < 0.0)
83
+ // Exit if we stepped off the screen
84
+ if (clamp(newCoords, vec2(0.0), czm_viewport.zw) != newCoords)
82
85
  {
83
86
  break;
84
87
  }
85
88
 
86
- float stepDepthInfo = czm_readDepth(depthTexture, newCoords);
87
- vec4 stepPosInCamera = clipToEye(newCoords, stepDepthInfo);
88
- vec3 diffVec = stepPosInCamera.xyz - posInCamera.xyz;
89
- float len = length(diffVec);
89
+ vec3 stepPositionEC = pixelToEye(newCoords);
90
+ vec3 stepVector = stepPositionEC - positionEC;
91
+ float stepLength = length(stepVector);
90
92
 
91
- if (len > lengthCap)
93
+ if (stepLength > lengthCap)
92
94
  {
93
95
  break;
94
96
  }
95
97
 
96
- float dotVal = clamp(dot(normalInCamera, normalize(diffVec)), 0.0, 1.0 );
97
- float weight = len / lengthCap;
98
- weight = 1.0 - weight * weight;
99
-
98
+ float dotVal = clamp(dot(normalEC, normalize(stepVector)), 0.0, 1.0);
100
99
  if (dotVal < bias)
101
100
  {
102
101
  dotVal = 0.0;
103
102
  }
104
103
 
104
+ float weight = stepLength / lengthCap;
105
+ weight = 1.0 - weight * weight;
105
106
  localAO = max(localAO, dotVal * weight);
106
- localStepSize += stepSize;
107
107
  }
108
108
  ao += localAO;
109
109
  }
110
110
 
111
- ao /= 4.0;
111
+ ao *= angleStepScale;
112
112
  ao = 1.0 - clamp(ao, 0.0, 1.0);
113
113
  ao = pow(ao, intensity);
114
114
  out_FragColor = vec4(vec3(ao), 1.0);
@@ -1,5 +1,7 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
- export default "uniform sampler2D randomTexture;\n\
2
+ export default "precision highp float;\n\
3
+ \n\
4
+ uniform sampler2D randomTexture;\n\
3
5
  uniform sampler2D depthTexture;\n\
4
6
  uniform float intensity;\n\
5
7
  uniform float bias;\n\
@@ -7,109 +9,107 @@ uniform float lengthCap;\n\
7
9
  uniform float stepSize;\n\
8
10
  uniform float frustumLength;\n\
9
11
  \n\
10
- in vec2 v_textureCoordinates;\n\
11
- \n\
12
- vec4 clipToEye(vec2 uv, float depth)\n\
12
+ vec3 pixelToEye(vec2 screenCoordinate)\n\
13
13
  {\n\
14
- vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));\n\
14
+ vec2 uv = screenCoordinate / czm_viewport.zw;\n\
15
+ float depth = czm_readDepth(depthTexture, uv);\n\
16
+ vec2 xy = 2.0 * uv - vec2(1.0);\n\
15
17
  vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0);\n\
16
- posEC = posEC / posEC.w;\n\
17
- return posEC;\n\
18
+ return posEC.xyz / posEC.w;\n\
18
19
  }\n\
19
20
  \n\
20
- //Reconstruct Normal Without Edge Removation\n\
21
- vec3 getNormalXEdge(vec3 posInCamera, float depthU, float depthD, float depthL, float depthR, vec2 pixelSize)\n\
21
+ // Reconstruct surface normal in eye coordinates, avoiding edges\n\
22
+ vec3 getNormalXEdge(vec3 positionEC)\n\
22
23
  {\n\
23
- vec4 posInCameraUp = clipToEye(v_textureCoordinates - vec2(0.0, pixelSize.y), depthU);\n\
24
- vec4 posInCameraDown = clipToEye(v_textureCoordinates + vec2(0.0, pixelSize.y), depthD);\n\
25
- vec4 posInCameraLeft = clipToEye(v_textureCoordinates - vec2(pixelSize.x, 0.0), depthL);\n\
26
- vec4 posInCameraRight = clipToEye(v_textureCoordinates + vec2(pixelSize.x, 0.0), depthR);\n\
27
- \n\
28
- vec3 up = posInCamera.xyz - posInCameraUp.xyz;\n\
29
- vec3 down = posInCameraDown.xyz - posInCamera.xyz;\n\
30
- vec3 left = posInCamera.xyz - posInCameraLeft.xyz;\n\
31
- vec3 right = posInCameraRight.xyz - posInCamera.xyz;\n\
32
- \n\
33
- vec3 DX = length(left) < length(right) ? left : right;\n\
34
- vec3 DY = length(up) < length(down) ? up : down;\n\
35
- \n\
36
- return normalize(cross(DY, DX));\n\
24
+ // Find the 3D surface positions at adjacent screen pixels\n\
25
+ vec2 centerCoord = gl_FragCoord.xy;\n\
26
+ vec3 positionLeft = pixelToEye(centerCoord + vec2(-1.0, 0.0));\n\
27
+ vec3 positionRight = pixelToEye(centerCoord + vec2(1.0, 0.0));\n\
28
+ vec3 positionUp = pixelToEye(centerCoord + vec2(0.0, 1.0));\n\
29
+ vec3 positionDown = pixelToEye(centerCoord + vec2(0.0, -1.0));\n\
30
+ \n\
31
+ // Compute potential tangent vectors\n\
32
+ vec3 dx0 = positionEC - positionLeft;\n\
33
+ vec3 dx1 = positionRight - positionEC;\n\
34
+ vec3 dy0 = positionEC - positionDown;\n\
35
+ vec3 dy1 = positionUp - positionEC;\n\
36
+ \n\
37
+ // The shorter tangent is more likely to be on the same surface\n\
38
+ vec3 dx = length(dx0) < length(dx1) ? dx0 : dx1;\n\
39
+ vec3 dy = length(dy0) < length(dy1) ? dy0 : dy1;\n\
40
+ \n\
41
+ return normalize(cross(dx, dy));\n\
37
42
  }\n\
38
43
  \n\
39
44
  void main(void)\n\
40
45
  {\n\
41
- float depth = czm_readDepth(depthTexture, v_textureCoordinates);\n\
42
- vec4 posInCamera = clipToEye(v_textureCoordinates, depth);\n\
46
+ vec3 positionEC = pixelToEye(gl_FragCoord.xy);\n\
43
47
  \n\
44
- if (posInCamera.z > frustumLength)\n\
48
+ if (positionEC.z > frustumLength)\n\
45
49
  {\n\
46
50
  out_FragColor = vec4(1.0);\n\
47
51
  return;\n\
48
52
  }\n\
49
53
  \n\
50
- vec2 pixelSize = czm_pixelRatio / czm_viewport.zw;\n\
51
- float depthU = czm_readDepth(depthTexture, v_textureCoordinates - vec2(0.0, pixelSize.y));\n\
52
- float depthD = czm_readDepth(depthTexture, v_textureCoordinates + vec2(0.0, pixelSize.y));\n\
53
- float depthL = czm_readDepth(depthTexture, v_textureCoordinates - vec2(pixelSize.x, 0.0));\n\
54
- float depthR = czm_readDepth(depthTexture, v_textureCoordinates + vec2(pixelSize.x, 0.0));\n\
55
- vec3 normalInCamera = getNormalXEdge(posInCamera.xyz, depthU, depthD, depthL, depthR, pixelSize);\n\
54
+ vec3 normalEC = getNormalXEdge(positionEC);\n\
56
55
  \n\
57
56
  float ao = 0.0;\n\
58
- vec2 sampleDirection = vec2(1.0, 0.0);\n\
59
- float gapAngle = 90.0 * czm_radiansPerDegree;\n\
60
57
  \n\
61
- // RandomNoise\n\
62
- float randomVal = texture(randomTexture, v_textureCoordinates / pixelSize / 255.0).x;\n\
63
- \n\
64
- //Loop for each direction\n\
65
- for (int i = 0; i < 4; i++)\n\
58
+ const int ANGLE_STEPS = 4;\n\
59
+ float angleStepScale = 1.0 / float(ANGLE_STEPS);\n\
60
+ float angleStep = angleStepScale * czm_twoPi;\n\
61
+ float cosStep = cos(angleStep);\n\
62
+ float sinStep = sin(angleStep);\n\
63
+ mat2 rotateStep = mat2(cosStep, sinStep, -sinStep, cosStep);\n\
64
+ \n\
65
+ // Initial sampling direction (different for each pixel)\n\
66
+ const float randomTextureSize = 255.0;\n\
67
+ vec2 randomTexCoord = fract(gl_FragCoord.xy / randomTextureSize);\n\
68
+ float randomVal = texture(randomTexture, randomTexCoord).x;\n\
69
+ vec2 sampleDirection = vec2(cos(angleStep * randomVal), sin(angleStep * randomVal));\n\
70
+ \n\
71
+ // Loop over sampling directions\n\
72
+ for (int i = 0; i < ANGLE_STEPS; i++)\n\
66
73
  {\n\
67
- float newGapAngle = gapAngle * (float(i) + randomVal);\n\
68
- float cosVal = cos(newGapAngle);\n\
69
- float sinVal = sin(newGapAngle);\n\
74
+ sampleDirection = rotateStep * sampleDirection;\n\
70
75
  \n\
71
- //Rotate Sampling Direction\n\
72
- vec2 rotatedSampleDirection = vec2(cosVal * sampleDirection.x - sinVal * sampleDirection.y, sinVal * sampleDirection.x + cosVal * sampleDirection.y);\n\
73
76
  float localAO = 0.0;\n\
74
- float localStepSize = stepSize;\n\
77
+ vec2 radialStep = stepSize * sampleDirection;\n\
75
78
  \n\
76
- //Loop for each step\n\
77
79
  for (int j = 0; j < 6; j++)\n\
78
80
  {\n\
79
- vec2 newCoords = v_textureCoordinates + rotatedSampleDirection * localStepSize * pixelSize;\n\
81
+ // Step along sampling direction, away from output pixel\n\
82
+ vec2 newCoords = floor(gl_FragCoord.xy + float(j + 1) * radialStep) + vec2(0.5);\n\
80
83
  \n\
81
- //Exception Handling\n\
82
- if(newCoords.x > 1.0 || newCoords.y > 1.0 || newCoords.x < 0.0 || newCoords.y < 0.0)\n\
84
+ // Exit if we stepped off the screen\n\
85
+ if (clamp(newCoords, vec2(0.0), czm_viewport.zw) != newCoords)\n\
83
86
  {\n\
84
87
  break;\n\
85
88
  }\n\
86
89
  \n\
87
- float stepDepthInfo = czm_readDepth(depthTexture, newCoords);\n\
88
- vec4 stepPosInCamera = clipToEye(newCoords, stepDepthInfo);\n\
89
- vec3 diffVec = stepPosInCamera.xyz - posInCamera.xyz;\n\
90
- float len = length(diffVec);\n\
90
+ vec3 stepPositionEC = pixelToEye(newCoords);\n\
91
+ vec3 stepVector = stepPositionEC - positionEC;\n\
92
+ float stepLength = length(stepVector);\n\
91
93
  \n\
92
- if (len > lengthCap)\n\
94
+ if (stepLength > lengthCap)\n\
93
95
  {\n\
94
96
  break;\n\
95
97
  }\n\
96
98
  \n\
97
- float dotVal = clamp(dot(normalInCamera, normalize(diffVec)), 0.0, 1.0 );\n\
98
- float weight = len / lengthCap;\n\
99
- weight = 1.0 - weight * weight;\n\
100
- \n\
99
+ float dotVal = clamp(dot(normalEC, normalize(stepVector)), 0.0, 1.0);\n\
101
100
  if (dotVal < bias)\n\
102
101
  {\n\
103
102
  dotVal = 0.0;\n\
104
103
  }\n\
105
104
  \n\
105
+ float weight = stepLength / lengthCap;\n\
106
+ weight = 1.0 - weight * weight;\n\
106
107
  localAO = max(localAO, dotVal * weight);\n\
107
- localStepSize += stepSize;\n\
108
108
  }\n\
109
109
  ao += localAO;\n\
110
110
  }\n\
111
111
  \n\
112
- ao /= 4.0;\n\
112
+ ao *= angleStepScale;\n\
113
113
  ao = 1.0 - clamp(ao, 0.0, 1.0);\n\
114
114
  ao = pow(ao, intensity);\n\
115
115
  out_FragColor = vec4(vec3(ao), 1.0);\n\
@@ -192,7 +192,8 @@ function CesiumWidget(container, options) {
192
192
  container.appendChild(element);
193
193
 
194
194
  const canvas = document.createElement("canvas");
195
- const supportsImageRenderingPixelated = FeatureDetection.supportsImageRenderingPixelated();
195
+ const supportsImageRenderingPixelated =
196
+ FeatureDetection.supportsImageRenderingPixelated();
196
197
  this._supportsImageRenderingPixelated = supportsImageRenderingPixelated;
197
198
  if (supportsImageRenderingPixelated) {
198
199
  canvas.style.imageRendering = FeatureDetection.imageRenderingValue();
@@ -221,7 +222,7 @@ function CesiumWidget(container, options) {
221
222
 
222
223
  const blurActiveElementOnCanvasFocus = defaultValue(
223
224
  options.blurActiveElementOnCanvasFocus,
224
- true
225
+ true,
225
226
  );
226
227
 
227
228
  if (blurActiveElementOnCanvasFocus) {
@@ -247,7 +248,7 @@ function CesiumWidget(container, options) {
247
248
 
248
249
  const useBrowserRecommendedResolution = defaultValue(
249
250
  options.useBrowserRecommendedResolution,
250
- true
251
+ true,
251
252
  );
252
253
 
253
254
  this._element = element;
@@ -303,7 +304,7 @@ function CesiumWidget(container, options) {
303
304
  scene.globe = globe;
304
305
  scene.globe.shadows = defaultValue(
305
306
  options.terrainShadows,
306
- ShadowMode.RECEIVE_ONLY
307
+ ShadowMode.RECEIVE_ONLY,
307
308
  );
308
309
  }
309
310
 
@@ -348,7 +349,7 @@ function CesiumWidget(container, options) {
348
349
  //>>includeStart('debug', pragmas.debug);
349
350
  if (defined(options.terrainProvider)) {
350
351
  throw new DeveloperError(
351
- "Specify either options.terrainProvider or options.terrain."
352
+ "Specify either options.terrainProvider or options.terrain.",
352
353
  );
353
354
  }
354
355
  //>>includeEnd('debug')
@@ -370,7 +371,7 @@ function CesiumWidget(container, options) {
370
371
  this._useDefaultRenderLoop = undefined;
371
372
  this.useDefaultRenderLoop = defaultValue(
372
373
  options.useDefaultRenderLoop,
373
- true
374
+ true,
374
375
  );
375
376
 
376
377
  this._targetFrameRate = undefined;
@@ -573,7 +574,7 @@ Object.defineProperties(CesiumWidget.prototype, {
573
574
  //>>includeStart('debug', pragmas.debug);
574
575
  if (value <= 0) {
575
576
  throw new DeveloperError(
576
- "targetFrameRate must be greater than 0, or undefined."
577
+ "targetFrameRate must be greater than 0, or undefined.",
577
578
  );
578
579
  }
579
580
  //>>includeEnd('debug');
@@ -693,7 +694,7 @@ CesiumWidget.prototype.showErrorPanel = function (title, message, error) {
693
694
  function resizeCallback() {
694
695
  errorPanelScroller.style.maxHeight = `${Math.max(
695
696
  Math.round(element.clientHeight * 0.9 - 100),
696
- 30
697
+ 30,
697
698
  )}px`;
698
699
  }
699
700
  resizeCallback();
@@ -2,13 +2,12 @@ import PrimitivePipeline from "../Scene/PrimitivePipeline.js";
2
2
  import createTaskProcessorWorker from "./createTaskProcessorWorker.js";
3
3
 
4
4
  function combineGeometry(packedParameters, transferableObjects) {
5
- const parameters = PrimitivePipeline.unpackCombineGeometryParameters(
6
- packedParameters
7
- );
5
+ const parameters =
6
+ PrimitivePipeline.unpackCombineGeometryParameters(packedParameters);
8
7
  const results = PrimitivePipeline.combineGeometry(parameters);
9
8
  return PrimitivePipeline.packCombineGeometryResults(
10
9
  results,
11
- transferableObjects
10
+ transferableObjects,
12
11
  );
13
12
  }
14
13
  export default createTaskProcessorWorker(combineGeometry);
@@ -8,10 +8,10 @@ function createCircleGeometry(circleGeometry, offset) {
8
8
  circleGeometry = CircleGeometry.unpack(circleGeometry, offset);
9
9
  }
10
10
  circleGeometry._ellipseGeometry._center = Cartesian3.clone(
11
- circleGeometry._ellipseGeometry._center
11
+ circleGeometry._ellipseGeometry._center,
12
12
  );
13
13
  circleGeometry._ellipseGeometry._ellipsoid = Ellipsoid.clone(
14
- circleGeometry._ellipseGeometry._ellipsoid
14
+ circleGeometry._ellipseGeometry._ellipsoid,
15
15
  );
16
16
  return CircleGeometry.createGeometry(circleGeometry);
17
17
  }
@@ -8,10 +8,10 @@ function createCircleOutlineGeometry(circleGeometry, offset) {
8
8
  circleGeometry = CircleOutlineGeometry.unpack(circleGeometry, offset);
9
9
  }
10
10
  circleGeometry._ellipseGeometry._center = Cartesian3.clone(
11
- circleGeometry._ellipseGeometry._center
11
+ circleGeometry._ellipseGeometry._center,
12
12
  );
13
13
  circleGeometry._ellipseGeometry._ellipsoid = Ellipsoid.clone(
14
- circleGeometry._ellipseGeometry._ellipsoid
14
+ circleGeometry._ellipseGeometry._ellipsoid,
15
15
  );
16
16
  return CircleOutlineGeometry.createGeometry(circleGeometry);
17
17
  }
@@ -6,7 +6,7 @@ function createCoplanarPolygonOutlineGeometry(polygonGeometry, offset) {
6
6
  if (defined(offset)) {
7
7
  polygonGeometry = CoplanarPolygonOutlineGeometry.unpack(
8
8
  polygonGeometry,
9
- offset
9
+ offset,
10
10
  );
11
11
  }
12
12
  polygonGeometry._ellipsoid = Ellipsoid.clone(polygonGeometry._ellipsoid);
@@ -6,11 +6,11 @@ function createCorridorOutlineGeometry(corridorOutlineGeometry, offset) {
6
6
  if (defined(offset)) {
7
7
  corridorOutlineGeometry = CorridorOutlineGeometry.unpack(
8
8
  corridorOutlineGeometry,
9
- offset
9
+ offset,
10
10
  );
11
11
  }
12
12
  corridorOutlineGeometry._ellipsoid = Ellipsoid.clone(
13
- corridorOutlineGeometry._ellipsoid
13
+ corridorOutlineGeometry._ellipsoid,
14
14
  );
15
15
  return CorridorOutlineGeometry.createGeometry(corridorOutlineGeometry);
16
16
  }
@@ -5,7 +5,7 @@ function createEllipsoidOutlineGeometry(ellipsoidGeometry, offset) {
5
5
  if (defined(ellipsoidGeometry.buffer, offset)) {
6
6
  ellipsoidGeometry = EllipsoidOutlineGeometry.unpack(
7
7
  ellipsoidGeometry,
8
- offset
8
+ offset,
9
9
  );
10
10
  }
11
11
  return EllipsoidOutlineGeometry.createGeometry(ellipsoidGeometry);
@@ -60,10 +60,9 @@ async function createGeometry(parameters, transferableObjects) {
60
60
  }
61
61
 
62
62
  if (defined(moduleName) || defined(modulePath)) {
63
- resultsOrPromises[i] = getModule(
64
- moduleName,
65
- modulePath
66
- ).then((createFunction) => createFunction(geometry, task.offset));
63
+ resultsOrPromises[i] = getModule(moduleName, modulePath).then(
64
+ (createFunction) => createFunction(geometry, task.offset),
65
+ );
67
66
  } else {
68
67
  // Already created geometry
69
68
  resultsOrPromises[i] = geometry;
@@ -73,7 +72,7 @@ async function createGeometry(parameters, transferableObjects) {
73
72
  return Promise.all(resultsOrPromises).then(function (results) {
74
73
  return PrimitivePipeline.packCreateGeometryResults(
75
74
  results,
76
- transferableObjects
75
+ transferableObjects,
77
76
  );
78
77
  });
79
78
  }
@@ -7,7 +7,7 @@ function createGroundPolylineGeometry(groundPolylineGeometry, offset) {
7
7
  if (defined(offset)) {
8
8
  groundPolylineGeometry = GroundPolylineGeometry.unpack(
9
9
  groundPolylineGeometry,
10
- offset
10
+ offset,
11
11
  );
12
12
  }
13
13
  return GroundPolylineGeometry.createGeometry(groundPolylineGeometry);
@@ -6,11 +6,11 @@ function createPolylineVolumeGeometry(polylineVolumeGeometry, offset) {
6
6
  if (defined(offset)) {
7
7
  polylineVolumeGeometry = PolylineVolumeGeometry.unpack(
8
8
  polylineVolumeGeometry,
9
- offset
9
+ offset,
10
10
  );
11
11
  }
12
12
  polylineVolumeGeometry._ellipsoid = Ellipsoid.clone(
13
- polylineVolumeGeometry._ellipsoid
13
+ polylineVolumeGeometry._ellipsoid,
14
14
  );
15
15
  return PolylineVolumeGeometry.createGeometry(polylineVolumeGeometry);
16
16
  }