@hztxi/cesium-engine 25.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1964) hide show
  1. package/Build/ThirdParty/Workers/zip-web-worker.js +640 -0
  2. package/Build/Workers/chunk-3GCPDH2L.js +102 -0
  3. package/Build/Workers/chunk-3MADNO4X.js +1067 -0
  4. package/Build/Workers/chunk-3TKLDHV3.js +58 -0
  5. package/Build/Workers/chunk-3WDC2GH6.js +2719 -0
  6. package/Build/Workers/chunk-4FNZCUUX.js +1483 -0
  7. package/Build/Workers/chunk-4MTRQFJP.js +56 -0
  8. package/Build/Workers/chunk-4VKEY67A.js +76 -0
  9. package/Build/Workers/chunk-5T6QQAJW.js +56 -0
  10. package/Build/Workers/chunk-6SDGQI27.js +38 -0
  11. package/Build/Workers/chunk-6ZAVOU5L.js +140 -0
  12. package/Build/Workers/chunk-74MSEXYZ.js +280 -0
  13. package/Build/Workers/chunk-77RL3MBD.js +257 -0
  14. package/Build/Workers/chunk-7P2BCMTU.js +198 -0
  15. package/Build/Workers/chunk-AT5SJZKV.js +305 -0
  16. package/Build/Workers/chunk-BBRRFEOV.js +455 -0
  17. package/Build/Workers/chunk-CZ23Y3RM.js +163 -0
  18. package/Build/Workers/chunk-DH26SNAB.js +78 -0
  19. package/Build/Workers/chunk-DH3HFR2Z.js +147 -0
  20. package/Build/Workers/chunk-DOB5JF3K.js +3620 -0
  21. package/Build/Workers/chunk-E7K6ZXWI.js +44 -0
  22. package/Build/Workers/chunk-ELW65VL5.js +1054 -0
  23. package/Build/Workers/chunk-EPD5RWBB.js +219 -0
  24. package/Build/Workers/chunk-F7BREJ3U.js +511 -0
  25. package/Build/Workers/chunk-FIBS5S7R.js +101 -0
  26. package/Build/Workers/chunk-GNBRTX2J.js +3201 -0
  27. package/Build/Workers/chunk-HZPEDSEN.js +837 -0
  28. package/Build/Workers/chunk-IEPZF2WW.js +97 -0
  29. package/Build/Workers/chunk-II6PFINF.js +57 -0
  30. package/Build/Workers/chunk-IKWMQ5ZJ.js +973 -0
  31. package/Build/Workers/chunk-J2Z2B25O.js +398 -0
  32. package/Build/Workers/chunk-JQ4R7MXV.js +2342 -0
  33. package/Build/Workers/chunk-JUGOIC4O.js +1344 -0
  34. package/Build/Workers/chunk-KM53XG2W.js +368 -0
  35. package/Build/Workers/chunk-KNXQKH2U.js +241 -0
  36. package/Build/Workers/chunk-KSMUF4SU.js +1992 -0
  37. package/Build/Workers/chunk-LCDVE7JA.js +682 -0
  38. package/Build/Workers/chunk-LOG5WXZZ.js +1287 -0
  39. package/Build/Workers/chunk-LYKEGFGX.js +124 -0
  40. package/Build/Workers/chunk-M2SRRLKR.js +476 -0
  41. package/Build/Workers/chunk-NIJIKHQM.js +9230 -0
  42. package/Build/Workers/chunk-NW4WWAAK.js +1800 -0
  43. package/Build/Workers/chunk-OCYIF7R3.js +352 -0
  44. package/Build/Workers/chunk-OZTLGNLF.js +387 -0
  45. package/Build/Workers/chunk-P3FP7NAM.js +288 -0
  46. package/Build/Workers/chunk-P5SWEPTI.js +352 -0
  47. package/Build/Workers/chunk-P7VT7DMK.js +454 -0
  48. package/Build/Workers/chunk-PFK34PVF.js +778 -0
  49. package/Build/Workers/chunk-PTESVNMD.js +138 -0
  50. package/Build/Workers/chunk-QS6E23AK.js +693 -0
  51. package/Build/Workers/chunk-SGKTPOWQ.js +171 -0
  52. package/Build/Workers/chunk-SPEMUYE5.js +162 -0
  53. package/Build/Workers/chunk-TA777BGS.js +630 -0
  54. package/Build/Workers/chunk-TCNXYZB6.js +414 -0
  55. package/Build/Workers/chunk-V4D7RZ2P.js +73 -0
  56. package/Build/Workers/chunk-VABCG4VA.js +959 -0
  57. package/Build/Workers/chunk-VCJD4URC.js +754 -0
  58. package/Build/Workers/chunk-WMMER2ET.js +497 -0
  59. package/Build/Workers/chunk-XKFRI4DD.js +301 -0
  60. package/Build/Workers/combineGeometry.js +66 -0
  61. package/Build/Workers/createBoxGeometry.js +58 -0
  62. package/Build/Workers/createBoxOutlineGeometry.js +231 -0
  63. package/Build/Workers/createCircleGeometry.js +201 -0
  64. package/Build/Workers/createCircleOutlineGeometry.js +147 -0
  65. package/Build/Workers/createCoplanarPolygonGeometry.js +505 -0
  66. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +225 -0
  67. package/Build/Workers/createCorridorGeometry.js +1258 -0
  68. package/Build/Workers/createCorridorOutlineGeometry.js +563 -0
  69. package/Build/Workers/createCylinderGeometry.js +60 -0
  70. package/Build/Workers/createCylinderOutlineGeometry.js +231 -0
  71. package/Build/Workers/createEllipseGeometry.js +72 -0
  72. package/Build/Workers/createEllipseOutlineGeometry.js +65 -0
  73. package/Build/Workers/createEllipsoidGeometry.js +59 -0
  74. package/Build/Workers/createEllipsoidOutlineGeometry.js +61 -0
  75. package/Build/Workers/createFrustumGeometry.js +58 -0
  76. package/Build/Workers/createFrustumOutlineGeometry.js +234 -0
  77. package/Build/Workers/createGeometry.js +173 -0
  78. package/Build/Workers/createGroundPolylineGeometry.js +1680 -0
  79. package/Build/Workers/createPlaneGeometry.js +223 -0
  80. package/Build/Workers/createPlaneOutlineGeometry.js +124 -0
  81. package/Build/Workers/createPolygonGeometry.js +1404 -0
  82. package/Build/Workers/createPolygonOutlineGeometry.js +532 -0
  83. package/Build/Workers/createPolylineGeometry.js +491 -0
  84. package/Build/Workers/createPolylineVolumeGeometry.js +374 -0
  85. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +272 -0
  86. package/Build/Workers/createRectangleGeometry.js +1264 -0
  87. package/Build/Workers/createRectangleOutlineGeometry.js +476 -0
  88. package/Build/Workers/createSimplePolylineGeometry.js +397 -0
  89. package/Build/Workers/createSphereGeometry.js +116 -0
  90. package/Build/Workers/createSphereOutlineGeometry.js +116 -0
  91. package/Build/Workers/createTaskProcessorWorker.js +32 -0
  92. package/Build/Workers/createVectorTileClampedPolylines.js +492 -0
  93. package/Build/Workers/createVectorTileGeometries.js +387 -0
  94. package/Build/Workers/createVectorTilePoints.js +114 -0
  95. package/Build/Workers/createVectorTilePolygons.js +386 -0
  96. package/Build/Workers/createVectorTilePolylines.js +262 -0
  97. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +92 -0
  98. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +566 -0
  99. package/Build/Workers/createVerticesFromHeightmap.js +2256 -0
  100. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +500 -0
  101. package/Build/Workers/createWallGeometry.js +487 -0
  102. package/Build/Workers/createWallOutlineGeometry.js +335 -0
  103. package/Build/Workers/decodeDraco.js +369 -0
  104. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +2666 -0
  105. package/Build/Workers/decodeI3S.js +1339 -0
  106. package/Build/Workers/gaussianSplatSorter.js +62 -0
  107. package/Build/Workers/gaussianSplatTextureGenerator.js +68 -0
  108. package/Build/Workers/incrementallyBuildTerrainPicker.js +129 -0
  109. package/Build/Workers/transcodeKTX2.js +3466 -0
  110. package/Build/Workers/transferTypedArrayTest.js +41 -0
  111. package/Build/Workers/upsampleQuantizedTerrainMesh.js +821 -0
  112. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +96 -0
  113. package/LICENSE.md +928 -0
  114. package/README.md +76 -0
  115. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_0.json +1 -0
  116. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_1.json +1 -0
  117. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_10.json +1 -0
  118. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_11.json +1 -0
  119. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_12.json +1 -0
  120. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_13.json +1 -0
  121. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_14.json +1 -0
  122. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_15.json +1 -0
  123. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_16.json +1 -0
  124. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_17.json +1 -0
  125. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_18.json +1 -0
  126. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_19.json +1 -0
  127. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_2.json +1 -0
  128. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_20.json +1 -0
  129. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_21.json +1 -0
  130. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_22.json +1 -0
  131. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_23.json +1 -0
  132. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_24.json +1 -0
  133. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_25.json +1 -0
  134. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_26.json +1 -0
  135. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_27.json +1 -0
  136. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_3.json +1 -0
  137. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_4.json +1 -0
  138. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_5.json +1 -0
  139. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_6.json +1 -0
  140. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_7.json +1 -0
  141. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_8.json +1 -0
  142. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_9.json +1 -0
  143. package/Source/Assets/Images/bing_maps_credit.png +0 -0
  144. package/Source/Assets/Images/cesium_credit.png +0 -0
  145. package/Source/Assets/Images/google_earth_credit.png +0 -0
  146. package/Source/Assets/Images/ion-credit.png +0 -0
  147. package/Source/Assets/Textures/LensFlare/DirtMask.jpg +0 -0
  148. package/Source/Assets/Textures/LensFlare/StarBurst.jpg +0 -0
  149. package/Source/Assets/Textures/NaturalEarthII/0/0/0.jpg +0 -0
  150. package/Source/Assets/Textures/NaturalEarthII/0/1/0.jpg +0 -0
  151. package/Source/Assets/Textures/NaturalEarthII/1/0/0.jpg +0 -0
  152. package/Source/Assets/Textures/NaturalEarthII/1/0/1.jpg +0 -0
  153. package/Source/Assets/Textures/NaturalEarthII/1/1/0.jpg +0 -0
  154. package/Source/Assets/Textures/NaturalEarthII/1/1/1.jpg +0 -0
  155. package/Source/Assets/Textures/NaturalEarthII/1/2/0.jpg +0 -0
  156. package/Source/Assets/Textures/NaturalEarthII/1/2/1.jpg +0 -0
  157. package/Source/Assets/Textures/NaturalEarthII/1/3/0.jpg +0 -0
  158. package/Source/Assets/Textures/NaturalEarthII/1/3/1.jpg +0 -0
  159. package/Source/Assets/Textures/NaturalEarthII/2/0/0.jpg +0 -0
  160. package/Source/Assets/Textures/NaturalEarthII/2/0/1.jpg +0 -0
  161. package/Source/Assets/Textures/NaturalEarthII/2/0/2.jpg +0 -0
  162. package/Source/Assets/Textures/NaturalEarthII/2/0/3.jpg +0 -0
  163. package/Source/Assets/Textures/NaturalEarthII/2/1/0.jpg +0 -0
  164. package/Source/Assets/Textures/NaturalEarthII/2/1/1.jpg +0 -0
  165. package/Source/Assets/Textures/NaturalEarthII/2/1/2.jpg +0 -0
  166. package/Source/Assets/Textures/NaturalEarthII/2/1/3.jpg +0 -0
  167. package/Source/Assets/Textures/NaturalEarthII/2/2/0.jpg +0 -0
  168. package/Source/Assets/Textures/NaturalEarthII/2/2/1.jpg +0 -0
  169. package/Source/Assets/Textures/NaturalEarthII/2/2/2.jpg +0 -0
  170. package/Source/Assets/Textures/NaturalEarthII/2/2/3.jpg +0 -0
  171. package/Source/Assets/Textures/NaturalEarthII/2/3/0.jpg +0 -0
  172. package/Source/Assets/Textures/NaturalEarthII/2/3/1.jpg +0 -0
  173. package/Source/Assets/Textures/NaturalEarthII/2/3/2.jpg +0 -0
  174. package/Source/Assets/Textures/NaturalEarthII/2/3/3.jpg +0 -0
  175. package/Source/Assets/Textures/NaturalEarthII/2/4/0.jpg +0 -0
  176. package/Source/Assets/Textures/NaturalEarthII/2/4/1.jpg +0 -0
  177. package/Source/Assets/Textures/NaturalEarthII/2/4/2.jpg +0 -0
  178. package/Source/Assets/Textures/NaturalEarthII/2/4/3.jpg +0 -0
  179. package/Source/Assets/Textures/NaturalEarthII/2/5/0.jpg +0 -0
  180. package/Source/Assets/Textures/NaturalEarthII/2/5/1.jpg +0 -0
  181. package/Source/Assets/Textures/NaturalEarthII/2/5/2.jpg +0 -0
  182. package/Source/Assets/Textures/NaturalEarthII/2/5/3.jpg +0 -0
  183. package/Source/Assets/Textures/NaturalEarthII/2/6/0.jpg +0 -0
  184. package/Source/Assets/Textures/NaturalEarthII/2/6/1.jpg +0 -0
  185. package/Source/Assets/Textures/NaturalEarthII/2/6/2.jpg +0 -0
  186. package/Source/Assets/Textures/NaturalEarthII/2/6/3.jpg +0 -0
  187. package/Source/Assets/Textures/NaturalEarthII/2/7/0.jpg +0 -0
  188. package/Source/Assets/Textures/NaturalEarthII/2/7/1.jpg +0 -0
  189. package/Source/Assets/Textures/NaturalEarthII/2/7/2.jpg +0 -0
  190. package/Source/Assets/Textures/NaturalEarthII/2/7/3.jpg +0 -0
  191. package/Source/Assets/Textures/NaturalEarthII/tilemapresource.xml +14 -0
  192. package/Source/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
  193. package/Source/Assets/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
  194. package/Source/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
  195. package/Source/Assets/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
  196. package/Source/Assets/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
  197. package/Source/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
  198. package/Source/Assets/Textures/maki/airfield.png +0 -0
  199. package/Source/Assets/Textures/maki/airport.png +0 -0
  200. package/Source/Assets/Textures/maki/alcohol-shop.png +0 -0
  201. package/Source/Assets/Textures/maki/america-football.png +0 -0
  202. package/Source/Assets/Textures/maki/art-gallery.png +0 -0
  203. package/Source/Assets/Textures/maki/bakery.png +0 -0
  204. package/Source/Assets/Textures/maki/bank.png +0 -0
  205. package/Source/Assets/Textures/maki/bar.png +0 -0
  206. package/Source/Assets/Textures/maki/baseball.png +0 -0
  207. package/Source/Assets/Textures/maki/basketball.png +0 -0
  208. package/Source/Assets/Textures/maki/beer.png +0 -0
  209. package/Source/Assets/Textures/maki/bicycle.png +0 -0
  210. package/Source/Assets/Textures/maki/building.png +0 -0
  211. package/Source/Assets/Textures/maki/bus.png +0 -0
  212. package/Source/Assets/Textures/maki/cafe.png +0 -0
  213. package/Source/Assets/Textures/maki/camera.png +0 -0
  214. package/Source/Assets/Textures/maki/campsite.png +0 -0
  215. package/Source/Assets/Textures/maki/car.png +0 -0
  216. package/Source/Assets/Textures/maki/cemetery.png +0 -0
  217. package/Source/Assets/Textures/maki/cesium.png +0 -0
  218. package/Source/Assets/Textures/maki/chemist.png +0 -0
  219. package/Source/Assets/Textures/maki/cinema.png +0 -0
  220. package/Source/Assets/Textures/maki/circle-stroked.png +0 -0
  221. package/Source/Assets/Textures/maki/circle.png +0 -0
  222. package/Source/Assets/Textures/maki/city.png +0 -0
  223. package/Source/Assets/Textures/maki/clothing-store.png +0 -0
  224. package/Source/Assets/Textures/maki/college.png +0 -0
  225. package/Source/Assets/Textures/maki/commercial.png +0 -0
  226. package/Source/Assets/Textures/maki/cricket.png +0 -0
  227. package/Source/Assets/Textures/maki/cross.png +0 -0
  228. package/Source/Assets/Textures/maki/dam.png +0 -0
  229. package/Source/Assets/Textures/maki/danger.png +0 -0
  230. package/Source/Assets/Textures/maki/disability.png +0 -0
  231. package/Source/Assets/Textures/maki/dog-park.png +0 -0
  232. package/Source/Assets/Textures/maki/embassy.png +0 -0
  233. package/Source/Assets/Textures/maki/emergency-telephone.png +0 -0
  234. package/Source/Assets/Textures/maki/entrance.png +0 -0
  235. package/Source/Assets/Textures/maki/farm.png +0 -0
  236. package/Source/Assets/Textures/maki/fast-food.png +0 -0
  237. package/Source/Assets/Textures/maki/ferry.png +0 -0
  238. package/Source/Assets/Textures/maki/fire-station.png +0 -0
  239. package/Source/Assets/Textures/maki/fuel.png +0 -0
  240. package/Source/Assets/Textures/maki/garden.png +0 -0
  241. package/Source/Assets/Textures/maki/gift.png +0 -0
  242. package/Source/Assets/Textures/maki/golf.png +0 -0
  243. package/Source/Assets/Textures/maki/grocery.png +0 -0
  244. package/Source/Assets/Textures/maki/hairdresser.png +0 -0
  245. package/Source/Assets/Textures/maki/harbor.png +0 -0
  246. package/Source/Assets/Textures/maki/heart.png +0 -0
  247. package/Source/Assets/Textures/maki/heliport.png +0 -0
  248. package/Source/Assets/Textures/maki/hospital.png +0 -0
  249. package/Source/Assets/Textures/maki/ice-cream.png +0 -0
  250. package/Source/Assets/Textures/maki/industrial.png +0 -0
  251. package/Source/Assets/Textures/maki/land-use.png +0 -0
  252. package/Source/Assets/Textures/maki/laundry.png +0 -0
  253. package/Source/Assets/Textures/maki/library.png +0 -0
  254. package/Source/Assets/Textures/maki/lighthouse.png +0 -0
  255. package/Source/Assets/Textures/maki/lodging.png +0 -0
  256. package/Source/Assets/Textures/maki/logging.png +0 -0
  257. package/Source/Assets/Textures/maki/london-underground.png +0 -0
  258. package/Source/Assets/Textures/maki/marker-stroked.png +0 -0
  259. package/Source/Assets/Textures/maki/marker.png +0 -0
  260. package/Source/Assets/Textures/maki/minefield.png +0 -0
  261. package/Source/Assets/Textures/maki/mobilephone.png +0 -0
  262. package/Source/Assets/Textures/maki/monument.png +0 -0
  263. package/Source/Assets/Textures/maki/museum.png +0 -0
  264. package/Source/Assets/Textures/maki/music.png +0 -0
  265. package/Source/Assets/Textures/maki/oil-well.png +0 -0
  266. package/Source/Assets/Textures/maki/park.png +0 -0
  267. package/Source/Assets/Textures/maki/park2.png +0 -0
  268. package/Source/Assets/Textures/maki/parking-garage.png +0 -0
  269. package/Source/Assets/Textures/maki/parking.png +0 -0
  270. package/Source/Assets/Textures/maki/pharmacy.png +0 -0
  271. package/Source/Assets/Textures/maki/pitch.png +0 -0
  272. package/Source/Assets/Textures/maki/place-of-worship.png +0 -0
  273. package/Source/Assets/Textures/maki/playground.png +0 -0
  274. package/Source/Assets/Textures/maki/police.png +0 -0
  275. package/Source/Assets/Textures/maki/polling-place.png +0 -0
  276. package/Source/Assets/Textures/maki/post.png +0 -0
  277. package/Source/Assets/Textures/maki/prison.png +0 -0
  278. package/Source/Assets/Textures/maki/rail-above.png +0 -0
  279. package/Source/Assets/Textures/maki/rail-light.png +0 -0
  280. package/Source/Assets/Textures/maki/rail-metro.png +0 -0
  281. package/Source/Assets/Textures/maki/rail-underground.png +0 -0
  282. package/Source/Assets/Textures/maki/rail.png +0 -0
  283. package/Source/Assets/Textures/maki/religious-christian.png +0 -0
  284. package/Source/Assets/Textures/maki/religious-jewish.png +0 -0
  285. package/Source/Assets/Textures/maki/religious-muslim.png +0 -0
  286. package/Source/Assets/Textures/maki/restaurant.png +0 -0
  287. package/Source/Assets/Textures/maki/roadblock.png +0 -0
  288. package/Source/Assets/Textures/maki/rocket.png +0 -0
  289. package/Source/Assets/Textures/maki/school.png +0 -0
  290. package/Source/Assets/Textures/maki/scooter.png +0 -0
  291. package/Source/Assets/Textures/maki/shop.png +0 -0
  292. package/Source/Assets/Textures/maki/skiing.png +0 -0
  293. package/Source/Assets/Textures/maki/slaughterhouse.png +0 -0
  294. package/Source/Assets/Textures/maki/soccer.png +0 -0
  295. package/Source/Assets/Textures/maki/square-stroked.png +0 -0
  296. package/Source/Assets/Textures/maki/square.png +0 -0
  297. package/Source/Assets/Textures/maki/star-stroked.png +0 -0
  298. package/Source/Assets/Textures/maki/star.png +0 -0
  299. package/Source/Assets/Textures/maki/suitcase.png +0 -0
  300. package/Source/Assets/Textures/maki/swimming.png +0 -0
  301. package/Source/Assets/Textures/maki/telephone.png +0 -0
  302. package/Source/Assets/Textures/maki/tennis.png +0 -0
  303. package/Source/Assets/Textures/maki/theatre.png +0 -0
  304. package/Source/Assets/Textures/maki/toilets.png +0 -0
  305. package/Source/Assets/Textures/maki/town-hall.png +0 -0
  306. package/Source/Assets/Textures/maki/town.png +0 -0
  307. package/Source/Assets/Textures/maki/triangle-stroked.png +0 -0
  308. package/Source/Assets/Textures/maki/triangle.png +0 -0
  309. package/Source/Assets/Textures/maki/village.png +0 -0
  310. package/Source/Assets/Textures/maki/warehouse.png +0 -0
  311. package/Source/Assets/Textures/maki/waste-basket.png +0 -0
  312. package/Source/Assets/Textures/maki/water.png +0 -0
  313. package/Source/Assets/Textures/maki/wetland.png +0 -0
  314. package/Source/Assets/Textures/maki/zoo.png +0 -0
  315. package/Source/Assets/Textures/moonSmall.jpg +0 -0
  316. package/Source/Assets/Textures/pin.svg +1 -0
  317. package/Source/Assets/Textures/waterNormals.jpg +0 -0
  318. package/Source/Assets/Textures/waterNormalsSmall.jpg +0 -0
  319. package/Source/Assets/approximateTerrainHeights.json +1 -0
  320. package/Source/Core/ApproximateTerrainHeights.js +255 -0
  321. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +755 -0
  322. package/Source/Core/ArcType.js +36 -0
  323. package/Source/Core/ArticulationStageType.js +27 -0
  324. package/Source/Core/AssociativeArray.js +133 -0
  325. package/Source/Core/AttributeCompression.js +574 -0
  326. package/Source/Core/AxisAlignedBoundingBox.js +294 -0
  327. package/Source/Core/BingMapsGeocoderService.js +127 -0
  328. package/Source/Core/BoundingRectangle.js +374 -0
  329. package/Source/Core/BoundingSphere.js +1502 -0
  330. package/Source/Core/BoxGeometry.js +893 -0
  331. package/Source/Core/BoxOutlineGeometry.js +312 -0
  332. package/Source/Core/Cartesian2.js +830 -0
  333. package/Source/Core/Cartesian3.js +1222 -0
  334. package/Source/Core/Cartesian4.js +984 -0
  335. package/Source/Core/Cartographic.js +312 -0
  336. package/Source/Core/CartographicGeocoderService.js +73 -0
  337. package/Source/Core/CatmullRomSpline.js +324 -0
  338. package/Source/Core/Cesium3DTilesTerrainData.js +932 -0
  339. package/Source/Core/Cesium3DTilesTerrainGeometryProcessor.js +1868 -0
  340. package/Source/Core/Cesium3DTilesTerrainProvider.js +1052 -0
  341. package/Source/Core/CesiumTerrainProvider.js +1408 -0
  342. package/Source/Core/Check.d.ts +131 -0
  343. package/Source/Core/Check.js +212 -0
  344. package/Source/Core/CircleGeometry.js +207 -0
  345. package/Source/Core/CircleOutlineGeometry.js +149 -0
  346. package/Source/Core/Clock.js +316 -0
  347. package/Source/Core/ClockRange.js +44 -0
  348. package/Source/Core/ClockStep.js +43 -0
  349. package/Source/Core/Color.js +2294 -0
  350. package/Source/Core/ColorGeometryInstanceAttribute.js +181 -0
  351. package/Source/Core/ComponentDatatype.js +341 -0
  352. package/Source/Core/CompressedTextureBuffer.js +125 -0
  353. package/Source/Core/ConstantSpline.js +119 -0
  354. package/Source/Core/CoplanarPolygonGeometry.js +600 -0
  355. package/Source/Core/CoplanarPolygonGeometryLibrary.js +132 -0
  356. package/Source/Core/CoplanarPolygonOutlineGeometry.js +237 -0
  357. package/Source/Core/CornerType.js +42 -0
  358. package/Source/Core/CorridorGeometry.js +1411 -0
  359. package/Source/Core/CorridorGeometryLibrary.js +501 -0
  360. package/Source/Core/CorridorOutlineGeometry.js +599 -0
  361. package/Source/Core/Credit.js +169 -0
  362. package/Source/Core/CubicRealPolynomial.js +238 -0
  363. package/Source/Core/CullingVolume.js +216 -0
  364. package/Source/Core/CustomHeightmapTerrainProvider.js +287 -0
  365. package/Source/Core/CylinderGeometry.js +479 -0
  366. package/Source/Core/CylinderGeometryLibrary.js +59 -0
  367. package/Source/Core/CylinderOutlineGeometry.js +269 -0
  368. package/Source/Core/DefaultProxy.js +26 -0
  369. package/Source/Core/DeveloperError.js +76 -0
  370. package/Source/Core/DistanceDisplayCondition.js +171 -0
  371. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +179 -0
  372. package/Source/Core/DoubleEndedPriorityQueue.js +405 -0
  373. package/Source/Core/DoublyLinkedList.js +112 -0
  374. package/Source/Core/EarthOrientationParameters.js +431 -0
  375. package/Source/Core/EarthOrientationParametersSample.js +52 -0
  376. package/Source/Core/EasingFunction.js +257 -0
  377. package/Source/Core/EllipseGeometry.js +1318 -0
  378. package/Source/Core/EllipseGeometryLibrary.js +365 -0
  379. package/Source/Core/EllipseOutlineGeometry.js +451 -0
  380. package/Source/Core/Ellipsoid.js +866 -0
  381. package/Source/Core/EllipsoidGeodesic.js +523 -0
  382. package/Source/Core/EllipsoidGeometry.js +650 -0
  383. package/Source/Core/EllipsoidOutlineGeometry.js +464 -0
  384. package/Source/Core/EllipsoidRhumbLine.js +751 -0
  385. package/Source/Core/EllipsoidTangentPlane.js +382 -0
  386. package/Source/Core/EllipsoidTerrainProvider.js +201 -0
  387. package/Source/Core/EllipsoidalOccluder.js +538 -0
  388. package/Source/Core/EncodedCartesian3.js +170 -0
  389. package/Source/Core/Event.js +205 -0
  390. package/Source/Core/EventHelper.js +74 -0
  391. package/Source/Core/ExtrapolationType.js +39 -0
  392. package/Source/Core/FeatureDetection.js +404 -0
  393. package/Source/Core/Frozen.js +24 -0
  394. package/Source/Core/FrustumGeometry.js +583 -0
  395. package/Source/Core/FrustumOutlineGeometry.js +253 -0
  396. package/Source/Core/Fullscreen.js +249 -0
  397. package/Source/Core/GeocodeType.js +29 -0
  398. package/Source/Core/GeocoderService.js +60 -0
  399. package/Source/Core/GeographicProjection.js +105 -0
  400. package/Source/Core/GeographicTilingScheme.js +226 -0
  401. package/Source/Core/Geometry.js +371 -0
  402. package/Source/Core/GeometryAttribute.js +133 -0
  403. package/Source/Core/GeometryAttributes.js +88 -0
  404. package/Source/Core/GeometryFactory.js +25 -0
  405. package/Source/Core/GeometryInstance.js +118 -0
  406. package/Source/Core/GeometryInstanceAttribute.js +133 -0
  407. package/Source/Core/GeometryOffsetAttribute.js +16 -0
  408. package/Source/Core/GeometryPipeline.js +3291 -0
  409. package/Source/Core/GeometryType.js +16 -0
  410. package/Source/Core/GoogleEarthEnterpriseMetadata.js +584 -0
  411. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +606 -0
  412. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +574 -0
  413. package/Source/Core/GoogleEarthEnterpriseTileInformation.js +136 -0
  414. package/Source/Core/GoogleGeocoderService.js +110 -0
  415. package/Source/Core/GoogleMaps.js +61 -0
  416. package/Source/Core/GregorianDate.js +153 -0
  417. package/Source/Core/GroundPolylineGeometry.js +1693 -0
  418. package/Source/Core/HeadingPitchRange.js +59 -0
  419. package/Source/Core/HeadingPitchRoll.js +235 -0
  420. package/Source/Core/Heap.js +233 -0
  421. package/Source/Core/HeightmapEncoding.js +30 -0
  422. package/Source/Core/HeightmapTerrainData.js +903 -0
  423. package/Source/Core/HeightmapTessellator.js +518 -0
  424. package/Source/Core/HermitePolynomialApproximation.js +341 -0
  425. package/Source/Core/HermiteSpline.js +620 -0
  426. package/Source/Core/HilbertOrder.js +112 -0
  427. package/Source/Core/ITwinPlatform.js +389 -0
  428. package/Source/Core/Iau2000Orientation.js +167 -0
  429. package/Source/Core/Iau2006XysData.js +286 -0
  430. package/Source/Core/Iau2006XysSample.js +32 -0
  431. package/Source/Core/IauOrientationAxes.js +105 -0
  432. package/Source/Core/IauOrientationParameters.js +54 -0
  433. package/Source/Core/IndexDatatype.js +201 -0
  434. package/Source/Core/InterpolationAlgorithm.js +65 -0
  435. package/Source/Core/InterpolationType.js +18 -0
  436. package/Source/Core/Intersect.js +39 -0
  437. package/Source/Core/IntersectionTests.js +1087 -0
  438. package/Source/Core/Intersections2D.js +358 -0
  439. package/Source/Core/Interval.js +23 -0
  440. package/Source/Core/Ion.js +56 -0
  441. package/Source/Core/IonGeocodeProviderType.js +37 -0
  442. package/Source/Core/IonGeocoderService.js +147 -0
  443. package/Source/Core/IonResource.js +321 -0
  444. package/Source/Core/Iso8601.js +54 -0
  445. package/Source/Core/JulianDate.js +1231 -0
  446. package/Source/Core/KTX2Transcoder.js +92 -0
  447. package/Source/Core/KeyboardEventModifier.js +37 -0
  448. package/Source/Core/LagrangePolynomialApproximation.js +71 -0
  449. package/Source/Core/LeapSecond.js +24 -0
  450. package/Source/Core/LinearApproximation.js +83 -0
  451. package/Source/Core/LinearSpline.js +166 -0
  452. package/Source/Core/ManagedArray.js +162 -0
  453. package/Source/Core/MapProjection.js +57 -0
  454. package/Source/Core/Math.js +1125 -0
  455. package/Source/Core/Matrix2.js +1105 -0
  456. package/Source/Core/Matrix3.js +1906 -0
  457. package/Source/Core/Matrix4.js +3264 -0
  458. package/Source/Core/MorphWeightSpline.js +161 -0
  459. package/Source/Core/MortonOrder.js +214 -0
  460. package/Source/Core/NearFarScalar.js +173 -0
  461. package/Source/Core/Occluder.js +727 -0
  462. package/Source/Core/OffsetGeometryInstanceAttribute.js +125 -0
  463. package/Source/Core/OpenCageGeocoderService.js +133 -0
  464. package/Source/Core/OrientedBoundingBox.js +1272 -0
  465. package/Source/Core/OrthographicFrustum.js +351 -0
  466. package/Source/Core/OrthographicOffCenterFrustum.js +463 -0
  467. package/Source/Core/Packable.js +40 -0
  468. package/Source/Core/PackableForInterpolation.js +43 -0
  469. package/Source/Core/PeliasGeocoderService.js +106 -0
  470. package/Source/Core/PerspectiveFrustum.js +459 -0
  471. package/Source/Core/PerspectiveOffCenterFrustum.js +522 -0
  472. package/Source/Core/PinBuilder.js +234 -0
  473. package/Source/Core/PixelFormat.js +605 -0
  474. package/Source/Core/Plane.js +312 -0
  475. package/Source/Core/PlaneGeometry.js +250 -0
  476. package/Source/Core/PlaneOutlineGeometry.js +113 -0
  477. package/Source/Core/PolygonGeometry.js +1580 -0
  478. package/Source/Core/PolygonGeometryLibrary.js +1301 -0
  479. package/Source/Core/PolygonHierarchy.js +25 -0
  480. package/Source/Core/PolygonOutlineGeometry.js +687 -0
  481. package/Source/Core/PolygonPipeline.js +632 -0
  482. package/Source/Core/PolylineGeometry.js +573 -0
  483. package/Source/Core/PolylinePipeline.js +573 -0
  484. package/Source/Core/PolylineVolumeGeometry.js +412 -0
  485. package/Source/Core/PolylineVolumeGeometryLibrary.js +701 -0
  486. package/Source/Core/PolylineVolumeOutlineGeometry.js +294 -0
  487. package/Source/Core/PrimitiveType.js +117 -0
  488. package/Source/Core/Proxy.js +24 -0
  489. package/Source/Core/QuadraticRealPolynomial.js +147 -0
  490. package/Source/Core/QuantizedMeshTerrainData.js +735 -0
  491. package/Source/Core/QuarticRealPolynomial.js +342 -0
  492. package/Source/Core/Quaternion.js +1145 -0
  493. package/Source/Core/QuaternionSpline.js +155 -0
  494. package/Source/Core/Queue.js +126 -0
  495. package/Source/Core/Ray.js +81 -0
  496. package/Source/Core/Rectangle.js +1080 -0
  497. package/Source/Core/RectangleCollisionChecker.js +95 -0
  498. package/Source/Core/RectangleGeometry.js +1480 -0
  499. package/Source/Core/RectangleGeometryLibrary.js +286 -0
  500. package/Source/Core/RectangleOutlineGeometry.js +532 -0
  501. package/Source/Core/ReferenceFrame.js +28 -0
  502. package/Source/Core/Request.js +193 -0
  503. package/Source/Core/RequestErrorEvent.js +58 -0
  504. package/Source/Core/RequestScheduler.js +524 -0
  505. package/Source/Core/RequestState.js +60 -0
  506. package/Source/Core/RequestType.js +44 -0
  507. package/Source/Core/Resource.js +2280 -0
  508. package/Source/Core/RuntimeError.js +65 -0
  509. package/Source/Core/S2Cell.js +734 -0
  510. package/Source/Core/ScreenSpaceEventHandler.js +1136 -0
  511. package/Source/Core/ScreenSpaceEventType.js +132 -0
  512. package/Source/Core/ShowGeometryInstanceAttribute.js +122 -0
  513. package/Source/Core/Simon1994PlanetaryPositions.js +684 -0
  514. package/Source/Core/SimplePolylineGeometry.js +454 -0
  515. package/Source/Core/SphereGeometry.js +117 -0
  516. package/Source/Core/SphereOutlineGeometry.js +119 -0
  517. package/Source/Core/Spherical.js +183 -0
  518. package/Source/Core/Spline.js +188 -0
  519. package/Source/Core/SteppedSpline.js +160 -0
  520. package/Source/Core/Stereographic.js +247 -0
  521. package/Source/Core/TaskProcessor.js +403 -0
  522. package/Source/Core/TerrainData.js +126 -0
  523. package/Source/Core/TerrainEncoding.js +772 -0
  524. package/Source/Core/TerrainMesh.js +373 -0
  525. package/Source/Core/TerrainPicker.js +625 -0
  526. package/Source/Core/TerrainProvider.js +585 -0
  527. package/Source/Core/TerrainQuantization.js +30 -0
  528. package/Source/Core/TexturePacker.js +181 -0
  529. package/Source/Core/TileAvailability.js +564 -0
  530. package/Source/Core/TileEdge.js +14 -0
  531. package/Source/Core/TileProviderError.js +170 -0
  532. package/Source/Core/TilingScheme.js +134 -0
  533. package/Source/Core/TimeConstants.js +88 -0
  534. package/Source/Core/TimeInterval.js +438 -0
  535. package/Source/Core/TimeIntervalCollection.js +1137 -0
  536. package/Source/Core/TimeStandard.js +35 -0
  537. package/Source/Core/Tipsify.js +314 -0
  538. package/Source/Core/TrackingReferenceFrame.js +50 -0
  539. package/Source/Core/Transforms.js +1277 -0
  540. package/Source/Core/TranslationRotationScale.js +57 -0
  541. package/Source/Core/TridiagonalSystemSolver.js +113 -0
  542. package/Source/Core/TrustedServers.js +146 -0
  543. package/Source/Core/VRTheWorldTerrainProvider.js +462 -0
  544. package/Source/Core/VertexFormat.js +311 -0
  545. package/Source/Core/VerticalExaggeration.js +70 -0
  546. package/Source/Core/VideoSynchronizer.js +222 -0
  547. package/Source/Core/Visibility.js +39 -0
  548. package/Source/Core/VulkanConstants.js +291 -0
  549. package/Source/Core/WallGeometry.js +623 -0
  550. package/Source/Core/WallGeometryLibrary.js +212 -0
  551. package/Source/Core/WallOutlineGeometry.js +431 -0
  552. package/Source/Core/WebGLConstants.js +619 -0
  553. package/Source/Core/WebMercatorProjection.js +151 -0
  554. package/Source/Core/WebMercatorTilingScheme.js +295 -0
  555. package/Source/Core/WindingOrder.js +38 -0
  556. package/Source/Core/WireframeIndexGenerator.js +238 -0
  557. package/Source/Core/addAllToArray.js +40 -0
  558. package/Source/Core/appendForwardSlash.js +10 -0
  559. package/Source/Core/arrayRemoveDuplicates.js +129 -0
  560. package/Source/Core/assert.js +27 -0
  561. package/Source/Core/barycentricCoordinates.js +109 -0
  562. package/Source/Core/binarySearch.js +67 -0
  563. package/Source/Core/buildModuleUrl.js +153 -0
  564. package/Source/Core/clone.js +30 -0
  565. package/Source/Core/combine.js +79 -0
  566. package/Source/Core/createGuid.js +22 -0
  567. package/Source/Core/createWorldBathymetryAsync.js +45 -0
  568. package/Source/Core/createWorldTerrainAsync.js +50 -0
  569. package/Source/Core/decodeGoogleEarthEnterpriseData.js +93 -0
  570. package/Source/Core/decodeVectorPolylinePositions.js +51 -0
  571. package/Source/Core/defer.js +44 -0
  572. package/Source/Core/defined.d.ts +11 -0
  573. package/Source/Core/defined.js +17 -0
  574. package/Source/Core/deprecationWarning.js +53 -0
  575. package/Source/Core/destroyObject.js +53 -0
  576. package/Source/Core/formatError.js +30 -0
  577. package/Source/Core/getAbsoluteUri.js +46 -0
  578. package/Source/Core/getBaseUri.js +47 -0
  579. package/Source/Core/getExtensionFromUri.js +38 -0
  580. package/Source/Core/getFilenameFromUri.js +32 -0
  581. package/Source/Core/getImageFromTypedArray.js +24 -0
  582. package/Source/Core/getImagePixels.js +44 -0
  583. package/Source/Core/getJsonFromTypedArray.js +21 -0
  584. package/Source/Core/getMagic.js +14 -0
  585. package/Source/Core/getStringFromTypedArray.js +165 -0
  586. package/Source/Core/getTimestamp.js +26 -0
  587. package/Source/Core/globalTypes.js +20 -0
  588. package/Source/Core/isBitSet.js +7 -0
  589. package/Source/Core/isBlobUri.js +22 -0
  590. package/Source/Core/isCrossOriginUrl.js +30 -0
  591. package/Source/Core/isDataUri.js +22 -0
  592. package/Source/Core/isLeapYear.js +23 -0
  593. package/Source/Core/loadAndExecuteScript.js +27 -0
  594. package/Source/Core/loadImageFromTypedArray.js +66 -0
  595. package/Source/Core/loadKTX2.js +104 -0
  596. package/Source/Core/mergeSort.js +111 -0
  597. package/Source/Core/objectToQuery.js +57 -0
  598. package/Source/Core/oneTimeWarning.js +51 -0
  599. package/Source/Core/parseResponseHeaders.js +37 -0
  600. package/Source/Core/pointInsideTriangle.js +39 -0
  601. package/Source/Core/queryToObject.js +60 -0
  602. package/Source/Core/resizeImageToNextPowerOfTwo.js +31 -0
  603. package/Source/Core/sampleTerrain.js +291 -0
  604. package/Source/Core/sampleTerrainMostDetailed.js +132 -0
  605. package/Source/Core/scaleToGeodeticSurface.js +147 -0
  606. package/Source/Core/srgbToLinear.js +32 -0
  607. package/Source/Core/subdivideArray.js +35 -0
  608. package/Source/Core/webGLConstantToGlslType.js +25 -0
  609. package/Source/Core/wrapFunction.js +26 -0
  610. package/Source/Core/writeTextToCanvas.js +173 -0
  611. package/Source/DataSources/BillboardGraphics.js +419 -0
  612. package/Source/DataSources/BillboardVisualizer.js +351 -0
  613. package/Source/DataSources/BoundingSphereState.js +26 -0
  614. package/Source/DataSources/BoxGeometryUpdater.js +326 -0
  615. package/Source/DataSources/BoxGraphics.js +208 -0
  616. package/Source/DataSources/CallbackPositionProperty.js +172 -0
  617. package/Source/DataSources/CallbackProperty.js +117 -0
  618. package/Source/DataSources/Cesium3DTilesetGraphics.js +111 -0
  619. package/Source/DataSources/Cesium3DTilesetVisualizer.js +261 -0
  620. package/Source/DataSources/CheckerboardMaterialProperty.js +157 -0
  621. package/Source/DataSources/ColorMaterialProperty.js +112 -0
  622. package/Source/DataSources/CompositeEntityCollection.js +591 -0
  623. package/Source/DataSources/CompositeMaterialProperty.js +128 -0
  624. package/Source/DataSources/CompositePositionProperty.js +153 -0
  625. package/Source/DataSources/CompositeProperty.js +154 -0
  626. package/Source/DataSources/ConstantPositionProperty.js +151 -0
  627. package/Source/DataSources/ConstantProperty.js +116 -0
  628. package/Source/DataSources/CorridorGeometryUpdater.js +409 -0
  629. package/Source/DataSources/CorridorGraphics.js +316 -0
  630. package/Source/DataSources/CustomDataSource.js +173 -0
  631. package/Source/DataSources/CylinderGeometryUpdater.js +375 -0
  632. package/Source/DataSources/CylinderGraphics.js +258 -0
  633. package/Source/DataSources/CzmlDataSource.js +5151 -0
  634. package/Source/DataSources/DataSource.js +121 -0
  635. package/Source/DataSources/DataSourceClock.js +164 -0
  636. package/Source/DataSources/DataSourceCollection.js +335 -0
  637. package/Source/DataSources/DataSourceDisplay.js +543 -0
  638. package/Source/DataSources/DynamicGeometryBatch.js +56 -0
  639. package/Source/DataSources/DynamicGeometryUpdater.js +270 -0
  640. package/Source/DataSources/EllipseGeometryUpdater.js +434 -0
  641. package/Source/DataSources/EllipseGraphics.js +343 -0
  642. package/Source/DataSources/EllipsoidGeometryUpdater.js +710 -0
  643. package/Source/DataSources/EllipsoidGraphics.js +312 -0
  644. package/Source/DataSources/Entity.js +789 -0
  645. package/Source/DataSources/EntityCluster.js +1022 -0
  646. package/Source/DataSources/EntityCollection.js +439 -0
  647. package/Source/DataSources/EntityView.js +476 -0
  648. package/Source/DataSources/GeoJsonDataSource.js +1064 -0
  649. package/Source/DataSources/GeometryUpdater.js +538 -0
  650. package/Source/DataSources/GeometryUpdaterSet.js +114 -0
  651. package/Source/DataSources/GeometryVisualizer.js +549 -0
  652. package/Source/DataSources/GpxDataSource.js +1018 -0
  653. package/Source/DataSources/GridMaterialProperty.js +204 -0
  654. package/Source/DataSources/GroundGeometryUpdater.js +234 -0
  655. package/Source/DataSources/ImageMaterialProperty.js +173 -0
  656. package/Source/DataSources/KmlCamera.js +13 -0
  657. package/Source/DataSources/KmlDataSource.js +4249 -0
  658. package/Source/DataSources/KmlLookAt.js +12 -0
  659. package/Source/DataSources/KmlTour.js +165 -0
  660. package/Source/DataSources/KmlTourFlyTo.js +109 -0
  661. package/Source/DataSources/KmlTourWait.js +52 -0
  662. package/Source/DataSources/LabelGraphics.js +401 -0
  663. package/Source/DataSources/LabelVisualizer.js +359 -0
  664. package/Source/DataSources/MaterialProperty.js +111 -0
  665. package/Source/DataSources/ModelGraphics.js +456 -0
  666. package/Source/DataSources/ModelVisualizer.js +560 -0
  667. package/Source/DataSources/NodeTransformationProperty.js +150 -0
  668. package/Source/DataSources/PathGraphics.js +174 -0
  669. package/Source/DataSources/PathVisualizer.js +1135 -0
  670. package/Source/DataSources/PlaneGeometryUpdater.js +385 -0
  671. package/Source/DataSources/PlaneGraphics.js +208 -0
  672. package/Source/DataSources/PointGraphics.js +223 -0
  673. package/Source/DataSources/PointVisualizer.js +438 -0
  674. package/Source/DataSources/PolygonGeometryUpdater.js +591 -0
  675. package/Source/DataSources/PolygonGraphics.js +383 -0
  676. package/Source/DataSources/PolylineArrowMaterialProperty.js +110 -0
  677. package/Source/DataSources/PolylineDashMaterialProperty.js +174 -0
  678. package/Source/DataSources/PolylineGeometryUpdater.js +878 -0
  679. package/Source/DataSources/PolylineGlowMaterialProperty.js +152 -0
  680. package/Source/DataSources/PolylineGraphics.js +241 -0
  681. package/Source/DataSources/PolylineOutlineMaterialProperty.js +158 -0
  682. package/Source/DataSources/PolylineVisualizer.js +409 -0
  683. package/Source/DataSources/PolylineVolumeGeometryUpdater.js +306 -0
  684. package/Source/DataSources/PolylineVolumeGraphics.js +235 -0
  685. package/Source/DataSources/PositionProperty.js +131 -0
  686. package/Source/DataSources/PositionPropertyArray.js +192 -0
  687. package/Source/DataSources/Property.js +137 -0
  688. package/Source/DataSources/PropertyArray.js +147 -0
  689. package/Source/DataSources/PropertyBag.js +275 -0
  690. package/Source/DataSources/RectangleGeometryUpdater.js +427 -0
  691. package/Source/DataSources/RectangleGraphics.js +317 -0
  692. package/Source/DataSources/ReferenceProperty.js +371 -0
  693. package/Source/DataSources/Rotation.js +155 -0
  694. package/Source/DataSources/SampledPositionProperty.js +330 -0
  695. package/Source/DataSources/SampledProperty.js +855 -0
  696. package/Source/DataSources/ScaledPositionProperty.js +103 -0
  697. package/Source/DataSources/StaticGeometryColorBatch.js +575 -0
  698. package/Source/DataSources/StaticGeometryPerMaterialBatch.js +493 -0
  699. package/Source/DataSources/StaticGroundGeometryColorBatch.js +394 -0
  700. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +459 -0
  701. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +437 -0
  702. package/Source/DataSources/StaticOutlineGeometryBatch.js +465 -0
  703. package/Source/DataSources/StripeMaterialProperty.js +193 -0
  704. package/Source/DataSources/StripeOrientation.js +24 -0
  705. package/Source/DataSources/TerrainOffsetProperty.js +243 -0
  706. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +155 -0
  707. package/Source/DataSources/TimeIntervalCollectionProperty.js +136 -0
  708. package/Source/DataSources/VelocityOrientationProperty.js +158 -0
  709. package/Source/DataSources/VelocityVectorProperty.js +213 -0
  710. package/Source/DataSources/Visualizer.js +61 -0
  711. package/Source/DataSources/WallGeometryUpdater.js +275 -0
  712. package/Source/DataSources/WallGraphics.js +236 -0
  713. package/Source/DataSources/createMaterialPropertyDescriptor.js +35 -0
  714. package/Source/DataSources/createPropertyDescriptor.js +71 -0
  715. package/Source/DataSources/createRawPropertyDescriptor.js +13 -0
  716. package/Source/DataSources/exportKml.js +1517 -0
  717. package/Source/DataSources/getElement.js +26 -0
  718. package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +47 -0
  719. package/Source/Renderer/AutomaticUniforms.js +1857 -0
  720. package/Source/Renderer/Buffer.js +452 -0
  721. package/Source/Renderer/BufferUsage.js +32 -0
  722. package/Source/Renderer/ClearCommand.js +102 -0
  723. package/Source/Renderer/ComputeCommand.js +119 -0
  724. package/Source/Renderer/ComputeEngine.js +135 -0
  725. package/Source/Renderer/Context.js +1726 -0
  726. package/Source/Renderer/ContextLimits.js +332 -0
  727. package/Source/Renderer/CubeMap.js +686 -0
  728. package/Source/Renderer/CubeMapFace.js +415 -0
  729. package/Source/Renderer/DrawCommand.js +676 -0
  730. package/Source/Renderer/Framebuffer.js +447 -0
  731. package/Source/Renderer/FramebufferManager.js +489 -0
  732. package/Source/Renderer/MipmapHint.js +23 -0
  733. package/Source/Renderer/MultisampleFramebuffer.js +136 -0
  734. package/Source/Renderer/Pass.js +35 -0
  735. package/Source/Renderer/PassState.js +57 -0
  736. package/Source/Renderer/PickId.js +44 -0
  737. package/Source/Renderer/PixelDatatype.js +123 -0
  738. package/Source/Renderer/RenderState.js +967 -0
  739. package/Source/Renderer/Renderbuffer.js +105 -0
  740. package/Source/Renderer/RenderbufferFormat.js +46 -0
  741. package/Source/Renderer/Sampler.js +116 -0
  742. package/Source/Renderer/ShaderBuilder.js +597 -0
  743. package/Source/Renderer/ShaderCache.js +287 -0
  744. package/Source/Renderer/ShaderDestination.js +95 -0
  745. package/Source/Renderer/ShaderFunction.js +66 -0
  746. package/Source/Renderer/ShaderProgram.js +619 -0
  747. package/Source/Renderer/ShaderSource.js +525 -0
  748. package/Source/Renderer/ShaderStruct.js +55 -0
  749. package/Source/Renderer/SharedContext.js +186 -0
  750. package/Source/Renderer/Sync.js +104 -0
  751. package/Source/Renderer/Texture.js +1126 -0
  752. package/Source/Renderer/Texture3D.js +737 -0
  753. package/Source/Renderer/TextureAtlas.js +833 -0
  754. package/Source/Renderer/TextureCache.js +81 -0
  755. package/Source/Renderer/TextureMagnificationFilter.js +43 -0
  756. package/Source/Renderer/TextureMinificationFilter.js +96 -0
  757. package/Source/Renderer/TextureWrap.js +23 -0
  758. package/Source/Renderer/UniformState.js +1948 -0
  759. package/Source/Renderer/VertexArray.js +949 -0
  760. package/Source/Renderer/VertexArrayFacade.js +509 -0
  761. package/Source/Renderer/createUniform.js +422 -0
  762. package/Source/Renderer/createUniformArray.js +638 -0
  763. package/Source/Renderer/demodernizeShader.js +84 -0
  764. package/Source/Renderer/freezeRenderState.js +30 -0
  765. package/Source/Renderer/loadCubeMap.js +88 -0
  766. package/Source/Scene/AlphaMode.js +37 -0
  767. package/Source/Scene/Appearance.js +204 -0
  768. package/Source/Scene/ArcGisBaseMapType.js +17 -0
  769. package/Source/Scene/ArcGisMapServerImageryProvider.js +875 -0
  770. package/Source/Scene/ArcGisMapService.js +80 -0
  771. package/Source/Scene/Atmosphere.js +149 -0
  772. package/Source/Scene/AttributeType.js +202 -0
  773. package/Source/Scene/AutoExposure.js +386 -0
  774. package/Source/Scene/Axis.js +118 -0
  775. package/Source/Scene/Azure2DImageryProvider.js +393 -0
  776. package/Source/Scene/B3dmParser.js +173 -0
  777. package/Source/Scene/BatchTable.js +636 -0
  778. package/Source/Scene/BatchTableHierarchy.js +504 -0
  779. package/Source/Scene/BatchTexture.js +574 -0
  780. package/Source/Scene/Billboard.js +1604 -0
  781. package/Source/Scene/BillboardCollection.js +2150 -0
  782. package/Source/Scene/BillboardLoadState.js +44 -0
  783. package/Source/Scene/BillboardTexture.js +400 -0
  784. package/Source/Scene/BingMapsImageryProvider.js +769 -0
  785. package/Source/Scene/BingMapsStyle.js +98 -0
  786. package/Source/Scene/BlendEquation.js +58 -0
  787. package/Source/Scene/BlendFunction.js +134 -0
  788. package/Source/Scene/BlendOption.js +33 -0
  789. package/Source/Scene/BlendingState.js +78 -0
  790. package/Source/Scene/BoundingVolumeSemantics.js +169 -0
  791. package/Source/Scene/BoxEmitter.js +74 -0
  792. package/Source/Scene/BrdfLutGenerator.js +75 -0
  793. package/Source/Scene/BufferLoader.js +130 -0
  794. package/Source/Scene/BufferPoint.js +149 -0
  795. package/Source/Scene/BufferPointCollection.js +141 -0
  796. package/Source/Scene/BufferPointMaterial.js +95 -0
  797. package/Source/Scene/BufferPolygon.js +517 -0
  798. package/Source/Scene/BufferPolygonCollection.js +370 -0
  799. package/Source/Scene/BufferPolygonMaterial.js +41 -0
  800. package/Source/Scene/BufferPolyline.js +186 -0
  801. package/Source/Scene/BufferPolylineCollection.js +138 -0
  802. package/Source/Scene/BufferPolylineMaterial.js +93 -0
  803. package/Source/Scene/BufferPrimitive.js +347 -0
  804. package/Source/Scene/BufferPrimitiveCollection.js +818 -0
  805. package/Source/Scene/BufferPrimitiveMaterial.js +140 -0
  806. package/Source/Scene/Camera.js +3989 -0
  807. package/Source/Scene/CameraEventAggregator.js +619 -0
  808. package/Source/Scene/CameraEventType.js +52 -0
  809. package/Source/Scene/CameraFlightPath.js +576 -0
  810. package/Source/Scene/Cesium3DContentGroup.js +44 -0
  811. package/Source/Scene/Cesium3DTile.js +2475 -0
  812. package/Source/Scene/Cesium3DTileBatchTable.js +1132 -0
  813. package/Source/Scene/Cesium3DTileColorBlendMode.js +57 -0
  814. package/Source/Scene/Cesium3DTileContent.js +415 -0
  815. package/Source/Scene/Cesium3DTileContentFactory.js +127 -0
  816. package/Source/Scene/Cesium3DTileContentState.js +17 -0
  817. package/Source/Scene/Cesium3DTileContentType.js +181 -0
  818. package/Source/Scene/Cesium3DTileFeature.js +427 -0
  819. package/Source/Scene/Cesium3DTileFeatureTable.js +131 -0
  820. package/Source/Scene/Cesium3DTileOptimizationHint.js +18 -0
  821. package/Source/Scene/Cesium3DTileOptimizations.js +115 -0
  822. package/Source/Scene/Cesium3DTilePass.js +83 -0
  823. package/Source/Scene/Cesium3DTilePassState.js +52 -0
  824. package/Source/Scene/Cesium3DTilePointFeature.js +778 -0
  825. package/Source/Scene/Cesium3DTileRefine.js +34 -0
  826. package/Source/Scene/Cesium3DTileStyle.js +1497 -0
  827. package/Source/Scene/Cesium3DTileStyleEngine.js +78 -0
  828. package/Source/Scene/Cesium3DTileVectorFeature.js +586 -0
  829. package/Source/Scene/Cesium3DTilesVoxelProvider.js +760 -0
  830. package/Source/Scene/Cesium3DTileset.js +3933 -0
  831. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +291 -0
  832. package/Source/Scene/Cesium3DTilesetCache.js +80 -0
  833. package/Source/Scene/Cesium3DTilesetHeatmap.js +165 -0
  834. package/Source/Scene/Cesium3DTilesetMetadata.js +199 -0
  835. package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +131 -0
  836. package/Source/Scene/Cesium3DTilesetSkipTraversal.js +420 -0
  837. package/Source/Scene/Cesium3DTilesetStatistics.js +195 -0
  838. package/Source/Scene/Cesium3DTilesetTraversal.js +323 -0
  839. package/Source/Scene/CircleEmitter.js +61 -0
  840. package/Source/Scene/ClassificationPrimitive.js +1387 -0
  841. package/Source/Scene/ClassificationType.js +37 -0
  842. package/Source/Scene/ClippingPlane.js +184 -0
  843. package/Source/Scene/ClippingPlaneCollection.js +764 -0
  844. package/Source/Scene/ClippingPolygon.js +300 -0
  845. package/Source/Scene/ClippingPolygonCollection.js +1134 -0
  846. package/Source/Scene/CloudCollection.js +1041 -0
  847. package/Source/Scene/CloudType.js +35 -0
  848. package/Source/Scene/ColorBlendMode.js +36 -0
  849. package/Source/Scene/Composite3DTileContent.js +403 -0
  850. package/Source/Scene/ConditionsExpression.js +219 -0
  851. package/Source/Scene/ConeEmitter.js +61 -0
  852. package/Source/Scene/ContentMetadata.js +184 -0
  853. package/Source/Scene/CreditDisplay.js +654 -0
  854. package/Source/Scene/CubeMapPanorama.js +351 -0
  855. package/Source/Scene/CullFace.js +38 -0
  856. package/Source/Scene/CumulusCloud.js +347 -0
  857. package/Source/Scene/DebugAppearance.js +266 -0
  858. package/Source/Scene/DebugCameraPrimitive.js +257 -0
  859. package/Source/Scene/DebugInspector.js +151 -0
  860. package/Source/Scene/DebugModelMatrixPrimitive.js +220 -0
  861. package/Source/Scene/DepthFunction.js +78 -0
  862. package/Source/Scene/DepthPlane.js +238 -0
  863. package/Source/Scene/DerivedCommand.js +685 -0
  864. package/Source/Scene/DeviceOrientationCameraController.js +120 -0
  865. package/Source/Scene/DirectionalLight.js +49 -0
  866. package/Source/Scene/DiscardEmptyTileImagePolicy.js +54 -0
  867. package/Source/Scene/DiscardMissingTileImagePolicy.js +148 -0
  868. package/Source/Scene/DracoLoader.js +100 -0
  869. package/Source/Scene/DynamicAtmosphereLightingType.js +58 -0
  870. package/Source/Scene/DynamicEnvironmentMapManager.js +1037 -0
  871. package/Source/Scene/EdgeFramebuffer.js +245 -0
  872. package/Source/Scene/EllipsoidPrimitive.js +496 -0
  873. package/Source/Scene/EllipsoidSurfaceAppearance.js +278 -0
  874. package/Source/Scene/Empty3DTileContent.js +164 -0
  875. package/Source/Scene/EquirectangularPanorama.js +265 -0
  876. package/Source/Scene/Expression.js +2233 -0
  877. package/Source/Scene/ExpressionNodeType.js +30 -0
  878. package/Source/Scene/Fog.js +166 -0
  879. package/Source/Scene/FrameRateMonitor.js +375 -0
  880. package/Source/Scene/FrameState.js +484 -0
  881. package/Source/Scene/FrustumCommands.js +29 -0
  882. package/Source/Scene/GaussianSplat3DTileContent.js +820 -0
  883. package/Source/Scene/GaussianSplatPrimitive.js +2147 -0
  884. package/Source/Scene/GaussianSplatRenderResources.js +81 -0
  885. package/Source/Scene/GaussianSplatSorter.js +73 -0
  886. package/Source/Scene/GaussianSplatTextureGenerator.js +64 -0
  887. package/Source/Scene/Geometry3DTileContent.js +534 -0
  888. package/Source/Scene/GetFeatureInfoFormat.js +396 -0
  889. package/Source/Scene/Globe.js +1128 -0
  890. package/Source/Scene/GlobeDepth.js +407 -0
  891. package/Source/Scene/GlobeSurfaceShaderSet.js +489 -0
  892. package/Source/Scene/GlobeSurfaceTile.js +967 -0
  893. package/Source/Scene/GlobeSurfaceTileProvider.js +2910 -0
  894. package/Source/Scene/GlobeTranslucency.js +239 -0
  895. package/Source/Scene/GlobeTranslucencyFramebuffer.js +201 -0
  896. package/Source/Scene/GlobeTranslucencyState.js +1102 -0
  897. package/Source/Scene/GltfBufferViewLoader.js +231 -0
  898. package/Source/Scene/GltfDracoLoader.js +282 -0
  899. package/Source/Scene/GltfImageLoader.js +307 -0
  900. package/Source/Scene/GltfIndexBufferLoader.js +404 -0
  901. package/Source/Scene/GltfJsonLoader.js +303 -0
  902. package/Source/Scene/GltfLoader.js +3176 -0
  903. package/Source/Scene/GltfLoaderUtil.js +198 -0
  904. package/Source/Scene/GltfPipeline/ForEach.js +424 -0
  905. package/Source/Scene/GltfPipeline/addBuffer.js +30 -0
  906. package/Source/Scene/GltfPipeline/addDefaults.js +208 -0
  907. package/Source/Scene/GltfPipeline/addExtensionsRequired.js +24 -0
  908. package/Source/Scene/GltfPipeline/addExtensionsUsed.js +22 -0
  909. package/Source/Scene/GltfPipeline/addPipelineExtras.js +36 -0
  910. package/Source/Scene/GltfPipeline/addToArray.js +25 -0
  911. package/Source/Scene/GltfPipeline/findAccessorMinMax.js +71 -0
  912. package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +155 -0
  913. package/Source/Scene/GltfPipeline/getAccessorByteStride.js +29 -0
  914. package/Source/Scene/GltfPipeline/getComponentReader.js +147 -0
  915. package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +135 -0
  916. package/Source/Scene/GltfPipeline/moveTechniquesToExtension.js +145 -0
  917. package/Source/Scene/GltfPipeline/numberOfComponentsForType.js +29 -0
  918. package/Source/Scene/GltfPipeline/parseGlb.js +118 -0
  919. package/Source/Scene/GltfPipeline/readAccessorPacked.js +54 -0
  920. package/Source/Scene/GltfPipeline/removeExtension.js +64 -0
  921. package/Source/Scene/GltfPipeline/removeExtensionsRequired.js +24 -0
  922. package/Source/Scene/GltfPipeline/removeExtensionsUsed.js +26 -0
  923. package/Source/Scene/GltfPipeline/removePipelineExtras.js +42 -0
  924. package/Source/Scene/GltfPipeline/removeUnusedElements.js +906 -0
  925. package/Source/Scene/GltfPipeline/updateAccessorComponentTypes.js +53 -0
  926. package/Source/Scene/GltfPipeline/updateVersion.js +1148 -0
  927. package/Source/Scene/GltfPipeline/usesExtension.js +18 -0
  928. package/Source/Scene/GltfSpzLoader.js +324 -0
  929. package/Source/Scene/GltfStructuralMetadataLoader.js +498 -0
  930. package/Source/Scene/GltfTextureLoader.js +383 -0
  931. package/Source/Scene/GltfVertexBufferLoader.js +621 -0
  932. package/Source/Scene/Google2DImageryProvider.js +621 -0
  933. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +548 -0
  934. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +589 -0
  935. package/Source/Scene/GoogleStreetViewCubeMapPanoramaProvider.js +341 -0
  936. package/Source/Scene/GridImageryProvider.js +322 -0
  937. package/Source/Scene/GroundPolylinePrimitive.js +944 -0
  938. package/Source/Scene/GroundPrimitive.js +1000 -0
  939. package/Source/Scene/GroupMetadata.js +203 -0
  940. package/Source/Scene/HeightReference.js +89 -0
  941. package/Source/Scene/HorizontalOrigin.js +46 -0
  942. package/Source/Scene/I3SDataProvider.js +860 -0
  943. package/Source/Scene/I3SDecoder.js +133 -0
  944. package/Source/Scene/I3SFeature.js +61 -0
  945. package/Source/Scene/I3SField.js +360 -0
  946. package/Source/Scene/I3SGeometry.js +477 -0
  947. package/Source/Scene/I3SLayer.js +460 -0
  948. package/Source/Scene/I3SNode.js +927 -0
  949. package/Source/Scene/I3SStatistics.js +94 -0
  950. package/Source/Scene/I3SSublayer.js +175 -0
  951. package/Source/Scene/I3SSymbology.js +336 -0
  952. package/Source/Scene/I3dmParser.js +140 -0
  953. package/Source/Scene/ITwinData.js +284 -0
  954. package/Source/Scene/ImageBasedLighting.js +463 -0
  955. package/Source/Scene/Imagery.js +120 -0
  956. package/Source/Scene/ImageryLayer.js +1747 -0
  957. package/Source/Scene/ImageryLayerCollection.js +645 -0
  958. package/Source/Scene/ImageryLayerFeatureInfo.js +111 -0
  959. package/Source/Scene/ImageryProvider.js +267 -0
  960. package/Source/Scene/ImageryState.js +19 -0
  961. package/Source/Scene/Implicit3DTileContent.js +1206 -0
  962. package/Source/Scene/ImplicitAvailabilityBitstream.js +134 -0
  963. package/Source/Scene/ImplicitMetadataView.js +178 -0
  964. package/Source/Scene/ImplicitSubdivisionScheme.js +50 -0
  965. package/Source/Scene/ImplicitSubtree.js +1161 -0
  966. package/Source/Scene/ImplicitSubtreeCache.js +127 -0
  967. package/Source/Scene/ImplicitSubtreeMetadata.js +191 -0
  968. package/Source/Scene/ImplicitTileCoordinates.js +647 -0
  969. package/Source/Scene/ImplicitTileset.js +269 -0
  970. package/Source/Scene/InstanceAttributeSemantic.js +81 -0
  971. package/Source/Scene/InvertClassification.js +381 -0
  972. package/Source/Scene/IonImageryProvider.js +346 -0
  973. package/Source/Scene/IonImageryProviderFactory.js +194 -0
  974. package/Source/Scene/IonWorldImageryStyle.js +38 -0
  975. package/Source/Scene/JobScheduler.js +199 -0
  976. package/Source/Scene/JobType.js +15 -0
  977. package/Source/Scene/JsonMetadataTable.js +114 -0
  978. package/Source/Scene/KeyframeNode.js +61 -0
  979. package/Source/Scene/Label.js +1652 -0
  980. package/Source/Scene/LabelCollection.js +1091 -0
  981. package/Source/Scene/LabelStyle.js +38 -0
  982. package/Source/Scene/Light.js +34 -0
  983. package/Source/Scene/MapMode2D.js +28 -0
  984. package/Source/Scene/MapboxImageryProvider.js +332 -0
  985. package/Source/Scene/MapboxStyleImageryProvider.js +342 -0
  986. package/Source/Scene/Material.js +1931 -0
  987. package/Source/Scene/MaterialAppearance.js +328 -0
  988. package/Source/Scene/Megatexture.js +483 -0
  989. package/Source/Scene/MetadataClass.js +202 -0
  990. package/Source/Scene/MetadataClassProperty.js +1410 -0
  991. package/Source/Scene/MetadataComponentType.js +598 -0
  992. package/Source/Scene/MetadataEntity.js +425 -0
  993. package/Source/Scene/MetadataEnum.js +219 -0
  994. package/Source/Scene/MetadataEnumValue.js +131 -0
  995. package/Source/Scene/MetadataPicking.js +396 -0
  996. package/Source/Scene/MetadataSchema.js +202 -0
  997. package/Source/Scene/MetadataSchemaLoader.js +126 -0
  998. package/Source/Scene/MetadataSemantic.js +157 -0
  999. package/Source/Scene/MetadataTable.js +371 -0
  1000. package/Source/Scene/MetadataTableProperty.js +854 -0
  1001. package/Source/Scene/MetadataType.js +222 -0
  1002. package/Source/Scene/Model/AlphaPipelineStage.js +51 -0
  1003. package/Source/Scene/Model/AtmospherePipelineStage.js +64 -0
  1004. package/Source/Scene/Model/B3dmLoader.js +357 -0
  1005. package/Source/Scene/Model/BatchTexturePipelineStage.js +71 -0
  1006. package/Source/Scene/Model/CPUStylingPipelineStage.js +77 -0
  1007. package/Source/Scene/Model/CartesianRectangle.js +108 -0
  1008. package/Source/Scene/Model/ClassificationModelDrawCommand.js +534 -0
  1009. package/Source/Scene/Model/ClassificationPipelineStage.js +132 -0
  1010. package/Source/Scene/Model/CustomShader.js +474 -0
  1011. package/Source/Scene/Model/CustomShaderMode.js +42 -0
  1012. package/Source/Scene/Model/CustomShaderPipelineStage.js +784 -0
  1013. package/Source/Scene/Model/CustomShaderTranslucencyMode.js +39 -0
  1014. package/Source/Scene/Model/DequantizationPipelineStage.js +178 -0
  1015. package/Source/Scene/Model/EdgeDetectionPipelineStage.js +42 -0
  1016. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +1271 -0
  1017. package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
  1018. package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
  1019. package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
  1020. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
  1021. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
  1022. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +543 -0
  1023. package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
  1024. package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
  1025. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +79 -0
  1026. package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
  1027. package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
  1028. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +34 -0
  1029. package/Source/Scene/Model/FeatureIdPipelineStage.js +523 -0
  1030. package/Source/Scene/Model/GeoJsonLoader.js +687 -0
  1031. package/Source/Scene/Model/GeometryPipelineStage.js +543 -0
  1032. package/Source/Scene/Model/I3dmLoader.js +872 -0
  1033. package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +168 -0
  1034. package/Source/Scene/Model/ImageryConfiguration.js +26 -0
  1035. package/Source/Scene/Model/ImageryCoverage.js +488 -0
  1036. package/Source/Scene/Model/ImageryFlags.js +31 -0
  1037. package/Source/Scene/Model/ImageryInput.js +60 -0
  1038. package/Source/Scene/Model/ImageryPipelineStage.js +1046 -0
  1039. package/Source/Scene/Model/InstancingPipelineStage.js +1056 -0
  1040. package/Source/Scene/Model/LightingModel.js +34 -0
  1041. package/Source/Scene/Model/LightingPipelineStage.js +73 -0
  1042. package/Source/Scene/Model/MappedPositions.js +84 -0
  1043. package/Source/Scene/Model/MaterialPipelineStage.js +1214 -0
  1044. package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
  1045. package/Source/Scene/Model/MetadataPipelineStage.js +1073 -0
  1046. package/Source/Scene/Model/Model.js +3340 -0
  1047. package/Source/Scene/Model/Model3DTileContent.js +551 -0
  1048. package/Source/Scene/Model/ModelAlphaOptions.js +26 -0
  1049. package/Source/Scene/Model/ModelAnimation.js +421 -0
  1050. package/Source/Scene/Model/ModelAnimationChannel.js +294 -0
  1051. package/Source/Scene/Model/ModelAnimationCollection.js +553 -0
  1052. package/Source/Scene/Model/ModelArticulation.js +214 -0
  1053. package/Source/Scene/Model/ModelArticulationStage.js +261 -0
  1054. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +126 -0
  1055. package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +98 -0
  1056. package/Source/Scene/Model/ModelColorPipelineStage.js +98 -0
  1057. package/Source/Scene/Model/ModelDrawCommand.js +928 -0
  1058. package/Source/Scene/Model/ModelDrawCommands.js +218 -0
  1059. package/Source/Scene/Model/ModelFeature.js +229 -0
  1060. package/Source/Scene/Model/ModelFeatureTable.js +316 -0
  1061. package/Source/Scene/Model/ModelImagery.js +410 -0
  1062. package/Source/Scene/Model/ModelImageryMapping.js +489 -0
  1063. package/Source/Scene/Model/ModelLightingOptions.js +29 -0
  1064. package/Source/Scene/Model/ModelMatrixUpdateStage.js +120 -0
  1065. package/Source/Scene/Model/ModelNode.js +125 -0
  1066. package/Source/Scene/Model/ModelPrimitiveImagery.js +972 -0
  1067. package/Source/Scene/Model/ModelReader.js +1281 -0
  1068. package/Source/Scene/Model/ModelRenderResources.js +119 -0
  1069. package/Source/Scene/Model/ModelRuntimeNode.js +648 -0
  1070. package/Source/Scene/Model/ModelRuntimePrimitive.js +381 -0
  1071. package/Source/Scene/Model/ModelSceneGraph.js +1098 -0
  1072. package/Source/Scene/Model/ModelSilhouettePipelineStage.js +109 -0
  1073. package/Source/Scene/Model/ModelSkin.js +180 -0
  1074. package/Source/Scene/Model/ModelSplitterPipelineStage.js +65 -0
  1075. package/Source/Scene/Model/ModelStatistics.js +225 -0
  1076. package/Source/Scene/Model/ModelType.js +96 -0
  1077. package/Source/Scene/Model/ModelUtility.js +397 -0
  1078. package/Source/Scene/Model/MorphTargetsPipelineStage.js +249 -0
  1079. package/Source/Scene/Model/NodeRenderResources.js +170 -0
  1080. package/Source/Scene/Model/NodeStatisticsPipelineStage.js +75 -0
  1081. package/Source/Scene/Model/PickingPipelineStage.js +218 -0
  1082. package/Source/Scene/Model/PntsLoader.js +706 -0
  1083. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +392 -0
  1084. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +689 -0
  1085. package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +99 -0
  1086. package/Source/Scene/Model/PrimitiveRenderResources.js +297 -0
  1087. package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +253 -0
  1088. package/Source/Scene/Model/SceneMode2DPipelineStage.js +301 -0
  1089. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +180 -0
  1090. package/Source/Scene/Model/SkinningPipelineStage.js +118 -0
  1091. package/Source/Scene/Model/StyleCommandsNeeded.js +31 -0
  1092. package/Source/Scene/Model/TextureManager.js +244 -0
  1093. package/Source/Scene/Model/TextureUniform.js +71 -0
  1094. package/Source/Scene/Model/TilesetPipelineStage.js +73 -0
  1095. package/Source/Scene/Model/UniformType.js +128 -0
  1096. package/Source/Scene/Model/VaryingType.js +65 -0
  1097. package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +58 -0
  1098. package/Source/Scene/Model/WireframePipelineStage.js +118 -0
  1099. package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +384 -0
  1100. package/Source/Scene/Model/pickModel.js +220 -0
  1101. package/Source/Scene/ModelAnimationLoop.js +38 -0
  1102. package/Source/Scene/ModelAnimationState.js +14 -0
  1103. package/Source/Scene/ModelComponents.js +1769 -0
  1104. package/Source/Scene/Moon.js +175 -0
  1105. package/Source/Scene/Multiple3DTileContent.js +722 -0
  1106. package/Source/Scene/NeverTileDiscardPolicy.js +28 -0
  1107. package/Source/Scene/OIT.js +946 -0
  1108. package/Source/Scene/OpenStreetMapImageryProvider.js +128 -0
  1109. package/Source/Scene/OrderedGroundPrimitiveCollection.js +218 -0
  1110. package/Source/Scene/Panorama.js +53 -0
  1111. package/Source/Scene/PanoramaProvider.js +43 -0
  1112. package/Source/Scene/Particle.js +149 -0
  1113. package/Source/Scene/ParticleBurst.js +51 -0
  1114. package/Source/Scene/ParticleEmitter.js +36 -0
  1115. package/Source/Scene/ParticleSystem.js +885 -0
  1116. package/Source/Scene/PerInstanceColorAppearance.js +296 -0
  1117. package/Source/Scene/PerformanceDisplay.js +120 -0
  1118. package/Source/Scene/PickDepth.js +125 -0
  1119. package/Source/Scene/PickDepthFramebuffer.js +79 -0
  1120. package/Source/Scene/PickFramebuffer.js +255 -0
  1121. package/Source/Scene/PickedMetadataInfo.js +58 -0
  1122. package/Source/Scene/Picking.js +1683 -0
  1123. package/Source/Scene/PntsParser.js +547 -0
  1124. package/Source/Scene/PointCloud.js +1412 -0
  1125. package/Source/Scene/PointCloudEyeDomeLighting.js +284 -0
  1126. package/Source/Scene/PointCloudShading.js +104 -0
  1127. package/Source/Scene/PointPrimitive.js +690 -0
  1128. package/Source/Scene/PointPrimitiveCollection.js +1215 -0
  1129. package/Source/Scene/Polyline.js +430 -0
  1130. package/Source/Scene/PolylineCollection.js +1947 -0
  1131. package/Source/Scene/PolylineColorAppearance.js +215 -0
  1132. package/Source/Scene/PolylineMaterialAppearance.js +226 -0
  1133. package/Source/Scene/PostProcessStage.js +1000 -0
  1134. package/Source/Scene/PostProcessStageCollection.js +900 -0
  1135. package/Source/Scene/PostProcessStageComposite.js +359 -0
  1136. package/Source/Scene/PostProcessStageLibrary.js +826 -0
  1137. package/Source/Scene/PostProcessStageSampleMode.js +22 -0
  1138. package/Source/Scene/PostProcessStageTextureCache.js +454 -0
  1139. package/Source/Scene/Primitive.js +2504 -0
  1140. package/Source/Scene/PrimitiveCollection.js +532 -0
  1141. package/Source/Scene/PrimitiveLoadPlan.js +303 -0
  1142. package/Source/Scene/PrimitivePipeline.js +854 -0
  1143. package/Source/Scene/PrimitiveState.js +142 -0
  1144. package/Source/Scene/PropertyAttribute.js +160 -0
  1145. package/Source/Scene/PropertyAttributeProperty.js +177 -0
  1146. package/Source/Scene/PropertyTable.js +579 -0
  1147. package/Source/Scene/PropertyTexture.js +162 -0
  1148. package/Source/Scene/PropertyTextureProperty.js +207 -0
  1149. package/Source/Scene/QuadtreeOccluders.js +35 -0
  1150. package/Source/Scene/QuadtreePrimitive.js +1578 -0
  1151. package/Source/Scene/QuadtreeTile.js +735 -0
  1152. package/Source/Scene/QuadtreeTileLoadState.js +44 -0
  1153. package/Source/Scene/QuadtreeTileProvider.js +196 -0
  1154. package/Source/Scene/ResourceCache.js +824 -0
  1155. package/Source/Scene/ResourceCacheKey.js +601 -0
  1156. package/Source/Scene/ResourceCacheStatistics.js +149 -0
  1157. package/Source/Scene/ResourceLoader.js +118 -0
  1158. package/Source/Scene/ResourceLoaderState.js +62 -0
  1159. package/Source/Scene/SDFSettings.js +39 -0
  1160. package/Source/Scene/Scene.js +5292 -0
  1161. package/Source/Scene/SceneFramebuffer.js +106 -0
  1162. package/Source/Scene/SceneMode.js +59 -0
  1163. package/Source/Scene/SceneTransforms.js +463 -0
  1164. package/Source/Scene/SceneTransitioner.js +1111 -0
  1165. package/Source/Scene/ScreenSpaceCameraController.js +3111 -0
  1166. package/Source/Scene/SensorVolumePortionToDisplay.js +69 -0
  1167. package/Source/Scene/ShadowMap.js +1956 -0
  1168. package/Source/Scene/ShadowMapShader.js +395 -0
  1169. package/Source/Scene/ShadowMode.js +80 -0
  1170. package/Source/Scene/ShadowVolumeAppearance.js +936 -0
  1171. package/Source/Scene/SingleTileImageryProvider.js +380 -0
  1172. package/Source/Scene/SkyAtmosphere.js +400 -0
  1173. package/Source/Scene/SkyBox.js +163 -0
  1174. package/Source/Scene/SpatialNode.js +377 -0
  1175. package/Source/Scene/SpecularEnvironmentCubeMap.js +240 -0
  1176. package/Source/Scene/SphereEmitter.js +65 -0
  1177. package/Source/Scene/SplitDirection.js +39 -0
  1178. package/Source/Scene/Splitter.js +49 -0
  1179. package/Source/Scene/StencilConstants.js +37 -0
  1180. package/Source/Scene/StencilFunction.js +78 -0
  1181. package/Source/Scene/StencilOperation.js +78 -0
  1182. package/Source/Scene/StructuralMetadata.js +258 -0
  1183. package/Source/Scene/StyleExpression.js +86 -0
  1184. package/Source/Scene/Sun.js +363 -0
  1185. package/Source/Scene/SunLight.js +31 -0
  1186. package/Source/Scene/SunPostProcess.js +288 -0
  1187. package/Source/Scene/SupportedImageFormats.js +18 -0
  1188. package/Source/Scene/Terrain.js +245 -0
  1189. package/Source/Scene/TerrainFillMesh.js +2222 -0
  1190. package/Source/Scene/TerrainState.js +19 -0
  1191. package/Source/Scene/TileBoundingRegion.js +489 -0
  1192. package/Source/Scene/TileBoundingS2Cell.js +699 -0
  1193. package/Source/Scene/TileBoundingSphere.js +167 -0
  1194. package/Source/Scene/TileBoundingVolume.js +68 -0
  1195. package/Source/Scene/TileCoordinatesImageryProvider.js +269 -0
  1196. package/Source/Scene/TileDiscardPolicy.js +34 -0
  1197. package/Source/Scene/TileImagery.js +126 -0
  1198. package/Source/Scene/TileMapServiceImageryProvider.js +442 -0
  1199. package/Source/Scene/TileMetadata.js +184 -0
  1200. package/Source/Scene/TileOrientedBoundingBox.js +219 -0
  1201. package/Source/Scene/TileReplacementQueue.js +119 -0
  1202. package/Source/Scene/TileSelectionResult.js +80 -0
  1203. package/Source/Scene/TileState.js +16 -0
  1204. package/Source/Scene/Tileset3DTileContent.js +182 -0
  1205. package/Source/Scene/TilesetMetadata.js +186 -0
  1206. package/Source/Scene/TimeDynamicImagery.js +308 -0
  1207. package/Source/Scene/TimeDynamicPointCloud.js +802 -0
  1208. package/Source/Scene/Tonemapper.js +68 -0
  1209. package/Source/Scene/TranslucentTileClassification.js +514 -0
  1210. package/Source/Scene/TweenCollection.js +592 -0
  1211. package/Source/Scene/UrlTemplateImageryProvider.js +989 -0
  1212. package/Source/Scene/Vector3DTileBatch.js +37 -0
  1213. package/Source/Scene/Vector3DTileClampedPolylines.js +779 -0
  1214. package/Source/Scene/Vector3DTileContent.js +770 -0
  1215. package/Source/Scene/Vector3DTileGeometry.js +497 -0
  1216. package/Source/Scene/Vector3DTilePoints.js +548 -0
  1217. package/Source/Scene/Vector3DTilePolygons.js +479 -0
  1218. package/Source/Scene/Vector3DTilePolylines.js +675 -0
  1219. package/Source/Scene/Vector3DTilePrimitive.js +1276 -0
  1220. package/Source/Scene/VectorGltf3DTileContent.js +434 -0
  1221. package/Source/Scene/VertexAttributeSemantic.js +321 -0
  1222. package/Source/Scene/VerticalOrigin.js +54 -0
  1223. package/Source/Scene/View.js +465 -0
  1224. package/Source/Scene/ViewportQuad.js +182 -0
  1225. package/Source/Scene/VoxelBoundsCollection.js +494 -0
  1226. package/Source/Scene/VoxelBoxShape.js +601 -0
  1227. package/Source/Scene/VoxelCell.js +274 -0
  1228. package/Source/Scene/VoxelContent.js +233 -0
  1229. package/Source/Scene/VoxelCylinderShape.js +869 -0
  1230. package/Source/Scene/VoxelEllipsoidShape.js +1124 -0
  1231. package/Source/Scene/VoxelMetadataOrder.js +29 -0
  1232. package/Source/Scene/VoxelPrimitive.js +2152 -0
  1233. package/Source/Scene/VoxelProvider.js +235 -0
  1234. package/Source/Scene/VoxelRenderResources.js +252 -0
  1235. package/Source/Scene/VoxelShape.js +179 -0
  1236. package/Source/Scene/VoxelShapeType.js +107 -0
  1237. package/Source/Scene/VoxelTraversal.js +1219 -0
  1238. package/Source/Scene/WebMapServiceImageryProvider.js +649 -0
  1239. package/Source/Scene/WebMapTileServiceImageryProvider.js +810 -0
  1240. package/Source/Scene/buildVoxelDrawCommands.js +177 -0
  1241. package/Source/Scene/computeFlyToLocationForRectangle.js +74 -0
  1242. package/Source/Scene/createBillboardPointCallback.js +70 -0
  1243. package/Source/Scene/createElevationBandMaterial.js +580 -0
  1244. package/Source/Scene/createGooglePhotorealistic3DTileset.js +116 -0
  1245. package/Source/Scene/createOsmBuildingsAsync.js +79 -0
  1246. package/Source/Scene/createTangentSpaceDebugPrimitive.js +114 -0
  1247. package/Source/Scene/createWorldImageryAsync.js +39 -0
  1248. package/Source/Scene/findContentMetadata.js +51 -0
  1249. package/Source/Scene/findGroupMetadata.js +39 -0
  1250. package/Source/Scene/findTileMetadata.js +53 -0
  1251. package/Source/Scene/getBinaryAccessor.js +56 -0
  1252. package/Source/Scene/getClipAndStyleCode.js +34 -0
  1253. package/Source/Scene/getClippingFunction.js +154 -0
  1254. package/Source/Scene/getMeshPrimitives.js +72 -0
  1255. package/Source/Scene/getMetadataClassProperty.js +43 -0
  1256. package/Source/Scene/getMetadataProperty.js +48 -0
  1257. package/Source/Scene/hasExtension.js +19 -0
  1258. package/Source/Scene/parseBatchTable.js +448 -0
  1259. package/Source/Scene/parseFeatureMetadataLegacy.js +139 -0
  1260. package/Source/Scene/parseStructuralMetadata.js +406 -0
  1261. package/Source/Scene/preprocess3DTileContent.js +102 -0
  1262. package/Source/Scene/processVoxelProperties.js +398 -0
  1263. package/Source/Scene/renderBufferPointCollection.js +285 -0
  1264. package/Source/Scene/renderBufferPolygonCollection.js +339 -0
  1265. package/Source/Scene/renderBufferPolylineCollection.js +478 -0
  1266. package/Source/Shaders/AdjustTranslucentFS.glsl +27 -0
  1267. package/Source/Shaders/AdjustTranslucentFS.js +29 -0
  1268. package/Source/Shaders/Appearances/AllMaterialAppearanceFS.glsl +29 -0
  1269. package/Source/Shaders/Appearances/AllMaterialAppearanceFS.js +31 -0
  1270. package/Source/Shaders/Appearances/AllMaterialAppearanceVS.glsl +26 -0
  1271. package/Source/Shaders/Appearances/AllMaterialAppearanceVS.js +28 -0
  1272. package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.glsl +23 -0
  1273. package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.js +25 -0
  1274. package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.glsl +17 -0
  1275. package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.js +19 -0
  1276. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.glsl +33 -0
  1277. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.js +35 -0
  1278. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.glsl +19 -0
  1279. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.js +21 -0
  1280. package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.glsl +24 -0
  1281. package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.js +26 -0
  1282. package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.glsl +20 -0
  1283. package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.js +22 -0
  1284. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.glsl +6 -0
  1285. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.js +8 -0
  1286. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.glsl +15 -0
  1287. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.js +17 -0
  1288. package/Source/Shaders/Appearances/PolylineColorAppearanceVS.glsl +28 -0
  1289. package/Source/Shaders/Appearances/PolylineColorAppearanceVS.js +30 -0
  1290. package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.glsl +33 -0
  1291. package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.js +35 -0
  1292. package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.glsl +25 -0
  1293. package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.js +27 -0
  1294. package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.glsl +20 -0
  1295. package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.js +22 -0
  1296. package/Source/Shaders/AtmosphereCommon.glsl +187 -0
  1297. package/Source/Shaders/AtmosphereCommon.js +189 -0
  1298. package/Source/Shaders/BillboardCollectionFS.glsl +212 -0
  1299. package/Source/Shaders/BillboardCollectionFS.js +214 -0
  1300. package/Source/Shaders/BillboardCollectionVS.glsl +378 -0
  1301. package/Source/Shaders/BillboardCollectionVS.js +380 -0
  1302. package/Source/Shaders/BrdfLutGeneratorFS.glsl +100 -0
  1303. package/Source/Shaders/BrdfLutGeneratorFS.js +102 -0
  1304. package/Source/Shaders/BufferPointMaterialFS.glsl +27 -0
  1305. package/Source/Shaders/BufferPointMaterialFS.js +29 -0
  1306. package/Source/Shaders/BufferPointMaterialVS.glsl +48 -0
  1307. package/Source/Shaders/BufferPointMaterialVS.js +50 -0
  1308. package/Source/Shaders/BufferPolygonMaterialFS.glsl +13 -0
  1309. package/Source/Shaders/BufferPolygonMaterialFS.js +15 -0
  1310. package/Source/Shaders/BufferPolygonMaterialVS.glsl +30 -0
  1311. package/Source/Shaders/BufferPolygonMaterialVS.js +32 -0
  1312. package/Source/Shaders/BufferPolylineMaterialFS.glsl +13 -0
  1313. package/Source/Shaders/BufferPolylineMaterialFS.js +15 -0
  1314. package/Source/Shaders/BufferPolylineMaterialVS.glsl +49 -0
  1315. package/Source/Shaders/BufferPolylineMaterialVS.js +51 -0
  1316. package/Source/Shaders/Builtin/Constants/degreesPerRadian.glsl +16 -0
  1317. package/Source/Shaders/Builtin/Constants/degreesPerRadian.js +18 -0
  1318. package/Source/Shaders/Builtin/Constants/depthRange.glsl +14 -0
  1319. package/Source/Shaders/Builtin/Constants/depthRange.js +16 -0
  1320. package/Source/Shaders/Builtin/Constants/epsilon1.glsl +7 -0
  1321. package/Source/Shaders/Builtin/Constants/epsilon1.js +9 -0
  1322. package/Source/Shaders/Builtin/Constants/epsilon2.glsl +7 -0
  1323. package/Source/Shaders/Builtin/Constants/epsilon2.js +9 -0
  1324. package/Source/Shaders/Builtin/Constants/epsilon3.glsl +7 -0
  1325. package/Source/Shaders/Builtin/Constants/epsilon3.js +9 -0
  1326. package/Source/Shaders/Builtin/Constants/epsilon4.glsl +7 -0
  1327. package/Source/Shaders/Builtin/Constants/epsilon4.js +9 -0
  1328. package/Source/Shaders/Builtin/Constants/epsilon5.glsl +7 -0
  1329. package/Source/Shaders/Builtin/Constants/epsilon5.js +9 -0
  1330. package/Source/Shaders/Builtin/Constants/epsilon6.glsl +7 -0
  1331. package/Source/Shaders/Builtin/Constants/epsilon6.js +9 -0
  1332. package/Source/Shaders/Builtin/Constants/epsilon7.glsl +7 -0
  1333. package/Source/Shaders/Builtin/Constants/epsilon7.js +9 -0
  1334. package/Source/Shaders/Builtin/Constants/infinity.glsl +7 -0
  1335. package/Source/Shaders/Builtin/Constants/infinity.js +9 -0
  1336. package/Source/Shaders/Builtin/Constants/oneOverPi.glsl +16 -0
  1337. package/Source/Shaders/Builtin/Constants/oneOverPi.js +18 -0
  1338. package/Source/Shaders/Builtin/Constants/oneOverTwoPi.glsl +16 -0
  1339. package/Source/Shaders/Builtin/Constants/oneOverTwoPi.js +18 -0
  1340. package/Source/Shaders/Builtin/Constants/passCesium3DTile.glsl +9 -0
  1341. package/Source/Shaders/Builtin/Constants/passCesium3DTile.js +11 -0
  1342. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.glsl +9 -0
  1343. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.js +11 -0
  1344. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.glsl +9 -0
  1345. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.js +11 -0
  1346. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdges.glsl +10 -0
  1347. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdges.js +12 -0
  1348. package/Source/Shaders/Builtin/Constants/passClassification.glsl +9 -0
  1349. package/Source/Shaders/Builtin/Constants/passClassification.js +11 -0
  1350. package/Source/Shaders/Builtin/Constants/passCompute.glsl +9 -0
  1351. package/Source/Shaders/Builtin/Constants/passCompute.js +11 -0
  1352. package/Source/Shaders/Builtin/Constants/passEnvironment.glsl +9 -0
  1353. package/Source/Shaders/Builtin/Constants/passEnvironment.js +11 -0
  1354. package/Source/Shaders/Builtin/Constants/passGaussianSplats.glsl +9 -0
  1355. package/Source/Shaders/Builtin/Constants/passGaussianSplats.js +11 -0
  1356. package/Source/Shaders/Builtin/Constants/passGlobe.glsl +9 -0
  1357. package/Source/Shaders/Builtin/Constants/passGlobe.js +11 -0
  1358. package/Source/Shaders/Builtin/Constants/passOpaque.glsl +9 -0
  1359. package/Source/Shaders/Builtin/Constants/passOpaque.js +11 -0
  1360. package/Source/Shaders/Builtin/Constants/passOverlay.glsl +9 -0
  1361. package/Source/Shaders/Builtin/Constants/passOverlay.js +11 -0
  1362. package/Source/Shaders/Builtin/Constants/passTerrainClassification.glsl +9 -0
  1363. package/Source/Shaders/Builtin/Constants/passTerrainClassification.js +11 -0
  1364. package/Source/Shaders/Builtin/Constants/passTranslucent.glsl +9 -0
  1365. package/Source/Shaders/Builtin/Constants/passTranslucent.js +11 -0
  1366. package/Source/Shaders/Builtin/Constants/passVoxels.glsl +9 -0
  1367. package/Source/Shaders/Builtin/Constants/passVoxels.js +11 -0
  1368. package/Source/Shaders/Builtin/Constants/pi.glsl +16 -0
  1369. package/Source/Shaders/Builtin/Constants/pi.js +18 -0
  1370. package/Source/Shaders/Builtin/Constants/piOverFour.glsl +16 -0
  1371. package/Source/Shaders/Builtin/Constants/piOverFour.js +18 -0
  1372. package/Source/Shaders/Builtin/Constants/piOverSix.glsl +16 -0
  1373. package/Source/Shaders/Builtin/Constants/piOverSix.js +18 -0
  1374. package/Source/Shaders/Builtin/Constants/piOverThree.glsl +16 -0
  1375. package/Source/Shaders/Builtin/Constants/piOverThree.js +18 -0
  1376. package/Source/Shaders/Builtin/Constants/piOverTwo.glsl +16 -0
  1377. package/Source/Shaders/Builtin/Constants/piOverTwo.js +18 -0
  1378. package/Source/Shaders/Builtin/Constants/radiansPerDegree.glsl +16 -0
  1379. package/Source/Shaders/Builtin/Constants/radiansPerDegree.js +18 -0
  1380. package/Source/Shaders/Builtin/Constants/sceneMode2D.glsl +11 -0
  1381. package/Source/Shaders/Builtin/Constants/sceneMode2D.js +13 -0
  1382. package/Source/Shaders/Builtin/Constants/sceneMode3D.glsl +11 -0
  1383. package/Source/Shaders/Builtin/Constants/sceneMode3D.js +13 -0
  1384. package/Source/Shaders/Builtin/Constants/sceneModeColumbusView.glsl +11 -0
  1385. package/Source/Shaders/Builtin/Constants/sceneModeColumbusView.js +13 -0
  1386. package/Source/Shaders/Builtin/Constants/sceneModeMorphing.glsl +11 -0
  1387. package/Source/Shaders/Builtin/Constants/sceneModeMorphing.js +13 -0
  1388. package/Source/Shaders/Builtin/Constants/solarRadius.glsl +13 -0
  1389. package/Source/Shaders/Builtin/Constants/solarRadius.js +15 -0
  1390. package/Source/Shaders/Builtin/Constants/threePiOver2.glsl +16 -0
  1391. package/Source/Shaders/Builtin/Constants/threePiOver2.js +18 -0
  1392. package/Source/Shaders/Builtin/Constants/twoPi.glsl +16 -0
  1393. package/Source/Shaders/Builtin/Constants/twoPi.js +18 -0
  1394. package/Source/Shaders/Builtin/Constants/webMercatorMaxLatitude.glsl +16 -0
  1395. package/Source/Shaders/Builtin/Constants/webMercatorMaxLatitude.js +18 -0
  1396. package/Source/Shaders/Builtin/CzmBuiltins.js +286 -0
  1397. package/Source/Shaders/Builtin/Functions/HSBToRGB.glsl +24 -0
  1398. package/Source/Shaders/Builtin/Functions/HSBToRGB.js +26 -0
  1399. package/Source/Shaders/Builtin/Functions/HSLToRGB.glsl +31 -0
  1400. package/Source/Shaders/Builtin/Functions/HSLToRGB.js +33 -0
  1401. package/Source/Shaders/Builtin/Functions/RGBToHSB.glsl +27 -0
  1402. package/Source/Shaders/Builtin/Functions/RGBToHSB.js +29 -0
  1403. package/Source/Shaders/Builtin/Functions/RGBToHSL.glsl +34 -0
  1404. package/Source/Shaders/Builtin/Functions/RGBToHSL.js +36 -0
  1405. package/Source/Shaders/Builtin/Functions/RGBToXYZ.glsl +30 -0
  1406. package/Source/Shaders/Builtin/Functions/RGBToXYZ.js +32 -0
  1407. package/Source/Shaders/Builtin/Functions/XYZToRGB.glsl +30 -0
  1408. package/Source/Shaders/Builtin/Functions/XYZToRGB.js +32 -0
  1409. package/Source/Shaders/Builtin/Functions/acesTonemapping.glsl +16 -0
  1410. package/Source/Shaders/Builtin/Functions/acesTonemapping.js +18 -0
  1411. package/Source/Shaders/Builtin/Functions/alphaWeight.glsl +11 -0
  1412. package/Source/Shaders/Builtin/Functions/alphaWeight.js +13 -0
  1413. package/Source/Shaders/Builtin/Functions/antialias.glsl +39 -0
  1414. package/Source/Shaders/Builtin/Functions/antialias.js +41 -0
  1415. package/Source/Shaders/Builtin/Functions/applyHSBShift.glsl +32 -0
  1416. package/Source/Shaders/Builtin/Functions/applyHSBShift.js +34 -0
  1417. package/Source/Shaders/Builtin/Functions/approximateSphericalCoordinates.glsl +18 -0
  1418. package/Source/Shaders/Builtin/Functions/approximateSphericalCoordinates.js +20 -0
  1419. package/Source/Shaders/Builtin/Functions/approximateTanh.glsl +10 -0
  1420. package/Source/Shaders/Builtin/Functions/approximateTanh.js +12 -0
  1421. package/Source/Shaders/Builtin/Functions/backFacing.glsl +13 -0
  1422. package/Source/Shaders/Builtin/Functions/backFacing.js +15 -0
  1423. package/Source/Shaders/Builtin/Functions/branchFreeTernary.glsl +71 -0
  1424. package/Source/Shaders/Builtin/Functions/branchFreeTernary.js +73 -0
  1425. package/Source/Shaders/Builtin/Functions/cascadeColor.glsl +8 -0
  1426. package/Source/Shaders/Builtin/Functions/cascadeColor.js +10 -0
  1427. package/Source/Shaders/Builtin/Functions/cascadeDistance.glsl +7 -0
  1428. package/Source/Shaders/Builtin/Functions/cascadeDistance.js +9 -0
  1429. package/Source/Shaders/Builtin/Functions/cascadeMatrix.glsl +10 -0
  1430. package/Source/Shaders/Builtin/Functions/cascadeMatrix.js +12 -0
  1431. package/Source/Shaders/Builtin/Functions/cascadeWeights.glsl +10 -0
  1432. package/Source/Shaders/Builtin/Functions/cascadeWeights.js +12 -0
  1433. package/Source/Shaders/Builtin/Functions/clipPolygons.glsl +37 -0
  1434. package/Source/Shaders/Builtin/Functions/clipPolygons.js +39 -0
  1435. package/Source/Shaders/Builtin/Functions/columbusViewMorph.glsl +19 -0
  1436. package/Source/Shaders/Builtin/Functions/columbusViewMorph.js +21 -0
  1437. package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.glsl +88 -0
  1438. package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.js +90 -0
  1439. package/Source/Shaders/Builtin/Functions/computeGroundAtmosphereScattering.glsl +30 -0
  1440. package/Source/Shaders/Builtin/Functions/computeGroundAtmosphereScattering.js +32 -0
  1441. package/Source/Shaders/Builtin/Functions/computePosition.glsl +22 -0
  1442. package/Source/Shaders/Builtin/Functions/computePosition.js +24 -0
  1443. package/Source/Shaders/Builtin/Functions/computeScattering.glsl +149 -0
  1444. package/Source/Shaders/Builtin/Functions/computeScattering.js +151 -0
  1445. package/Source/Shaders/Builtin/Functions/computeTextureTransform.glsl +24 -0
  1446. package/Source/Shaders/Builtin/Functions/computeTextureTransform.js +25 -0
  1447. package/Source/Shaders/Builtin/Functions/cosineAndSine.glsl +211 -0
  1448. package/Source/Shaders/Builtin/Functions/cosineAndSine.js +213 -0
  1449. package/Source/Shaders/Builtin/Functions/decodeRGB8.glsl +22 -0
  1450. package/Source/Shaders/Builtin/Functions/decodeRGB8.js +24 -0
  1451. package/Source/Shaders/Builtin/Functions/decompressTextureCoordinates.glsl +17 -0
  1452. package/Source/Shaders/Builtin/Functions/decompressTextureCoordinates.js +19 -0
  1453. package/Source/Shaders/Builtin/Functions/depthClamp.glsl +47 -0
  1454. package/Source/Shaders/Builtin/Functions/depthClamp.js +49 -0
  1455. package/Source/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.glsl +33 -0
  1456. package/Source/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.js +35 -0
  1457. package/Source/Shaders/Builtin/Functions/ellipsoidContainsPoint.glsl +12 -0
  1458. package/Source/Shaders/Builtin/Functions/ellipsoidContainsPoint.js +14 -0
  1459. package/Source/Shaders/Builtin/Functions/ellipsoidTextureCoordinates.glsl +10 -0
  1460. package/Source/Shaders/Builtin/Functions/ellipsoidTextureCoordinates.js +12 -0
  1461. package/Source/Shaders/Builtin/Functions/equalsEpsilon.glsl +36 -0
  1462. package/Source/Shaders/Builtin/Functions/equalsEpsilon.js +38 -0
  1463. package/Source/Shaders/Builtin/Functions/eyeOffset.glsl +20 -0
  1464. package/Source/Shaders/Builtin/Functions/eyeOffset.js +22 -0
  1465. package/Source/Shaders/Builtin/Functions/eyeToWindowCoordinates.glsl +32 -0
  1466. package/Source/Shaders/Builtin/Functions/eyeToWindowCoordinates.js +34 -0
  1467. package/Source/Shaders/Builtin/Functions/fastApproximateAtan.glsl +55 -0
  1468. package/Source/Shaders/Builtin/Functions/fastApproximateAtan.js +57 -0
  1469. package/Source/Shaders/Builtin/Functions/fog.glsl +38 -0
  1470. package/Source/Shaders/Builtin/Functions/fog.js +40 -0
  1471. package/Source/Shaders/Builtin/Functions/gammaCorrect.glsl +22 -0
  1472. package/Source/Shaders/Builtin/Functions/gammaCorrect.js +24 -0
  1473. package/Source/Shaders/Builtin/Functions/geodeticSurfaceNormal.glsl +16 -0
  1474. package/Source/Shaders/Builtin/Functions/geodeticSurfaceNormal.js +18 -0
  1475. package/Source/Shaders/Builtin/Functions/getDefaultMaterial.glsl +27 -0
  1476. package/Source/Shaders/Builtin/Functions/getDefaultMaterial.js +29 -0
  1477. package/Source/Shaders/Builtin/Functions/getDynamicAtmosphereLightDirection.glsl +22 -0
  1478. package/Source/Shaders/Builtin/Functions/getDynamicAtmosphereLightDirection.js +24 -0
  1479. package/Source/Shaders/Builtin/Functions/getLambertDiffuse.glsl +22 -0
  1480. package/Source/Shaders/Builtin/Functions/getLambertDiffuse.js +24 -0
  1481. package/Source/Shaders/Builtin/Functions/getSpecular.glsl +29 -0
  1482. package/Source/Shaders/Builtin/Functions/getSpecular.js +31 -0
  1483. package/Source/Shaders/Builtin/Functions/getWaterNoise.glsl +37 -0
  1484. package/Source/Shaders/Builtin/Functions/getWaterNoise.js +39 -0
  1485. package/Source/Shaders/Builtin/Functions/hue.glsl +30 -0
  1486. package/Source/Shaders/Builtin/Functions/hue.js +32 -0
  1487. package/Source/Shaders/Builtin/Functions/inverseGamma.glsl +12 -0
  1488. package/Source/Shaders/Builtin/Functions/inverseGamma.js +14 -0
  1489. package/Source/Shaders/Builtin/Functions/isEmpty.glsl +19 -0
  1490. package/Source/Shaders/Builtin/Functions/isEmpty.js +21 -0
  1491. package/Source/Shaders/Builtin/Functions/isFull.glsl +19 -0
  1492. package/Source/Shaders/Builtin/Functions/isFull.js +21 -0
  1493. package/Source/Shaders/Builtin/Functions/latitudeToWebMercatorFraction.glsl +21 -0
  1494. package/Source/Shaders/Builtin/Functions/latitudeToWebMercatorFraction.js +23 -0
  1495. package/Source/Shaders/Builtin/Functions/lineDistance.glsl +14 -0
  1496. package/Source/Shaders/Builtin/Functions/lineDistance.js +16 -0
  1497. package/Source/Shaders/Builtin/Functions/linearToSrgb.glsl +16 -0
  1498. package/Source/Shaders/Builtin/Functions/linearToSrgb.js +18 -0
  1499. package/Source/Shaders/Builtin/Functions/luminance.glsl +20 -0
  1500. package/Source/Shaders/Builtin/Functions/luminance.js +22 -0
  1501. package/Source/Shaders/Builtin/Functions/maximumComponent.glsl +21 -0
  1502. package/Source/Shaders/Builtin/Functions/maximumComponent.js +23 -0
  1503. package/Source/Shaders/Builtin/Functions/metersPerPixel.glsl +61 -0
  1504. package/Source/Shaders/Builtin/Functions/metersPerPixel.js +63 -0
  1505. package/Source/Shaders/Builtin/Functions/modelToWindowCoordinates.glsl +38 -0
  1506. package/Source/Shaders/Builtin/Functions/modelToWindowCoordinates.js +40 -0
  1507. package/Source/Shaders/Builtin/Functions/multiplyWithColorBalance.glsl +18 -0
  1508. package/Source/Shaders/Builtin/Functions/multiplyWithColorBalance.js +20 -0
  1509. package/Source/Shaders/Builtin/Functions/nearFarScalar.glsl +26 -0
  1510. package/Source/Shaders/Builtin/Functions/nearFarScalar.js +28 -0
  1511. package/Source/Shaders/Builtin/Functions/octDecode.glsl +83 -0
  1512. package/Source/Shaders/Builtin/Functions/octDecode.js +85 -0
  1513. package/Source/Shaders/Builtin/Functions/packDepth.glsl +18 -0
  1514. package/Source/Shaders/Builtin/Functions/packDepth.js +20 -0
  1515. package/Source/Shaders/Builtin/Functions/pbrLighting.glsl +164 -0
  1516. package/Source/Shaders/Builtin/Functions/pbrLighting.js +166 -0
  1517. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.glsl +23 -0
  1518. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.js +25 -0
  1519. package/Source/Shaders/Builtin/Functions/phong.glsl +63 -0
  1520. package/Source/Shaders/Builtin/Functions/phong.js +65 -0
  1521. package/Source/Shaders/Builtin/Functions/planeDistance.glsl +28 -0
  1522. package/Source/Shaders/Builtin/Functions/planeDistance.js +30 -0
  1523. package/Source/Shaders/Builtin/Functions/pointAlongRay.glsl +19 -0
  1524. package/Source/Shaders/Builtin/Functions/pointAlongRay.js +21 -0
  1525. package/Source/Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval.glsl +83 -0
  1526. package/Source/Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval.js +85 -0
  1527. package/Source/Shaders/Builtin/Functions/raySphereIntersectionInterval.glsl +36 -0
  1528. package/Source/Shaders/Builtin/Functions/raySphereIntersectionInterval.js +38 -0
  1529. package/Source/Shaders/Builtin/Functions/readDepth.glsl +4 -0
  1530. package/Source/Shaders/Builtin/Functions/readDepth.js +6 -0
  1531. package/Source/Shaders/Builtin/Functions/readNonPerspective.glsl +31 -0
  1532. package/Source/Shaders/Builtin/Functions/readNonPerspective.js +33 -0
  1533. package/Source/Shaders/Builtin/Functions/reverseLogDepth.glsl +11 -0
  1534. package/Source/Shaders/Builtin/Functions/reverseLogDepth.js +13 -0
  1535. package/Source/Shaders/Builtin/Functions/round.glsl +22 -0
  1536. package/Source/Shaders/Builtin/Functions/round.js +24 -0
  1537. package/Source/Shaders/Builtin/Functions/saturation.glsl +22 -0
  1538. package/Source/Shaders/Builtin/Functions/saturation.js +24 -0
  1539. package/Source/Shaders/Builtin/Functions/shadowDepthCompare.glsl +24 -0
  1540. package/Source/Shaders/Builtin/Functions/shadowDepthCompare.js +26 -0
  1541. package/Source/Shaders/Builtin/Functions/shadowVisibility.glsl +66 -0
  1542. package/Source/Shaders/Builtin/Functions/shadowVisibility.js +68 -0
  1543. package/Source/Shaders/Builtin/Functions/signNotZero.glsl +29 -0
  1544. package/Source/Shaders/Builtin/Functions/signNotZero.js +31 -0
  1545. package/Source/Shaders/Builtin/Functions/sphericalHarmonics.glsl +44 -0
  1546. package/Source/Shaders/Builtin/Functions/sphericalHarmonics.js +46 -0
  1547. package/Source/Shaders/Builtin/Functions/srgbToLinear.glsl +16 -0
  1548. package/Source/Shaders/Builtin/Functions/srgbToLinear.js +18 -0
  1549. package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.glsl +25 -0
  1550. package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.js +27 -0
  1551. package/Source/Shaders/Builtin/Functions/textureCube.glsl +36 -0
  1552. package/Source/Shaders/Builtin/Functions/textureCube.js +37 -0
  1553. package/Source/Shaders/Builtin/Functions/transformPlane.glsl +15 -0
  1554. package/Source/Shaders/Builtin/Functions/transformPlane.js +17 -0
  1555. package/Source/Shaders/Builtin/Functions/translateRelativeToEye.glsl +45 -0
  1556. package/Source/Shaders/Builtin/Functions/translateRelativeToEye.js +47 -0
  1557. package/Source/Shaders/Builtin/Functions/translucentPhong.glsl +27 -0
  1558. package/Source/Shaders/Builtin/Functions/translucentPhong.js +29 -0
  1559. package/Source/Shaders/Builtin/Functions/transpose.glsl +45 -0
  1560. package/Source/Shaders/Builtin/Functions/transpose.js +47 -0
  1561. package/Source/Shaders/Builtin/Functions/unpackClippingExtents.glsl +14 -0
  1562. package/Source/Shaders/Builtin/Functions/unpackClippingExtents.js +15 -0
  1563. package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +16 -0
  1564. package/Source/Shaders/Builtin/Functions/unpackDepth.js +18 -0
  1565. package/Source/Shaders/Builtin/Functions/unpackFloat.glsl +24 -0
  1566. package/Source/Shaders/Builtin/Functions/unpackFloat.js +26 -0
  1567. package/Source/Shaders/Builtin/Functions/unpackTexture.glsl +35 -0
  1568. package/Source/Shaders/Builtin/Functions/unpackTexture.js +37 -0
  1569. package/Source/Shaders/Builtin/Functions/unpackUint.glsl +31 -0
  1570. package/Source/Shaders/Builtin/Functions/unpackUint.js +33 -0
  1571. package/Source/Shaders/Builtin/Functions/valueTransform.glsl +38 -0
  1572. package/Source/Shaders/Builtin/Functions/valueTransform.js +40 -0
  1573. package/Source/Shaders/Builtin/Functions/vertexLogDepth.glsl +64 -0
  1574. package/Source/Shaders/Builtin/Functions/vertexLogDepth.js +66 -0
  1575. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +110 -0
  1576. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +112 -0
  1577. package/Source/Shaders/Builtin/Functions/writeDepthClamp.glsl +24 -0
  1578. package/Source/Shaders/Builtin/Functions/writeDepthClamp.js +26 -0
  1579. package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +79 -0
  1580. package/Source/Shaders/Builtin/Functions/writeLogDepth.js +81 -0
  1581. package/Source/Shaders/Builtin/Functions/writeNonPerspective.glsl +32 -0
  1582. package/Source/Shaders/Builtin/Functions/writeNonPerspective.js +34 -0
  1583. package/Source/Shaders/Builtin/Structs/depthRangeStruct.glsl +9 -0
  1584. package/Source/Shaders/Builtin/Structs/depthRangeStruct.js +11 -0
  1585. package/Source/Shaders/Builtin/Structs/material.glsl +22 -0
  1586. package/Source/Shaders/Builtin/Structs/material.js +24 -0
  1587. package/Source/Shaders/Builtin/Structs/materialInput.glsl +30 -0
  1588. package/Source/Shaders/Builtin/Structs/materialInput.js +32 -0
  1589. package/Source/Shaders/Builtin/Structs/modelMaterial.glsl +45 -0
  1590. package/Source/Shaders/Builtin/Structs/modelMaterial.js +47 -0
  1591. package/Source/Shaders/Builtin/Structs/modelVertexOutput.glsl +16 -0
  1592. package/Source/Shaders/Builtin/Structs/modelVertexOutput.js +18 -0
  1593. package/Source/Shaders/Builtin/Structs/ray.glsl +11 -0
  1594. package/Source/Shaders/Builtin/Structs/ray.js +13 -0
  1595. package/Source/Shaders/Builtin/Structs/raySegment.glsl +27 -0
  1596. package/Source/Shaders/Builtin/Structs/raySegment.js +29 -0
  1597. package/Source/Shaders/Builtin/Structs/shadowParameters.glsl +15 -0
  1598. package/Source/Shaders/Builtin/Structs/shadowParameters.js +17 -0
  1599. package/Source/Shaders/CloudCollectionFS.glsl +263 -0
  1600. package/Source/Shaders/CloudCollectionFS.js +265 -0
  1601. package/Source/Shaders/CloudCollectionVS.glsl +48 -0
  1602. package/Source/Shaders/CloudCollectionVS.js +50 -0
  1603. package/Source/Shaders/CloudNoiseFS.glsl +92 -0
  1604. package/Source/Shaders/CloudNoiseFS.js +94 -0
  1605. package/Source/Shaders/CloudNoiseVS.glsl +18 -0
  1606. package/Source/Shaders/CloudNoiseVS.js +20 -0
  1607. package/Source/Shaders/CompareAndPackTranslucentDepth.glsl +12 -0
  1608. package/Source/Shaders/CompareAndPackTranslucentDepth.js +14 -0
  1609. package/Source/Shaders/CompositeOITFS.glsl +31 -0
  1610. package/Source/Shaders/CompositeOITFS.js +33 -0
  1611. package/Source/Shaders/ComputeIrradianceFS.glsl +103 -0
  1612. package/Source/Shaders/ComputeIrradianceFS.js +105 -0
  1613. package/Source/Shaders/ComputeRadianceMapFS.glsl +107 -0
  1614. package/Source/Shaders/ComputeRadianceMapFS.js +109 -0
  1615. package/Source/Shaders/ConvolveSpecularMapFS.glsl +70 -0
  1616. package/Source/Shaders/ConvolveSpecularMapFS.js +72 -0
  1617. package/Source/Shaders/ConvolveSpecularMapVS.glsl +24 -0
  1618. package/Source/Shaders/ConvolveSpecularMapVS.js +26 -0
  1619. package/Source/Shaders/CubeMapPanoramaVS.glsl +11 -0
  1620. package/Source/Shaders/CubeMapPanoramaVS.js +13 -0
  1621. package/Source/Shaders/DepthPlaneFS.glsl +36 -0
  1622. package/Source/Shaders/DepthPlaneFS.js +38 -0
  1623. package/Source/Shaders/DepthPlaneVS.glsl +11 -0
  1624. package/Source/Shaders/DepthPlaneVS.js +13 -0
  1625. package/Source/Shaders/EllipsoidFS.glsl +104 -0
  1626. package/Source/Shaders/EllipsoidFS.js +106 -0
  1627. package/Source/Shaders/EllipsoidVS.glsl +28 -0
  1628. package/Source/Shaders/EllipsoidVS.js +30 -0
  1629. package/Source/Shaders/FXAA3_11.glsl +650 -0
  1630. package/Source/Shaders/FXAA3_11.js +680 -0
  1631. package/Source/Shaders/GlobeFS.glsl +692 -0
  1632. package/Source/Shaders/GlobeFS.js +694 -0
  1633. package/Source/Shaders/GlobeVS.glsl +286 -0
  1634. package/Source/Shaders/GlobeVS.js +288 -0
  1635. package/Source/Shaders/GroundAtmosphere.glsl +18 -0
  1636. package/Source/Shaders/GroundAtmosphere.js +20 -0
  1637. package/Source/Shaders/Materials/AspectRampMaterial.glsl +11 -0
  1638. package/Source/Shaders/Materials/AspectRampMaterial.js +13 -0
  1639. package/Source/Shaders/Materials/BumpMapMaterial.glsl +29 -0
  1640. package/Source/Shaders/Materials/BumpMapMaterial.js +31 -0
  1641. package/Source/Shaders/Materials/CheckerboardMaterial.glsl +29 -0
  1642. package/Source/Shaders/Materials/CheckerboardMaterial.js +31 -0
  1643. package/Source/Shaders/Materials/DotMaterial.glsl +18 -0
  1644. package/Source/Shaders/Materials/DotMaterial.js +20 -0
  1645. package/Source/Shaders/Materials/ElevationBandMaterial.glsl +74 -0
  1646. package/Source/Shaders/Materials/ElevationBandMaterial.js +76 -0
  1647. package/Source/Shaders/Materials/ElevationContourMaterial.glsl +26 -0
  1648. package/Source/Shaders/Materials/ElevationContourMaterial.js +28 -0
  1649. package/Source/Shaders/Materials/ElevationRampMaterial.glsl +14 -0
  1650. package/Source/Shaders/Materials/ElevationRampMaterial.js +16 -0
  1651. package/Source/Shaders/Materials/FadeMaterial.glsl +37 -0
  1652. package/Source/Shaders/Materials/FadeMaterial.js +39 -0
  1653. package/Source/Shaders/Materials/GridMaterial.glsl +57 -0
  1654. package/Source/Shaders/Materials/GridMaterial.js +59 -0
  1655. package/Source/Shaders/Materials/NormalMapMaterial.glsl +19 -0
  1656. package/Source/Shaders/Materials/NormalMapMaterial.js +21 -0
  1657. package/Source/Shaders/Materials/PolylineArrowMaterial.glsl +63 -0
  1658. package/Source/Shaders/Materials/PolylineArrowMaterial.js +65 -0
  1659. package/Source/Shaders/Materials/PolylineDashMaterial.glsl +39 -0
  1660. package/Source/Shaders/Materials/PolylineDashMaterial.js +41 -0
  1661. package/Source/Shaders/Materials/PolylineGlowMaterial.glsl +25 -0
  1662. package/Source/Shaders/Materials/PolylineGlowMaterial.js +27 -0
  1663. package/Source/Shaders/Materials/PolylineOutlineMaterial.glsl +29 -0
  1664. package/Source/Shaders/Materials/PolylineOutlineMaterial.js +31 -0
  1665. package/Source/Shaders/Materials/RimLightingMaterial.glsl +21 -0
  1666. package/Source/Shaders/Materials/RimLightingMaterial.js +23 -0
  1667. package/Source/Shaders/Materials/SlopeRampMaterial.glsl +11 -0
  1668. package/Source/Shaders/Materials/SlopeRampMaterial.js +13 -0
  1669. package/Source/Shaders/Materials/StripeMaterial.glsl +24 -0
  1670. package/Source/Shaders/Materials/StripeMaterial.js +26 -0
  1671. package/Source/Shaders/Materials/Water.glsl +58 -0
  1672. package/Source/Shaders/Materials/Water.js +60 -0
  1673. package/Source/Shaders/Materials/WaterMaskMaterial.glsl +15 -0
  1674. package/Source/Shaders/Materials/WaterMaskMaterial.js +17 -0
  1675. package/Source/Shaders/Model/AtmosphereStageFS.glsl +108 -0
  1676. package/Source/Shaders/Model/AtmosphereStageFS.js +110 -0
  1677. package/Source/Shaders/Model/AtmosphereStageVS.glsl +12 -0
  1678. package/Source/Shaders/Model/AtmosphereStageVS.js +14 -0
  1679. package/Source/Shaders/Model/CPUStylingStageFS.glsl +49 -0
  1680. package/Source/Shaders/Model/CPUStylingStageFS.js +51 -0
  1681. package/Source/Shaders/Model/CPUStylingStageVS.glsl +30 -0
  1682. package/Source/Shaders/Model/CPUStylingStageVS.js +32 -0
  1683. package/Source/Shaders/Model/ConstantLodStageFS.glsl +60 -0
  1684. package/Source/Shaders/Model/ConstantLodStageFS.js +62 -0
  1685. package/Source/Shaders/Model/ConstantLodStageVS.glsl +12 -0
  1686. package/Source/Shaders/Model/ConstantLodStageVS.js +13 -0
  1687. package/Source/Shaders/Model/CustomShaderStageFS.glsl +18 -0
  1688. package/Source/Shaders/Model/CustomShaderStageFS.js +20 -0
  1689. package/Source/Shaders/Model/CustomShaderStageVS.glsl +19 -0
  1690. package/Source/Shaders/Model/CustomShaderStageVS.js +21 -0
  1691. package/Source/Shaders/Model/EdgeDetectionStageFS.glsl +58 -0
  1692. package/Source/Shaders/Model/EdgeDetectionStageFS.js +60 -0
  1693. package/Source/Shaders/Model/EdgeVisibilityStageFS.glsl +69 -0
  1694. package/Source/Shaders/Model/EdgeVisibilityStageFS.js +70 -0
  1695. package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +98 -0
  1696. package/Source/Shaders/Model/EdgeVisibilityStageVS.js +100 -0
  1697. package/Source/Shaders/Model/FeatureIdStageFS.glsl +4 -0
  1698. package/Source/Shaders/Model/FeatureIdStageFS.js +6 -0
  1699. package/Source/Shaders/Model/FeatureIdStageVS.glsl +6 -0
  1700. package/Source/Shaders/Model/FeatureIdStageVS.js +8 -0
  1701. package/Source/Shaders/Model/GeometryStageFS.glsl +25 -0
  1702. package/Source/Shaders/Model/GeometryStageFS.js +27 -0
  1703. package/Source/Shaders/Model/GeometryStageVS.glsl +42 -0
  1704. package/Source/Shaders/Model/GeometryStageVS.js +44 -0
  1705. package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +101 -0
  1706. package/Source/Shaders/Model/ImageBasedLightingStageFS.js +103 -0
  1707. package/Source/Shaders/Model/InstancingStageCommon.glsl +67 -0
  1708. package/Source/Shaders/Model/InstancingStageCommon.js +69 -0
  1709. package/Source/Shaders/Model/InstancingStageVS.glsl +18 -0
  1710. package/Source/Shaders/Model/InstancingStageVS.js +20 -0
  1711. package/Source/Shaders/Model/LegacyInstancingStageVS.glsl +20 -0
  1712. package/Source/Shaders/Model/LegacyInstancingStageVS.js +22 -0
  1713. package/Source/Shaders/Model/LightingStageFS.glsl +120 -0
  1714. package/Source/Shaders/Model/LightingStageFS.js +122 -0
  1715. package/Source/Shaders/Model/MaterialStageFS.glsl +523 -0
  1716. package/Source/Shaders/Model/MaterialStageFS.js +525 -0
  1717. package/Source/Shaders/Model/MetadataStageFS.glsl +10 -0
  1718. package/Source/Shaders/Model/MetadataStageFS.js +12 -0
  1719. package/Source/Shaders/Model/MetadataStageVS.glsl +11 -0
  1720. package/Source/Shaders/Model/MetadataStageVS.js +13 -0
  1721. package/Source/Shaders/Model/ModelClippingPlanesStageFS.glsl +88 -0
  1722. package/Source/Shaders/Model/ModelClippingPlanesStageFS.js +90 -0
  1723. package/Source/Shaders/Model/ModelClippingPolygonsStageFS.glsl +6 -0
  1724. package/Source/Shaders/Model/ModelClippingPolygonsStageFS.js +8 -0
  1725. package/Source/Shaders/Model/ModelClippingPolygonsStageVS.glsl +27 -0
  1726. package/Source/Shaders/Model/ModelClippingPolygonsStageVS.js +29 -0
  1727. package/Source/Shaders/Model/ModelColorStageFS.glsl +7 -0
  1728. package/Source/Shaders/Model/ModelColorStageFS.js +9 -0
  1729. package/Source/Shaders/Model/ModelFS.glsl +156 -0
  1730. package/Source/Shaders/Model/ModelFS.js +158 -0
  1731. package/Source/Shaders/Model/ModelSilhouetteStageFS.glsl +5 -0
  1732. package/Source/Shaders/Model/ModelSilhouetteStageFS.js +6 -0
  1733. package/Source/Shaders/Model/ModelSilhouetteStageVS.glsl +10 -0
  1734. package/Source/Shaders/Model/ModelSilhouetteStageVS.js +12 -0
  1735. package/Source/Shaders/Model/ModelSplitterStageFS.glsl +9 -0
  1736. package/Source/Shaders/Model/ModelSplitterStageFS.js +11 -0
  1737. package/Source/Shaders/Model/ModelVS.glsl +171 -0
  1738. package/Source/Shaders/Model/ModelVS.js +173 -0
  1739. package/Source/Shaders/Model/MorphTargetsStageVS.glsl +15 -0
  1740. package/Source/Shaders/Model/MorphTargetsStageVS.js +16 -0
  1741. package/Source/Shaders/Model/PointCloudStylingStageVS.glsl +45 -0
  1742. package/Source/Shaders/Model/PointCloudStylingStageVS.js +47 -0
  1743. package/Source/Shaders/Model/PrimitiveOutlineStageFS.glsl +15 -0
  1744. package/Source/Shaders/Model/PrimitiveOutlineStageFS.js +17 -0
  1745. package/Source/Shaders/Model/PrimitiveOutlineStageVS.glsl +3 -0
  1746. package/Source/Shaders/Model/PrimitiveOutlineStageVS.js +5 -0
  1747. package/Source/Shaders/Model/SelectedFeatureIdStageCommon.glsl +51 -0
  1748. package/Source/Shaders/Model/SelectedFeatureIdStageCommon.js +53 -0
  1749. package/Source/Shaders/Model/SkinningStageVS.glsl +18 -0
  1750. package/Source/Shaders/Model/SkinningStageVS.js +19 -0
  1751. package/Source/Shaders/Model/VerticalExaggerationStageVS.glsl +39 -0
  1752. package/Source/Shaders/Model/VerticalExaggerationStageVS.js +41 -0
  1753. package/Source/Shaders/PointPrimitiveCollectionFS.glsl +47 -0
  1754. package/Source/Shaders/PointPrimitiveCollectionFS.js +49 -0
  1755. package/Source/Shaders/PointPrimitiveCollectionVS.glsl +154 -0
  1756. package/Source/Shaders/PointPrimitiveCollectionVS.js +156 -0
  1757. package/Source/Shaders/PolygonSignedDistanceFS.glsl +131 -0
  1758. package/Source/Shaders/PolygonSignedDistanceFS.js +132 -0
  1759. package/Source/Shaders/PolylineCommon.glsl +176 -0
  1760. package/Source/Shaders/PolylineCommon.js +178 -0
  1761. package/Source/Shaders/PolylineFS.glsl +25 -0
  1762. package/Source/Shaders/PolylineFS.js +27 -0
  1763. package/Source/Shaders/PolylineShadowVolumeFS.glsl +86 -0
  1764. package/Source/Shaders/PolylineShadowVolumeFS.js +88 -0
  1765. package/Source/Shaders/PolylineShadowVolumeMorphFS.glsl +45 -0
  1766. package/Source/Shaders/PolylineShadowVolumeMorphFS.js +47 -0
  1767. package/Source/Shaders/PolylineShadowVolumeMorphVS.glsl +177 -0
  1768. package/Source/Shaders/PolylineShadowVolumeMorphVS.js +179 -0
  1769. package/Source/Shaders/PolylineShadowVolumeVS.glsl +168 -0
  1770. package/Source/Shaders/PolylineShadowVolumeVS.js +170 -0
  1771. package/Source/Shaders/PolylineVS.glsl +103 -0
  1772. package/Source/Shaders/PolylineVS.js +105 -0
  1773. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +25 -0
  1774. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +27 -0
  1775. package/Source/Shaders/PostProcessStages/AdditiveBlend.glsl +17 -0
  1776. package/Source/Shaders/PostProcessStages/AdditiveBlend.js +19 -0
  1777. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +144 -0
  1778. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +146 -0
  1779. package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.glsl +11 -0
  1780. package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js +13 -0
  1781. package/Source/Shaders/PostProcessStages/BlackAndWhite.glsl +19 -0
  1782. package/Source/Shaders/PostProcessStages/BlackAndWhite.js +21 -0
  1783. package/Source/Shaders/PostProcessStages/BloomComposite.glsl +20 -0
  1784. package/Source/Shaders/PostProcessStages/BloomComposite.js +22 -0
  1785. package/Source/Shaders/PostProcessStages/BrightPass.glsl +30 -0
  1786. package/Source/Shaders/PostProcessStages/BrightPass.js +32 -0
  1787. package/Source/Shaders/PostProcessStages/Brightness.glsl +11 -0
  1788. package/Source/Shaders/PostProcessStages/Brightness.js +13 -0
  1789. package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.glsl +31 -0
  1790. package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.js +33 -0
  1791. package/Source/Shaders/PostProcessStages/ContrastBias.glsl +17 -0
  1792. package/Source/Shaders/PostProcessStages/ContrastBias.js +19 -0
  1793. package/Source/Shaders/PostProcessStages/DepthOfField.glsl +39 -0
  1794. package/Source/Shaders/PostProcessStages/DepthOfField.js +41 -0
  1795. package/Source/Shaders/PostProcessStages/DepthView.glsl +9 -0
  1796. package/Source/Shaders/PostProcessStages/DepthView.js +11 -0
  1797. package/Source/Shaders/PostProcessStages/DepthViewPacked.glsl +14 -0
  1798. package/Source/Shaders/PostProcessStages/DepthViewPacked.js +16 -0
  1799. package/Source/Shaders/PostProcessStages/EdgeDetection.glsl +60 -0
  1800. package/Source/Shaders/PostProcessStages/EdgeDetection.js +62 -0
  1801. package/Source/Shaders/PostProcessStages/FXAA.glsl +21 -0
  1802. package/Source/Shaders/PostProcessStages/FXAA.js +23 -0
  1803. package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +40 -0
  1804. package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +42 -0
  1805. package/Source/Shaders/PostProcessStages/GaussianBlur1D.glsl +47 -0
  1806. package/Source/Shaders/PostProcessStages/GaussianBlur1D.js +49 -0
  1807. package/Source/Shaders/PostProcessStages/LensFlare.glsl +153 -0
  1808. package/Source/Shaders/PostProcessStages/LensFlare.js +155 -0
  1809. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +28 -0
  1810. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +30 -0
  1811. package/Source/Shaders/PostProcessStages/NightVision.glsl +16 -0
  1812. package/Source/Shaders/PostProcessStages/NightVision.js +18 -0
  1813. package/Source/Shaders/PostProcessStages/PassThrough.glsl +8 -0
  1814. package/Source/Shaders/PostProcessStages/PassThrough.js +10 -0
  1815. package/Source/Shaders/PostProcessStages/PassThroughDepth.glsl +8 -0
  1816. package/Source/Shaders/PostProcessStages/PassThroughDepth.js +10 -0
  1817. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.glsl +25 -0
  1818. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js +27 -0
  1819. package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.glsl +61 -0
  1820. package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.js +63 -0
  1821. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +27 -0
  1822. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +29 -0
  1823. package/Source/Shaders/PostProcessStages/Silhouette.glsl +11 -0
  1824. package/Source/Shaders/PostProcessStages/Silhouette.js +13 -0
  1825. package/Source/Shaders/PrimitiveGaussianSplatFS.glsl +18 -0
  1826. package/Source/Shaders/PrimitiveGaussianSplatFS.js +20 -0
  1827. package/Source/Shaders/PrimitiveGaussianSplatVS.glsl +196 -0
  1828. package/Source/Shaders/PrimitiveGaussianSplatVS.js +197 -0
  1829. package/Source/Shaders/ReprojectWebMercatorFS.glsl +8 -0
  1830. package/Source/Shaders/ReprojectWebMercatorFS.js +10 -0
  1831. package/Source/Shaders/ReprojectWebMercatorVS.glsl +12 -0
  1832. package/Source/Shaders/ReprojectWebMercatorVS.js +14 -0
  1833. package/Source/Shaders/ShadowVolumeAppearanceFS.glsl +153 -0
  1834. package/Source/Shaders/ShadowVolumeAppearanceFS.js +155 -0
  1835. package/Source/Shaders/ShadowVolumeAppearanceVS.glsl +101 -0
  1836. package/Source/Shaders/ShadowVolumeAppearanceVS.js +103 -0
  1837. package/Source/Shaders/ShadowVolumeFS.glsl +13 -0
  1838. package/Source/Shaders/ShadowVolumeFS.js +15 -0
  1839. package/Source/Shaders/SkyAtmosphereCommon.glsl +81 -0
  1840. package/Source/Shaders/SkyAtmosphereCommon.js +83 -0
  1841. package/Source/Shaders/SkyAtmosphereFS.glsl +59 -0
  1842. package/Source/Shaders/SkyAtmosphereFS.js +61 -0
  1843. package/Source/Shaders/SkyAtmosphereVS.glsl +32 -0
  1844. package/Source/Shaders/SkyAtmosphereVS.js +34 -0
  1845. package/Source/Shaders/SkyBoxFS.glsl +9 -0
  1846. package/Source/Shaders/SkyBoxFS.js +11 -0
  1847. package/Source/Shaders/SkyBoxVS.glsl +9 -0
  1848. package/Source/Shaders/SkyBoxVS.js +11 -0
  1849. package/Source/Shaders/SunFS.glsl +9 -0
  1850. package/Source/Shaders/SunFS.js +11 -0
  1851. package/Source/Shaders/SunTextureFS.glsl +55 -0
  1852. package/Source/Shaders/SunTextureFS.js +57 -0
  1853. package/Source/Shaders/SunVS.glsl +28 -0
  1854. package/Source/Shaders/SunVS.js +30 -0
  1855. package/Source/Shaders/Vector3DTileClampedPolylinesFS.glsl +48 -0
  1856. package/Source/Shaders/Vector3DTileClampedPolylinesFS.js +50 -0
  1857. package/Source/Shaders/Vector3DTileClampedPolylinesVS.glsl +85 -0
  1858. package/Source/Shaders/Vector3DTileClampedPolylinesVS.js +87 -0
  1859. package/Source/Shaders/Vector3DTilePolylinesVS.glsl +22 -0
  1860. package/Source/Shaders/Vector3DTilePolylinesVS.js +24 -0
  1861. package/Source/Shaders/VectorTileVS.glsl +9 -0
  1862. package/Source/Shaders/VectorTileVS.js +11 -0
  1863. package/Source/Shaders/ViewportQuadFS.glsl +16 -0
  1864. package/Source/Shaders/ViewportQuadFS.js +18 -0
  1865. package/Source/Shaders/ViewportQuadVS.glsl +10 -0
  1866. package/Source/Shaders/ViewportQuadVS.js +12 -0
  1867. package/Source/Shaders/Voxels/IntersectBox.glsl +34 -0
  1868. package/Source/Shaders/Voxels/IntersectBox.js +36 -0
  1869. package/Source/Shaders/Voxels/IntersectCylinder.glsl +142 -0
  1870. package/Source/Shaders/Voxels/IntersectCylinder.js +144 -0
  1871. package/Source/Shaders/Voxels/IntersectDepth.glsl +27 -0
  1872. package/Source/Shaders/Voxels/IntersectDepth.js +29 -0
  1873. package/Source/Shaders/Voxels/IntersectEllipsoid.glsl +330 -0
  1874. package/Source/Shaders/Voxels/IntersectEllipsoid.js +332 -0
  1875. package/Source/Shaders/Voxels/IntersectLongitude.glsl +114 -0
  1876. package/Source/Shaders/Voxels/IntersectLongitude.js +116 -0
  1877. package/Source/Shaders/Voxels/IntersectPlane.glsl +80 -0
  1878. package/Source/Shaders/Voxels/IntersectPlane.js +82 -0
  1879. package/Source/Shaders/Voxels/Intersection.glsl +50 -0
  1880. package/Source/Shaders/Voxels/Intersection.js +52 -0
  1881. package/Source/Shaders/Voxels/IntersectionUtils.glsl +167 -0
  1882. package/Source/Shaders/Voxels/IntersectionUtils.js +169 -0
  1883. package/Source/Shaders/Voxels/Megatexture.glsl +55 -0
  1884. package/Source/Shaders/Voxels/Megatexture.js +57 -0
  1885. package/Source/Shaders/Voxels/Octree.glsl +254 -0
  1886. package/Source/Shaders/Voxels/Octree.js +256 -0
  1887. package/Source/Shaders/Voxels/VoxelFS.glsl +267 -0
  1888. package/Source/Shaders/Voxels/VoxelFS.js +269 -0
  1889. package/Source/Shaders/Voxels/VoxelUtils.glsl +12 -0
  1890. package/Source/Shaders/Voxels/VoxelUtils.js +14 -0
  1891. package/Source/Shaders/Voxels/VoxelVS.glsl +11 -0
  1892. package/Source/Shaders/Voxels/VoxelVS.js +13 -0
  1893. package/Source/Shaders/Voxels/convertLocalToBoxUv.glsl +29 -0
  1894. package/Source/Shaders/Voxels/convertLocalToBoxUv.js +31 -0
  1895. package/Source/Shaders/Voxels/convertLocalToCylinderUv.glsl +95 -0
  1896. package/Source/Shaders/Voxels/convertLocalToCylinderUv.js +97 -0
  1897. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.glsl +183 -0
  1898. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.js +185 -0
  1899. package/Source/ThirdParty/Workers/basis_transcoder.js +21 -0
  1900. package/Source/ThirdParty/Workers/package.json +1 -0
  1901. package/Source/ThirdParty/Workers/zip-web-worker.js +1 -0
  1902. package/Source/ThirdParty/basis_transcoder.wasm +0 -0
  1903. package/Source/ThirdParty/draco_decoder.wasm +0 -0
  1904. package/Source/ThirdParty/google-earth-dbroot-parser.js +8337 -0
  1905. package/Source/ThirdParty/wasm_splats_bg.wasm +0 -0
  1906. package/Source/ThirdParty/zip-module.wasm +0 -0
  1907. package/Source/Widget/CesiumWidget.css +119 -0
  1908. package/Source/Widget/CesiumWidget.js +1613 -0
  1909. package/Source/Widget/lighter.css +14 -0
  1910. package/Source/Workers/combineGeometry.js +13 -0
  1911. package/Source/Workers/createBoxGeometry.js +10 -0
  1912. package/Source/Workers/createBoxOutlineGeometry.js +10 -0
  1913. package/Source/Workers/createCircleGeometry.js +18 -0
  1914. package/Source/Workers/createCircleOutlineGeometry.js +18 -0
  1915. package/Source/Workers/createCoplanarPolygonGeometry.js +10 -0
  1916. package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +15 -0
  1917. package/Source/Workers/createCorridorGeometry.js +12 -0
  1918. package/Source/Workers/createCorridorOutlineGeometry.js +17 -0
  1919. package/Source/Workers/createCylinderGeometry.js +10 -0
  1920. package/Source/Workers/createCylinderOutlineGeometry.js +10 -0
  1921. package/Source/Workers/createEllipseGeometry.js +14 -0
  1922. package/Source/Workers/createEllipseOutlineGeometry.js +14 -0
  1923. package/Source/Workers/createEllipsoidGeometry.js +10 -0
  1924. package/Source/Workers/createEllipsoidOutlineGeometry.js +13 -0
  1925. package/Source/Workers/createFrustumGeometry.js +10 -0
  1926. package/Source/Workers/createFrustumOutlineGeometry.js +10 -0
  1927. package/Source/Workers/createGeometry.js +78 -0
  1928. package/Source/Workers/createGroundPolylineGeometry.js +16 -0
  1929. package/Source/Workers/createPlaneGeometry.js +10 -0
  1930. package/Source/Workers/createPlaneOutlineGeometry.js +10 -0
  1931. package/Source/Workers/createPolygonGeometry.js +12 -0
  1932. package/Source/Workers/createPolygonOutlineGeometry.js +12 -0
  1933. package/Source/Workers/createPolylineGeometry.js +12 -0
  1934. package/Source/Workers/createPolylineVolumeGeometry.js +17 -0
  1935. package/Source/Workers/createPolylineVolumeOutlineGeometry.js +22 -0
  1936. package/Source/Workers/createRectangleGeometry.js +14 -0
  1937. package/Source/Workers/createRectangleOutlineGeometry.js +17 -0
  1938. package/Source/Workers/createSimplePolylineGeometry.js +17 -0
  1939. package/Source/Workers/createSphereGeometry.js +10 -0
  1940. package/Source/Workers/createSphereOutlineGeometry.js +10 -0
  1941. package/Source/Workers/createTaskProcessorWorker.js +113 -0
  1942. package/Source/Workers/createVectorTileClampedPolylines.js +541 -0
  1943. package/Source/Workers/createVectorTileGeometries.js +414 -0
  1944. package/Source/Workers/createVectorTilePoints.js +81 -0
  1945. package/Source/Workers/createVectorTilePolygons.js +412 -0
  1946. package/Source/Workers/createVectorTilePolylines.js +210 -0
  1947. package/Source/Workers/createVerticesFromCesium3DTilesTerrain.js +46 -0
  1948. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +651 -0
  1949. package/Source/Workers/createVerticesFromHeightmap.js +53 -0
  1950. package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +549 -0
  1951. package/Source/Workers/createWallGeometry.js +12 -0
  1952. package/Source/Workers/createWallOutlineGeometry.js +12 -0
  1953. package/Source/Workers/decodeDraco.js +386 -0
  1954. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +268 -0
  1955. package/Source/Workers/decodeI3S.js +1655 -0
  1956. package/Source/Workers/gaussianSplatSorter.js +34 -0
  1957. package/Source/Workers/gaussianSplatTextureGenerator.js +39 -0
  1958. package/Source/Workers/incrementallyBuildTerrainPicker.js +122 -0
  1959. package/Source/Workers/transcodeKTX2.js +308 -0
  1960. package/Source/Workers/transferTypedArrayTest.js +16 -0
  1961. package/Source/Workers/upsampleQuantizedTerrainMesh.js +681 -0
  1962. package/Source/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +55 -0
  1963. package/index.js +1263 -0
  1964. package/package.json +83 -0
@@ -0,0 +1,2152 @@
1
+ import buildVoxelDrawCommands from "./buildVoxelDrawCommands.js";
2
+ import Cartesian2 from "../Core/Cartesian2.js";
3
+ import Cartesian3 from "../Core/Cartesian3.js";
4
+ import Cartesian4 from "../Core/Cartesian4.js";
5
+ import Cartographic from "../Core/Cartographic.js";
6
+ import Cesium3DTilesetStatistics from "./Cesium3DTilesetStatistics.js";
7
+ import CesiumMath from "../Core/Math.js";
8
+ import Check from "../Core/Check.js";
9
+ import Color from "../Core/Color.js";
10
+ import ClippingPlaneCollection from "./ClippingPlaneCollection.js";
11
+ import clone from "../Core/clone.js";
12
+ import CustomShader from "./Model/CustomShader.js";
13
+ import Frozen from "../Core/Frozen.js";
14
+ import defined from "../Core/defined.js";
15
+ import destroyObject from "../Core/destroyObject.js";
16
+ import Ellipsoid from "../Core/Ellipsoid.js";
17
+ import Event from "../Core/Event.js";
18
+ import JulianDate from "../Core/JulianDate.js";
19
+ import Material from "./Material.js";
20
+ import Matrix3 from "../Core/Matrix3.js";
21
+ import Matrix4 from "../Core/Matrix4.js";
22
+ import MetadataComponentType from "./MetadataComponentType.js";
23
+ import MetadataType from "./MetadataType.js";
24
+ import oneTimeWarning from "../Core/oneTimeWarning.js";
25
+ import PolylineCollection from "./PolylineCollection.js";
26
+ import VerticalExaggeration from "../Core/VerticalExaggeration.js";
27
+ import VoxelContent from "./VoxelContent.js";
28
+ import VoxelShapeType from "./VoxelShapeType.js";
29
+ import VoxelTraversal from "./VoxelTraversal.js";
30
+ import VoxelMetadataOrder from "./VoxelMetadataOrder.js";
31
+
32
+ /**
33
+ * A primitive that renders voxel data from a {@link VoxelProvider}.
34
+ *
35
+ * @alias VoxelPrimitive
36
+ * @constructor
37
+ *
38
+ * @param {object} [options] Object with the following properties:
39
+ * @param {VoxelProvider} [options.provider] The voxel provider that supplies the primitive with tile data.
40
+ * @param {Matrix4} [options.modelMatrix=Matrix4.IDENTITY] The model matrix used to transform the primitive.
41
+ * @param {CustomShader} [options.customShader] The custom shader used to style the primitive.
42
+ * @param {Clock} [options.clock] The clock used to control time dynamic behavior.
43
+ * @param {boolean} [options.calculateStatistics] Generate statistics for performance profile.
44
+ *
45
+ * @see VoxelProvider
46
+ * @see Cesium3DTilesVoxelProvider
47
+ * @see VoxelShapeType
48
+ * @see {@link https://github.com/CesiumGS/cesium/tree/main/Documentation/CustomShaderGuide|Custom Shader Guide}
49
+ *
50
+ * @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
51
+ */
52
+ function VoxelPrimitive(options) {
53
+ options = options ?? Frozen.EMPTY_OBJECT;
54
+
55
+ /**
56
+ * @type {boolean}
57
+ * @private
58
+ */
59
+ this._ready = false;
60
+
61
+ /**
62
+ * @type {VoxelProvider}
63
+ * @private
64
+ */
65
+ this._provider = options.provider ?? VoxelPrimitive.DefaultProvider;
66
+
67
+ /**
68
+ * This member is not created until the provider and shape are ready.
69
+ *
70
+ * @type {VoxelTraversal}
71
+ * @private
72
+ */
73
+ this._traversal = undefined;
74
+
75
+ /**
76
+ * @type {Cesium3DTilesetStatistics}
77
+ * @private
78
+ */
79
+ this._statistics = new Cesium3DTilesetStatistics();
80
+
81
+ /**
82
+ * @type {boolean}
83
+ * @private
84
+ */
85
+ this._calculateStatistics = options.calculateStatistics ?? false;
86
+
87
+ /**
88
+ * This member is not created until the provider is ready.
89
+ *
90
+ * @type {VoxelShape}
91
+ * @private
92
+ */
93
+ this._shape = undefined;
94
+
95
+ /**
96
+ * @type {boolean}
97
+ * @private
98
+ */
99
+ this._shapeVisible = false;
100
+
101
+ /**
102
+ * This member is not created until the provider is ready.
103
+ *
104
+ * @type {Cartesian3}
105
+ * @private
106
+ */
107
+ this._dimensions = new Cartesian3();
108
+
109
+ /**
110
+ * This member is not created until the provider is ready.
111
+ *
112
+ * @type {Cartesian3}
113
+ * @private
114
+ */
115
+ this._inputDimensions = new Cartesian3();
116
+
117
+ /**
118
+ * This member is not created until the provider is ready.
119
+ *
120
+ * @type {Cartesian3}
121
+ * @private
122
+ */
123
+ this._paddingBefore = new Cartesian3();
124
+
125
+ /**
126
+ * This member is not created until the provider is ready.
127
+ *
128
+ * @type {Cartesian3}
129
+ * @private
130
+ */
131
+ this._paddingAfter = new Cartesian3();
132
+
133
+ /**
134
+ * This member is not known until the provider is ready.
135
+ *
136
+ * @type {number}
137
+ * @private
138
+ */
139
+ this._availableLevels = 1;
140
+
141
+ /**
142
+ * This member is not known until the provider is ready.
143
+ *
144
+ * @type {Cartesian3}
145
+ * @private
146
+ */
147
+ this._minBounds = new Cartesian3();
148
+
149
+ /**
150
+ * Used to detect if the shape is dirty.
151
+ * This member is not known until the provider is ready.
152
+ *
153
+ * @type {Cartesian3}
154
+ * @private
155
+ */
156
+ this._minBoundsOld = new Cartesian3();
157
+
158
+ /**
159
+ * This member is not known until the provider is ready.
160
+ *
161
+ * @type {Cartesian3}
162
+ * @private
163
+ */
164
+ this._maxBounds = new Cartesian3();
165
+
166
+ /**
167
+ * Used to detect if the shape is dirty.
168
+ * This member is not known until the provider is ready.
169
+ *
170
+ * @type {Cartesian3}
171
+ * @private
172
+ */
173
+ this._maxBoundsOld = new Cartesian3();
174
+
175
+ /**
176
+ * This member is not known until the provider is ready.
177
+ *
178
+ * @type {Cartesian3}
179
+ * @private
180
+ */
181
+ this._minClippingBounds = new Cartesian3();
182
+
183
+ /**
184
+ * Used to detect if the clipping is dirty.
185
+ * This member is not known until the provider is ready.
186
+ *
187
+ * @type {Cartesian3}
188
+ * @private
189
+ */
190
+ this._minClippingBoundsOld = new Cartesian3();
191
+
192
+ /**
193
+ * This member is not known until the provider is ready.
194
+ *
195
+ * @type {Cartesian3}
196
+ * @private
197
+ */
198
+ this._maxClippingBounds = new Cartesian3();
199
+
200
+ /**
201
+ * Used to detect if the clipping is dirty.
202
+ * This member is not known until the provider is ready.
203
+ *
204
+ * @type {Cartesian3}
205
+ * @private
206
+ */
207
+ this._maxClippingBoundsOld = new Cartesian3();
208
+
209
+ /**
210
+ * Vertical exaggeration applied to the voxel shape
211
+ *
212
+ * @type {number}
213
+ * @private
214
+ */
215
+ this._verticalExaggeration = 1.0;
216
+
217
+ /**
218
+ * The height relative to which the shape is exaggerated.
219
+ *
220
+ * @type {number}
221
+ * @private
222
+ */
223
+ this._verticalExaggerationRelativeHeight = 0.0;
224
+
225
+ /**
226
+ * Clipping planes on the primitive
227
+ *
228
+ * @type {ClippingPlaneCollection}
229
+ * @private
230
+ */
231
+ this._clippingPlanes = undefined;
232
+
233
+ /**
234
+ * Keeps track of when the clipping planes change
235
+ *
236
+ * @type {number}
237
+ * @private
238
+ */
239
+ this._clippingPlanesState = 0;
240
+
241
+ /**
242
+ * Keeps track of when the clipping planes are enabled / disabled
243
+ *
244
+ * @type {boolean}
245
+ * @private
246
+ */
247
+ this._clippingPlanesEnabled = false;
248
+
249
+ /**
250
+ * The primitive's model matrix.
251
+ *
252
+ * @type {Matrix4}
253
+ * @private
254
+ */
255
+ this._modelMatrix = Matrix4.clone(options.modelMatrix ?? Matrix4.IDENTITY);
256
+
257
+ /**
258
+ * Used to detect if the model matrix is dirty.
259
+ *
260
+ * @type {Matrix4}
261
+ * @private
262
+ */
263
+ this._modelMatrixOld = Matrix4.clone(this._modelMatrix);
264
+
265
+ /**
266
+ * @type {CustomShader}
267
+ * @private
268
+ */
269
+ this._customShader =
270
+ options.customShader ?? VoxelPrimitive.DefaultCustomShader;
271
+
272
+ /**
273
+ * @type {Event}
274
+ * @private
275
+ */
276
+ this._customShaderCompilationEvent = new Event();
277
+
278
+ /**
279
+ * @type {boolean}
280
+ * @private
281
+ */
282
+ this._shaderDirty = true;
283
+
284
+ /**
285
+ * @type {DrawCommand}
286
+ * @private
287
+ */
288
+ this._drawCommand = undefined;
289
+
290
+ /**
291
+ * @type {DrawCommand}
292
+ * @private
293
+ */
294
+ this._drawCommandPick = undefined;
295
+
296
+ /**
297
+ * @type {object}
298
+ * @private
299
+ */
300
+ this._pickId = undefined;
301
+
302
+ /**
303
+ * @type {Clock}
304
+ * @private
305
+ */
306
+ this._clock = options.clock;
307
+
308
+ // Transforms and other values that are computed when the shape changes
309
+ /**
310
+ * @type {Matrix4}
311
+ * @private
312
+ */
313
+ this._transformPositionLocalToWorld = new Matrix4();
314
+
315
+ /**
316
+ * @type {Matrix4}
317
+ * @private
318
+ */
319
+ this._transformPositionWorldToLocal = new Matrix4();
320
+
321
+ /**
322
+ * Transforms a plane in Hessian normal form from local space to view space.
323
+ * @type {Matrix4}
324
+ * @private
325
+ */
326
+ this._transformPlaneLocalToView = new Matrix4();
327
+
328
+ /**
329
+ * @type {Matrix3}
330
+ * @private
331
+ */
332
+ this._transformDirectionWorldToLocal = new Matrix3();
333
+
334
+ // Rendering
335
+ /**
336
+ * @type {boolean}
337
+ * @private
338
+ */
339
+ this._nearestSampling = false;
340
+
341
+ /**
342
+ * @type {number}
343
+ * @private
344
+ */
345
+ this._levelBlendFactor = 0.0;
346
+
347
+ /**
348
+ * @type {number}
349
+ * @private
350
+ */
351
+ this._stepSizeMultiplier = 1.0;
352
+
353
+ /**
354
+ * @type {boolean}
355
+ * @private
356
+ */
357
+ this._depthTest = true;
358
+
359
+ /**
360
+ * @type {boolean}
361
+ * @private
362
+ */
363
+ this._useLogDepth = undefined;
364
+
365
+ /**
366
+ * @type {number}
367
+ * @private
368
+ */
369
+ this._screenSpaceError = 4.0; // in pixels
370
+
371
+ // Debug / statistics
372
+ /**
373
+ * @type {PolylineCollection}
374
+ * @private
375
+ */
376
+ this._debugPolylines = new PolylineCollection();
377
+
378
+ /**
379
+ * @type {boolean}
380
+ * @private
381
+ */
382
+ this._debugDraw = false;
383
+
384
+ /**
385
+ * @type {boolean}
386
+ * @private
387
+ */
388
+ this._disableRender = false;
389
+
390
+ /**
391
+ * @type {boolean}
392
+ * @private
393
+ */
394
+ this._disableUpdate = false;
395
+
396
+ /**
397
+ * @type {Object<string, any>}
398
+ * @private
399
+ */
400
+ this._uniforms = {
401
+ octreeInternalNodeTexture: undefined,
402
+ octreeInternalNodeTilesPerRow: 0,
403
+ octreeInternalNodeTexelSizeUv: new Cartesian2(),
404
+ octreeLeafNodeTexture: undefined,
405
+ octreeLeafNodeTilesPerRow: 0,
406
+ octreeLeafNodeTexelSizeUv: new Cartesian2(),
407
+ megatextureTextures: [],
408
+ megatextureTileCounts: new Cartesian3(),
409
+ dimensions: new Cartesian3(),
410
+ inputDimensions: new Cartesian3(),
411
+ paddingBefore: new Cartesian3(),
412
+ paddingAfter: new Cartesian3(),
413
+ transformPositionViewToLocal: new Matrix4(),
414
+ transformDirectionViewToLocal: new Matrix3(),
415
+ cameraPositionLocal: new Cartesian3(),
416
+ cameraDirectionLocal: new Cartesian3(),
417
+ cameraTileCoordinates: new Cartesian4(),
418
+ cameraTileUv: new Cartesian3(),
419
+ ndcSpaceAxisAlignedBoundingBox: new Cartesian4(),
420
+ clippingPlanesTexture: undefined,
421
+ clippingPlanesMatrix: new Matrix4(),
422
+ renderBoundPlanesTexture: undefined,
423
+ stepSize: 0,
424
+ pickColor: new Color(),
425
+ };
426
+
427
+ /**
428
+ * Shape specific shader defines from the previous shape update. Used to detect if the shader needs to be rebuilt.
429
+ * @type {Object<string, any>}
430
+ * @private
431
+ */
432
+ this._shapeDefinesOld = {};
433
+
434
+ /**
435
+ * Map uniform names to functions that return the uniform values.
436
+ * @type {Object<string, function():any>}
437
+ * @private
438
+ */
439
+ this._uniformMap = {};
440
+
441
+ const uniforms = this._uniforms;
442
+ const uniformMap = this._uniformMap;
443
+ for (const key in uniforms) {
444
+ if (uniforms.hasOwnProperty(key)) {
445
+ const name = `u_${key}`;
446
+ uniformMap[name] = function () {
447
+ return uniforms[key];
448
+ };
449
+ }
450
+ }
451
+
452
+ /**
453
+ * The event fired to indicate that a tile's content was loaded.
454
+ * <p>
455
+ * This event is fired during the tileset traversal while the frame is being rendered
456
+ * so that updates to the tile take effect in the same frame. Do not create or modify
457
+ * Cesium entities or primitives during the event listener.
458
+ * </p>
459
+ *
460
+ * @type {Event}
461
+ *
462
+ * @example
463
+ * voxelPrimitive.tileLoad.addEventListener(function() {
464
+ * console.log('A tile was loaded.');
465
+ * });
466
+ */
467
+ this.tileLoad = new Event();
468
+
469
+ /**
470
+ * This event fires once for each visible tile in a frame.
471
+ * <p>
472
+ * This event is fired during the traversal while the frame is being rendered.
473
+ *
474
+ * @type {Event}
475
+ *
476
+ * @example
477
+ * voxelPrimitive.tileVisible.addEventListener(function() {
478
+ * console.log('A tile is visible.');
479
+ * });
480
+ *
481
+ */
482
+ this.tileVisible = new Event();
483
+
484
+ /**
485
+ * The event fired to indicate that a tile's content failed to load.
486
+ *
487
+ * @type {Event}
488
+ *
489
+ * @example
490
+ * voxelPrimitive.tileFailed.addEventListener(function() {
491
+ * console.log('An error occurred loading tile.');
492
+ * });
493
+ */
494
+ this.tileFailed = new Event();
495
+
496
+ /**
497
+ * The event fired to indicate that a tile's content was unloaded.
498
+ *
499
+ * @type {Event}
500
+ *
501
+ * @example
502
+ * voxelPrimitive.tileUnload.addEventListener(function() {
503
+ * console.log('A tile was unloaded from the cache.');
504
+ * });
505
+ *
506
+ */
507
+ this.tileUnload = new Event();
508
+
509
+ /**
510
+ * The event fired to indicate progress of loading new tiles. This event is fired when a new tile
511
+ * is requested, when a requested tile is finished downloading, and when a downloaded tile has been
512
+ * processed and is ready to render.
513
+ * <p>
514
+ * The number of pending tile requests, <code>numberOfPendingRequests</code>, and number of tiles
515
+ * processing, <code>numberOfTilesProcessing</code> are passed to the event listener.
516
+ * </p>
517
+ * <p>
518
+ * This event is fired at the end of the frame after the scene is rendered.
519
+ * </p>
520
+ *
521
+ * @type {Event}
522
+ *
523
+ * @example
524
+ * voxelPrimitive.loadProgress.addEventListener(function(numberOfPendingRequests, numberOfTilesProcessing) {
525
+ * if ((numberOfPendingRequests === 0) && (numberOfTilesProcessing === 0)) {
526
+ * console.log('Finished loading');
527
+ * return;
528
+ * }
529
+ *
530
+ * console.log(`Loading: requests: ${numberOfPendingRequests}, processing: ${numberOfTilesProcessing}`);
531
+ * });
532
+ */
533
+ this.loadProgress = new Event();
534
+
535
+ /**
536
+ * The event fired to indicate that all tiles that meet the screen space error this frame are loaded. The voxel
537
+ * primitive is completely loaded for this view.
538
+ * <p>
539
+ * This event is fired at the end of the frame after the scene is rendered.
540
+ * </p>
541
+ *
542
+ * @type {Event}
543
+ *
544
+ * @example
545
+ * voxelPrimitive.allTilesLoaded.addEventListener(function() {
546
+ * console.log('All tiles are loaded');
547
+ * });
548
+ */
549
+ this.allTilesLoaded = new Event();
550
+
551
+ /**
552
+ * The event fired to indicate that all tiles that meet the screen space error this frame are loaded. This event
553
+ * is fired once when all tiles in the initial view are loaded.
554
+ * <p>
555
+ * This event is fired at the end of the frame after the scene is rendered.
556
+ * </p>
557
+ *
558
+ * @type {Event}
559
+ *
560
+ * @example
561
+ * voxelPrimitive.initialTilesLoaded.addEventListener(function() {
562
+ * console.log('Initial tiles are loaded');
563
+ * });
564
+ *
565
+ * @see Cesium3DTileset#allTilesLoaded
566
+ */
567
+ this.initialTilesLoaded = new Event();
568
+
569
+ // If the provider fails to initialize the primitive will fail too.
570
+ const provider = this._provider;
571
+ initialize(this, provider);
572
+ }
573
+
574
+ function initialize(primitive, provider) {
575
+ // Set the bounds
576
+ const {
577
+ shape: shapeType,
578
+ minBounds = VoxelShapeType.getMinBounds(shapeType),
579
+ maxBounds = VoxelShapeType.getMaxBounds(shapeType),
580
+ } = provider;
581
+
582
+ primitive.minBounds = minBounds;
583
+ primitive.maxBounds = maxBounds;
584
+ primitive.minClippingBounds = minBounds.clone();
585
+ primitive.maxClippingBounds = maxBounds.clone();
586
+
587
+ checkTransformAndBounds(primitive);
588
+
589
+ // Create the shape object, and update it so it is valid for VoxelTraversal
590
+ const ShapeConstructor = VoxelShapeType.getShapeConstructor(shapeType);
591
+ primitive._shape = new ShapeConstructor();
592
+ primitive._shapeVisible = updateShapeAndTransforms(primitive);
593
+ }
594
+
595
+ Object.defineProperties(VoxelPrimitive.prototype, {
596
+ /**
597
+ * Gets a value indicating whether or not the primitive is ready for use.
598
+ *
599
+ * @memberof VoxelPrimitive.prototype
600
+ * @type {boolean}
601
+ * @readonly
602
+ */
603
+ ready: {
604
+ get: function () {
605
+ return this._ready;
606
+ },
607
+ },
608
+
609
+ /**
610
+ * Gets the {@link VoxelProvider} associated with this primitive.
611
+ *
612
+ * @memberof VoxelPrimitive.prototype
613
+ * @type {VoxelProvider}
614
+ * @readonly
615
+ */
616
+ provider: {
617
+ get: function () {
618
+ return this._provider;
619
+ },
620
+ },
621
+
622
+ /**
623
+ * Gets the bounding sphere.
624
+ *
625
+ * @memberof VoxelPrimitive.prototype
626
+ * @type {BoundingSphere}
627
+ * @readonly
628
+ */
629
+ boundingSphere: {
630
+ get: function () {
631
+ return this._shape.boundingSphere;
632
+ },
633
+ },
634
+
635
+ /**
636
+ * Gets the oriented bounding box.
637
+ *
638
+ * @memberof VoxelPrimitive.prototype
639
+ * @type {OrientedBoundingBox}
640
+ * @readonly
641
+ */
642
+ orientedBoundingBox: {
643
+ get: function () {
644
+ return this._shape.orientedBoundingBox;
645
+ },
646
+ },
647
+
648
+ /**
649
+ * Gets the model matrix.
650
+ *
651
+ * @memberof VoxelPrimitive.prototype
652
+ * @type {Matrix4}
653
+ * @readonly
654
+ */
655
+ modelMatrix: {
656
+ get: function () {
657
+ return this._modelMatrix;
658
+ },
659
+ set: function (modelMatrix) {
660
+ //>>includeStart('debug', pragmas.debug);
661
+ Check.typeOf.object("modelMatrix", modelMatrix);
662
+ //>>includeEnd('debug');
663
+
664
+ this._modelMatrix = Matrix4.clone(modelMatrix, this._modelMatrix);
665
+ },
666
+ },
667
+
668
+ /**
669
+ * Gets the shape type.
670
+ *
671
+ * @memberof VoxelPrimitive.prototype
672
+ * @type {VoxelShapeType}
673
+ * @readonly
674
+ */
675
+ shape: {
676
+ get: function () {
677
+ return this._provider.shape;
678
+ },
679
+ },
680
+
681
+ /**
682
+ * Gets the dimensions of each voxel tile, in z-up orientation.
683
+ * Does not include padding.
684
+ *
685
+ * @memberof VoxelPrimitive.prototype
686
+ * @type {Cartesian3}
687
+ * @readonly
688
+ */
689
+ dimensions: {
690
+ get: function () {
691
+ return this._dimensions;
692
+ },
693
+ },
694
+
695
+ /**
696
+ * Gets the dimensions of one tile of the input voxel data, in the input orientation.
697
+ * Includes padding.
698
+ * @memberof VoxelPrimitive.prototype
699
+ * @type {Cartesian3}
700
+ * @readonly
701
+ */
702
+ inputDimensions: {
703
+ get: function () {
704
+ return this._inputDimensions;
705
+ },
706
+ },
707
+
708
+ /**
709
+ * Gets the padding before the voxel data.
710
+ *
711
+ * @memberof VoxelPrimitive.prototype
712
+ * @type {Cartesian3}
713
+ * @readonly
714
+ */
715
+ paddingBefore: {
716
+ get: function () {
717
+ return this._paddingBefore;
718
+ },
719
+ },
720
+
721
+ /**
722
+ * Gets the padding after the voxel data.
723
+ *
724
+ * @memberof VoxelPrimitive.prototype
725
+ * @type {Cartesian3}
726
+ * @readonly
727
+ */
728
+ paddingAfter: {
729
+ get: function () {
730
+ return this._paddingAfter;
731
+ },
732
+ },
733
+
734
+ /**
735
+ * Gets the minimum value per channel of the voxel data.
736
+ *
737
+ * @memberof VoxelPrimitive.prototype
738
+ * @type {number[][]}
739
+ * @readonly
740
+ */
741
+ minimumValues: {
742
+ get: function () {
743
+ return this._provider.minimumValues;
744
+ },
745
+ },
746
+
747
+ /**
748
+ * Gets the maximum value per channel of the voxel data.
749
+ *
750
+ * @memberof VoxelPrimitive.prototype
751
+ * @type {number[][]}
752
+ * @readonly
753
+ */
754
+ maximumValues: {
755
+ get: function () {
756
+ return this._provider.maximumValues;
757
+ },
758
+ },
759
+
760
+ /**
761
+ * Gets or sets whether or not this primitive should be displayed.
762
+ *
763
+ * @memberof VoxelPrimitive.prototype
764
+ * @type {boolean}
765
+ */
766
+ show: {
767
+ get: function () {
768
+ return !this._disableRender;
769
+ },
770
+ set: function (show) {
771
+ //>>includeStart('debug', pragmas.debug);
772
+ Check.typeOf.bool("show", show);
773
+ //>>includeEnd('debug');
774
+
775
+ this._disableRender = !show;
776
+ },
777
+ },
778
+
779
+ /**
780
+ * Gets or sets whether or not the primitive should update when the view changes.
781
+ *
782
+ * @memberof VoxelPrimitive.prototype
783
+ * @type {boolean}
784
+ */
785
+ disableUpdate: {
786
+ get: function () {
787
+ return this._disableUpdate;
788
+ },
789
+ set: function (disableUpdate) {
790
+ //>>includeStart('debug', pragmas.debug);
791
+ Check.typeOf.bool("disableUpdate", disableUpdate);
792
+ //>>includeEnd('debug');
793
+
794
+ this._disableUpdate = disableUpdate;
795
+ },
796
+ },
797
+
798
+ /**
799
+ * Gets or sets whether or not to render debug visualizations.
800
+ *
801
+ * @memberof VoxelPrimitive.prototype
802
+ * @type {boolean}
803
+ */
804
+ debugDraw: {
805
+ get: function () {
806
+ return this._debugDraw;
807
+ },
808
+ set: function (debugDraw) {
809
+ //>>includeStart('debug', pragmas.debug);
810
+ Check.typeOf.bool("debugDraw", debugDraw);
811
+ //>>includeEnd('debug');
812
+
813
+ this._debugDraw = debugDraw;
814
+ },
815
+ },
816
+
817
+ /**
818
+ * Gets or sets whether or not to test against depth when rendering.
819
+ *
820
+ * @memberof VoxelPrimitive.prototype
821
+ * @type {boolean}
822
+ */
823
+ depthTest: {
824
+ get: function () {
825
+ return this._depthTest;
826
+ },
827
+ set: function (depthTest) {
828
+ //>>includeStart('debug', pragmas.debug);
829
+ Check.typeOf.bool("depthTest", depthTest);
830
+ //>>includeEnd('debug');
831
+
832
+ if (this._depthTest !== depthTest) {
833
+ this._depthTest = depthTest;
834
+ this._shaderDirty = true;
835
+ }
836
+ },
837
+ },
838
+
839
+ /**
840
+ * Gets or sets the nearest sampling.
841
+ *
842
+ * @memberof VoxelPrimitive.prototype
843
+ * @type {boolean}
844
+ */
845
+ nearestSampling: {
846
+ get: function () {
847
+ return this._nearestSampling;
848
+ },
849
+ set: function (nearestSampling) {
850
+ //>>includeStart('debug', pragmas.debug);
851
+ Check.typeOf.bool("nearestSampling", nearestSampling);
852
+ //>>includeEnd('debug');
853
+
854
+ this._nearestSampling = nearestSampling;
855
+ },
856
+ },
857
+
858
+ /**
859
+ * Controls how quickly to blend between different levels of the tree.
860
+ * 0.0 means an instantaneous pop.
861
+ * 1.0 means a full linear blend.
862
+ *
863
+ * @memberof VoxelPrimitive.prototype
864
+ * @type {number}
865
+ * @private
866
+ */
867
+ levelBlendFactor: {
868
+ get: function () {
869
+ return this._levelBlendFactor;
870
+ },
871
+ set: function (levelBlendFactor) {
872
+ //>>includeStart('debug', pragmas.debug);
873
+ Check.typeOf.number("levelBlendFactor", levelBlendFactor);
874
+ //>>includeEnd('debug');
875
+
876
+ this._levelBlendFactor = CesiumMath.clamp(levelBlendFactor, 0.0, 1.0);
877
+ },
878
+ },
879
+
880
+ /**
881
+ * Gets or sets the screen space error in pixels. If the screen space size
882
+ * of a voxel is greater than the screen space error, the tile is subdivided.
883
+ * Lower screen space error corresponds with higher detail rendering, but could
884
+ * result in worse performance and higher memory consumption.
885
+ *
886
+ * @memberof VoxelPrimitive.prototype
887
+ * @type {number}
888
+ */
889
+ screenSpaceError: {
890
+ get: function () {
891
+ return this._screenSpaceError;
892
+ },
893
+ set: function (screenSpaceError) {
894
+ //>>includeStart('debug', pragmas.debug);
895
+ Check.typeOf.number("screenSpaceError", screenSpaceError);
896
+ //>>includeEnd('debug');
897
+
898
+ this._screenSpaceError = screenSpaceError;
899
+ },
900
+ },
901
+
902
+ /**
903
+ * Gets or sets the step size multiplier used during raymarching.
904
+ * The lower the value, the higher the rendering quality, but
905
+ * also the worse the performance.
906
+ *
907
+ * @memberof VoxelPrimitive.prototype
908
+ * @type {number}
909
+ */
910
+ stepSize: {
911
+ get: function () {
912
+ return this._stepSizeMultiplier;
913
+ },
914
+ set: function (stepSize) {
915
+ //>>includeStart('debug', pragmas.debug);
916
+ Check.typeOf.number("stepSize", stepSize);
917
+ //>>includeEnd('debug');
918
+
919
+ this._stepSizeMultiplier = stepSize;
920
+ },
921
+ },
922
+
923
+ /**
924
+ * Gets or sets the minimum bounds in the shape's local coordinate system.
925
+ * Voxel data is stretched or squashed to fit the bounds.
926
+ *
927
+ * @memberof VoxelPrimitive.prototype
928
+ * @type {Cartesian3}
929
+ */
930
+ minBounds: {
931
+ get: function () {
932
+ return this._minBounds;
933
+ },
934
+ set: function (minBounds) {
935
+ //>>includeStart('debug', pragmas.debug);
936
+ Check.defined("minBounds", minBounds);
937
+ //>>includeEnd('debug');
938
+
939
+ this._minBounds = Cartesian3.clone(minBounds, this._minBounds);
940
+ },
941
+ },
942
+
943
+ /**
944
+ * Gets or sets the maximum bounds in the shape's local coordinate system.
945
+ * Voxel data is stretched or squashed to fit the bounds.
946
+ *
947
+ * @memberof VoxelPrimitive.prototype
948
+ * @type {Cartesian3}
949
+ */
950
+ maxBounds: {
951
+ get: function () {
952
+ return this._maxBounds;
953
+ },
954
+ set: function (maxBounds) {
955
+ //>>includeStart('debug', pragmas.debug);
956
+ Check.defined("maxBounds", maxBounds);
957
+ //>>includeEnd('debug');
958
+
959
+ this._maxBounds = Cartesian3.clone(maxBounds, this._maxBounds);
960
+ },
961
+ },
962
+
963
+ /**
964
+ * Gets or sets the minimum clipping location in the shape's local coordinate system.
965
+ * Any voxel content outside the range is clipped.
966
+ *
967
+ * @memberof VoxelPrimitive.prototype
968
+ * @type {Cartesian3}
969
+ */
970
+ minClippingBounds: {
971
+ get: function () {
972
+ return this._minClippingBounds;
973
+ },
974
+ set: function (minClippingBounds) {
975
+ //>>includeStart('debug', pragmas.debug);
976
+ Check.defined("minClippingBounds", minClippingBounds);
977
+ //>>includeEnd('debug');
978
+
979
+ this._minClippingBounds = Cartesian3.clone(
980
+ minClippingBounds,
981
+ this._minClippingBounds,
982
+ );
983
+ },
984
+ },
985
+
986
+ /**
987
+ * Gets or sets the maximum clipping location in the shape's local coordinate system.
988
+ * Any voxel content outside the range is clipped.
989
+ *
990
+ * @memberof VoxelPrimitive.prototype
991
+ * @type {Cartesian3}
992
+ */
993
+ maxClippingBounds: {
994
+ get: function () {
995
+ return this._maxClippingBounds;
996
+ },
997
+ set: function (maxClippingBounds) {
998
+ //>>includeStart('debug', pragmas.debug);
999
+ Check.defined("maxClippingBounds", maxClippingBounds);
1000
+ //>>includeEnd('debug');
1001
+
1002
+ this._maxClippingBounds = Cartesian3.clone(
1003
+ maxClippingBounds,
1004
+ this._maxClippingBounds,
1005
+ );
1006
+ },
1007
+ },
1008
+
1009
+ /**
1010
+ * The {@link ClippingPlaneCollection} used to selectively disable rendering the primitive.
1011
+ *
1012
+ * @memberof VoxelPrimitive.prototype
1013
+ * @type {ClippingPlaneCollection}
1014
+ */
1015
+ clippingPlanes: {
1016
+ get: function () {
1017
+ return this._clippingPlanes;
1018
+ },
1019
+ set: function (clippingPlanes) {
1020
+ // Don't need to check if undefined, it's handled in the setOwner function
1021
+ ClippingPlaneCollection.setOwner(clippingPlanes, this, "_clippingPlanes");
1022
+ },
1023
+ },
1024
+
1025
+ /**
1026
+ * Gets or sets the custom shader. If undefined, {@link VoxelPrimitive.DefaultCustomShader} is set.
1027
+ *
1028
+ * @memberof VoxelPrimitive.prototype
1029
+ * @type {CustomShader}
1030
+ * @see {@link https://github.com/CesiumGS/cesium/tree/main/Documentation/CustomShaderGuide|Custom Shader Guide}
1031
+ */
1032
+ customShader: {
1033
+ get: function () {
1034
+ return this._customShader;
1035
+ },
1036
+ set: function (customShader) {
1037
+ if (this._customShader !== customShader) {
1038
+ // Delete old custom shader entries from the uniform map
1039
+ const uniformMap = this._uniformMap;
1040
+ const oldCustomShader = this._customShader;
1041
+ const oldCustomShaderUniformMap = oldCustomShader.uniformMap;
1042
+ for (const uniformName in oldCustomShaderUniformMap) {
1043
+ if (oldCustomShaderUniformMap.hasOwnProperty(uniformName)) {
1044
+ // If the custom shader was set but the voxel shader was never
1045
+ // built, the custom shader uniforms wouldn't have been added to
1046
+ // the uniform map. But it doesn't matter because the delete
1047
+ // operator ignores if the key doesn't exist.
1048
+ delete uniformMap[uniformName];
1049
+ }
1050
+ }
1051
+
1052
+ if (!defined(customShader)) {
1053
+ this._customShader = VoxelPrimitive.DefaultCustomShader;
1054
+ } else {
1055
+ this._customShader = customShader;
1056
+ }
1057
+ this._shaderDirty = true;
1058
+ }
1059
+ },
1060
+ },
1061
+
1062
+ /**
1063
+ * Gets an event that is raised whenever a custom shader is compiled.
1064
+ *
1065
+ * @memberof VoxelPrimitive.prototype
1066
+ * @type {Event}
1067
+ * @readonly
1068
+ */
1069
+ customShaderCompilationEvent: {
1070
+ get: function () {
1071
+ return this._customShaderCompilationEvent;
1072
+ },
1073
+ },
1074
+
1075
+ /**
1076
+ * Loading and rendering information for requested content
1077
+ * To use `visited` and `numberOfTilesWithContentReady` statistics, set options._calculateStatistics` to `true` in the constructor.
1078
+ * @type {Cesium3DTilesetStatistics}
1079
+ * @readonly
1080
+ * @private
1081
+ */
1082
+ statistics: {
1083
+ get: function () {
1084
+ return this._statistics;
1085
+ },
1086
+ },
1087
+ });
1088
+
1089
+ const scratchIntersect = new Cartesian4();
1090
+ const scratchNdcAabb = new Cartesian4();
1091
+ const scratchTransformPositionLocalToWorld = new Matrix4();
1092
+ const scratchTransformPositionLocalToProjection = new Matrix4();
1093
+ const scratchCameraPositionShapeUv = new Cartesian3();
1094
+ const scratchCameraTileCoordinates = new Cartesian4();
1095
+
1096
+ /**
1097
+ * Updates the voxel primitive.
1098
+ *
1099
+ * @param {FrameState} frameState
1100
+ * @private
1101
+ */
1102
+ VoxelPrimitive.prototype.update = function (frameState) {
1103
+ const provider = this._provider;
1104
+ const uniforms = this._uniforms;
1105
+
1106
+ // Update the custom shader in case it has texture uniforms.
1107
+ this._customShader.update(frameState);
1108
+
1109
+ // Initialize from the ready provider. This only happens once.
1110
+ const context = frameState.context;
1111
+ if (!this._ready) {
1112
+ initFromProvider(this, provider, context);
1113
+ // Set the primitive as ready after the first frame render since the user might set up events subscribed to
1114
+ // the post render event, and the primitive may not be ready for those past the first frame.
1115
+ frameState.afterRender.push(() => {
1116
+ this._ready = true;
1117
+ return true;
1118
+ });
1119
+
1120
+ // Don't render until the next frame after ready is set to true
1121
+ return;
1122
+ }
1123
+
1124
+ // Check if the shape is dirty before updating it. This needs to happen every
1125
+ // frame because the member variables can be modified externally via the
1126
+ // getters.
1127
+ const shapeDirty = checkTransformAndBounds(this);
1128
+ const exaggerationChanged = updateVerticalExaggeration(this, frameState);
1129
+ if (shapeDirty || exaggerationChanged) {
1130
+ this._shapeVisible = updateShapeAndTransforms(this);
1131
+ if (checkShapeDefines(this)) {
1132
+ this._shaderDirty = true;
1133
+ }
1134
+ }
1135
+ if (!this._shapeVisible) {
1136
+ return;
1137
+ }
1138
+
1139
+ this._shape.updateViewTransforms(frameState);
1140
+
1141
+ // Update the traversal and prepare for rendering.
1142
+ const keyframeLocation = getKeyframeLocation(
1143
+ provider.timeIntervalCollection,
1144
+ this._clock,
1145
+ );
1146
+
1147
+ const traversal = this._traversal;
1148
+ const sampleCountOld = traversal._sampleCount;
1149
+
1150
+ traversal.update(
1151
+ frameState,
1152
+ keyframeLocation,
1153
+ shapeDirty, // recomputeBoundingVolumes
1154
+ this._disableUpdate, // pauseUpdate
1155
+ );
1156
+
1157
+ if (sampleCountOld !== traversal._sampleCount) {
1158
+ this._shaderDirty = true;
1159
+ }
1160
+
1161
+ if (!traversal.isRenderable(traversal.rootNode)) {
1162
+ return;
1163
+ }
1164
+
1165
+ if (this._debugDraw) {
1166
+ // Debug draw bounding boxes and other things. Must go after traversal update
1167
+ // because that's what updates the tile bounding boxes.
1168
+ debugDraw(this, frameState);
1169
+ }
1170
+
1171
+ if (this._disableRender) {
1172
+ return;
1173
+ }
1174
+
1175
+ // Check if log depth changed
1176
+ if (this._useLogDepth !== frameState.useLogDepth) {
1177
+ this._useLogDepth = frameState.useLogDepth;
1178
+ this._shaderDirty = true;
1179
+ }
1180
+
1181
+ // Check if clipping planes changed
1182
+ const clippingPlanesChanged = updateClippingPlanes(this, frameState);
1183
+ if (clippingPlanesChanged) {
1184
+ this._shaderDirty = true;
1185
+ }
1186
+
1187
+ const leafNodeTexture = traversal.leafNodeTexture;
1188
+ if (defined(leafNodeTexture)) {
1189
+ uniforms.octreeLeafNodeTexture = traversal.leafNodeTexture;
1190
+ uniforms.octreeLeafNodeTexelSizeUv = Cartesian2.clone(
1191
+ traversal.leafNodeTexelSizeUv,
1192
+ uniforms.octreeLeafNodeTexelSizeUv,
1193
+ );
1194
+ uniforms.octreeLeafNodeTilesPerRow = traversal.leafNodeTilesPerRow;
1195
+ }
1196
+
1197
+ // Rebuild shaders
1198
+ if (this._shaderDirty) {
1199
+ buildVoxelDrawCommands(this, context);
1200
+ this._shaderDirty = false;
1201
+ }
1202
+
1203
+ // Calculate the NDC-space AABB to "scissor" the fullscreen quad
1204
+ const transformPositionWorldToProjection =
1205
+ context.uniformState.viewProjection;
1206
+ const { orientedBoundingBox } = this._shape;
1207
+ const ndcAabb = orientedBoundingBoxToNdcAabb(
1208
+ orientedBoundingBox,
1209
+ transformPositionWorldToProjection,
1210
+ scratchNdcAabb,
1211
+ );
1212
+
1213
+ // If the object is offscreen, don't render it.
1214
+ const offscreen =
1215
+ ndcAabb.x === +1.0 ||
1216
+ ndcAabb.y === +1.0 ||
1217
+ ndcAabb.z === -1.0 ||
1218
+ ndcAabb.w === -1.0;
1219
+ if (offscreen) {
1220
+ return;
1221
+ }
1222
+
1223
+ // Prepare to render: update uniforms that can change every frame
1224
+ // Using a uniform instead of going through RenderState's scissor because the viewport is not accessible here, and the scissor command needs pixel coordinates.
1225
+ uniforms.ndcSpaceAxisAlignedBoundingBox = Cartesian4.clone(
1226
+ ndcAabb,
1227
+ uniforms.ndcSpaceAxisAlignedBoundingBox,
1228
+ );
1229
+ const transformPositionViewToWorld = context.uniformState.inverseView;
1230
+ const transformPositionViewToLocal = Matrix4.multiplyTransformation(
1231
+ this._transformPositionWorldToLocal,
1232
+ transformPositionViewToWorld,
1233
+ uniforms.transformPositionViewToLocal,
1234
+ );
1235
+
1236
+ this._transformPlaneLocalToView = Matrix4.transpose(
1237
+ transformPositionViewToLocal,
1238
+ this._transformPlaneLocalToView,
1239
+ );
1240
+
1241
+ const transformDirectionViewToWorld =
1242
+ context.uniformState.inverseViewRotation;
1243
+ uniforms.transformDirectionViewToLocal = Matrix3.multiply(
1244
+ this._transformDirectionWorldToLocal,
1245
+ transformDirectionViewToWorld,
1246
+ uniforms.transformDirectionViewToLocal,
1247
+ );
1248
+ uniforms.cameraPositionLocal = Matrix4.multiplyByPoint(
1249
+ this._transformPositionWorldToLocal,
1250
+ frameState.camera.positionWC,
1251
+ uniforms.cameraPositionLocal,
1252
+ );
1253
+ uniforms.cameraDirectionLocal = Matrix3.multiplyByVector(
1254
+ this._transformDirectionWorldToLocal,
1255
+ frameState.camera.directionWC,
1256
+ uniforms.cameraDirectionLocal,
1257
+ );
1258
+ const cameraTileCoordinates = getTileCoordinates(
1259
+ this,
1260
+ uniforms.cameraPositionLocal,
1261
+ scratchCameraTileCoordinates,
1262
+ );
1263
+ uniforms.cameraTileCoordinates = Cartesian4.fromElements(
1264
+ Math.floor(cameraTileCoordinates.x),
1265
+ Math.floor(cameraTileCoordinates.y),
1266
+ Math.floor(cameraTileCoordinates.z),
1267
+ cameraTileCoordinates.w,
1268
+ uniforms.cameraTileCoordinates,
1269
+ );
1270
+ uniforms.cameraTileUv = Cartesian3.fromElements(
1271
+ cameraTileCoordinates.x - Math.floor(cameraTileCoordinates.x),
1272
+ cameraTileCoordinates.y - Math.floor(cameraTileCoordinates.y),
1273
+ cameraTileCoordinates.z - Math.floor(cameraTileCoordinates.z),
1274
+ uniforms.cameraTileUv,
1275
+ );
1276
+ uniforms.stepSize = this._stepSizeMultiplier;
1277
+
1278
+ updateNearestSampling(this);
1279
+ updateRenderBoundPlanes(this, frameState);
1280
+
1281
+ // Render the primitive
1282
+ const command = frameState.passes.pick
1283
+ ? this._drawCommandPick
1284
+ : frameState.passes.pickVoxel
1285
+ ? this._drawCommandPickVoxel
1286
+ : this._drawCommand;
1287
+ command.boundingVolume = this._shape.boundingSphere;
1288
+ frameState.commandList.push(command);
1289
+ };
1290
+
1291
+ function updateNearestSampling(primitive) {
1292
+ const { megatextures } = primitive._traversal;
1293
+ for (let i = 0; i < megatextures.length; ++i) {
1294
+ megatextures[i].nearestSampling = primitive._nearestSampling;
1295
+ }
1296
+ }
1297
+
1298
+ function updateRenderBoundPlanes(primitive, frameState) {
1299
+ const uniforms = primitive._uniforms;
1300
+ const { renderBoundPlanes } = primitive._shape;
1301
+ if (!defined(renderBoundPlanes)) {
1302
+ return;
1303
+ }
1304
+ renderBoundPlanes.update(frameState, primitive._transformPlaneLocalToView);
1305
+ uniforms.renderBoundPlanesTexture = renderBoundPlanes.texture;
1306
+ }
1307
+
1308
+ /**
1309
+ * Converts a position in local space to tile coordinates.
1310
+ *
1311
+ * @param {VoxelPrimitive} primitive The primitive to get the tile coordinates for.
1312
+ * @param {Cartesian3} positionLocal The position in local space to convert to tile coordinates.
1313
+ * @param {Cartesian4} result The result object to store the tile coordinates.
1314
+ * @returns {Cartesian4} The tile coordinates of the supplied position.
1315
+ * @private
1316
+ */
1317
+ function getTileCoordinates(primitive, positionLocal, result) {
1318
+ const shapeUv = primitive._shape.convertLocalToShapeUvSpace(
1319
+ positionLocal,
1320
+ scratchCameraPositionShapeUv,
1321
+ );
1322
+
1323
+ const availableLevels = primitive._availableLevels;
1324
+ const numTiles = 2 ** (availableLevels - 1);
1325
+
1326
+ return Cartesian4.fromElements(
1327
+ shapeUv.x * numTiles,
1328
+ shapeUv.y * numTiles,
1329
+ shapeUv.z * numTiles,
1330
+ availableLevels - 1,
1331
+ result,
1332
+ );
1333
+ }
1334
+
1335
+ const scratchExaggerationScale = new Cartesian3();
1336
+ const scratchExaggerationCenter = new Cartesian3();
1337
+ const scratchCartographicCenter = new Cartographic();
1338
+
1339
+ /**
1340
+ * Check for changes in the vertical exaggeration of the primitive
1341
+ * @param {VoxelPrimitive} primitive The primitive to update
1342
+ * @param {FrameState} frameState The current frame state
1343
+ * @returns {boolean} <code>true</code> if the exaggeration was changed
1344
+ * @private
1345
+ */
1346
+ function updateVerticalExaggeration(primitive, frameState) {
1347
+ const { verticalExaggeration, verticalExaggerationRelativeHeight } =
1348
+ frameState;
1349
+
1350
+ if (
1351
+ primitive._verticalExaggeration === verticalExaggeration &&
1352
+ primitive._verticalExaggerationRelativeHeight ===
1353
+ verticalExaggerationRelativeHeight
1354
+ ) {
1355
+ return false;
1356
+ }
1357
+
1358
+ primitive._verticalExaggeration = verticalExaggeration;
1359
+ primitive._verticalExaggerationRelativeHeight =
1360
+ verticalExaggerationRelativeHeight;
1361
+ return true;
1362
+ }
1363
+
1364
+ /**
1365
+ * Initialize primitive properties that are derived from the voxel provider
1366
+ * @param {VoxelPrimitive} primitive
1367
+ * @param {VoxelProvider} provider
1368
+ * @param {Context} context
1369
+ * @private
1370
+ */
1371
+ function initFromProvider(primitive, provider, context) {
1372
+ const uniforms = primitive._uniforms;
1373
+
1374
+ primitive._pickId = context.createPickId({ primitive });
1375
+ uniforms.pickColor = Color.clone(primitive._pickId.color, uniforms.pickColor);
1376
+
1377
+ const { shaderDefines, shaderUniforms: shapeUniforms } = primitive._shape;
1378
+ primitive._shapeDefinesOld = clone(shaderDefines, true);
1379
+
1380
+ // Add shape uniforms to the uniform map
1381
+ const uniformMap = primitive._uniformMap;
1382
+ for (const key in shapeUniforms) {
1383
+ if (shapeUniforms.hasOwnProperty(key)) {
1384
+ const name = `u_${key}`;
1385
+
1386
+ //>>includeStart('debug', pragmas.debug);
1387
+ if (defined(uniformMap[name])) {
1388
+ oneTimeWarning(
1389
+ `VoxelPrimitive: Uniform name "${name}" is already defined`,
1390
+ );
1391
+ }
1392
+ //>>includeEnd('debug');
1393
+
1394
+ uniformMap[name] = function () {
1395
+ return shapeUniforms[key];
1396
+ };
1397
+ }
1398
+ }
1399
+
1400
+ // Set uniforms that come from the provider.
1401
+ // Note that minBounds and maxBounds can be set dynamically, so their uniforms aren't set here.
1402
+ primitive._dimensions = Cartesian3.clone(
1403
+ provider.dimensions,
1404
+ primitive._dimensions,
1405
+ );
1406
+ uniforms.dimensions = Cartesian3.clone(
1407
+ primitive._dimensions,
1408
+ uniforms.dimensions,
1409
+ );
1410
+ primitive._paddingBefore = Cartesian3.clone(
1411
+ provider.paddingBefore ?? Cartesian3.ZERO,
1412
+ primitive._paddingBefore,
1413
+ );
1414
+ uniforms.paddingBefore = Cartesian3.clone(
1415
+ primitive._paddingBefore,
1416
+ uniforms.paddingBefore,
1417
+ );
1418
+ primitive._paddingAfter = Cartesian3.clone(
1419
+ provider.paddingAfter ?? Cartesian3.ZERO,
1420
+ primitive._paddingAfter,
1421
+ );
1422
+ uniforms.paddingAfter = Cartesian3.clone(
1423
+ primitive._paddingAfter,
1424
+ uniforms.paddingAfter,
1425
+ );
1426
+ primitive._inputDimensions = Cartesian3.add(
1427
+ primitive._dimensions,
1428
+ primitive._paddingBefore,
1429
+ primitive._inputDimensions,
1430
+ );
1431
+ primitive._inputDimensions = Cartesian3.add(
1432
+ primitive._inputDimensions,
1433
+ primitive._paddingAfter,
1434
+ primitive._inputDimensions,
1435
+ );
1436
+ if (provider.metadataOrder === VoxelMetadataOrder.Y_UP) {
1437
+ const inputDimensionsY = primitive._inputDimensions.y;
1438
+ primitive._inputDimensions.y = primitive._inputDimensions.z;
1439
+ primitive._inputDimensions.z = inputDimensionsY;
1440
+ }
1441
+ uniforms.inputDimensions = Cartesian3.clone(
1442
+ primitive._inputDimensions,
1443
+ uniforms.inputDimensions,
1444
+ );
1445
+ primitive._availableLevels = provider.availableLevels ?? 1;
1446
+
1447
+ // Create the VoxelTraversal, and set related uniforms
1448
+ const keyframeCount = provider.keyframeCount ?? 1;
1449
+ primitive._traversal = new VoxelTraversal(primitive, context, keyframeCount);
1450
+ primitive.statistics.texturesByteLength =
1451
+ primitive._traversal.textureMemoryByteLength;
1452
+ setTraversalUniforms(primitive._traversal, uniforms);
1453
+ }
1454
+
1455
+ /**
1456
+ * Track changes in provider transform and primitive bounds
1457
+ * @param {VoxelPrimitive} primitive
1458
+ * @returns {boolean} Whether any of the transform or bounds changed
1459
+ * @private
1460
+ */
1461
+ function checkTransformAndBounds(primitive) {
1462
+ const numChanges =
1463
+ updateBound(primitive, "_modelMatrix", "_modelMatrixOld") +
1464
+ updateBound(primitive, "_minBounds", "_minBoundsOld") +
1465
+ updateBound(primitive, "_maxBounds", "_maxBoundsOld") +
1466
+ updateBound(primitive, "_minClippingBounds", "_minClippingBoundsOld") +
1467
+ updateBound(primitive, "_maxClippingBounds", "_maxClippingBoundsOld");
1468
+ return numChanges > 0;
1469
+ }
1470
+
1471
+ /**
1472
+ * Compare old and new values of a bound and update the old if it is different.
1473
+ * @param {VoxelPrimitive} primitive The primitive with bounds properties
1474
+ * @param {string} newBoundKey A key pointing to a bounds property of type Cartesian3 or Matrix4
1475
+ * @param {string} oldBoundKey A key pointing to a bounds property of the same type as the property at newBoundKey
1476
+ * @returns {number} 1 if the bound value changed, 0 otherwise
1477
+ *
1478
+ * @private
1479
+ */
1480
+ function updateBound(primitive, newBoundKey, oldBoundKey) {
1481
+ const newBound = primitive[newBoundKey];
1482
+ const oldBound = primitive[oldBoundKey];
1483
+
1484
+ const changed = !newBound.equals(oldBound);
1485
+ if (changed) {
1486
+ newBound.clone(oldBound);
1487
+ }
1488
+ return changed ? 1 : 0;
1489
+ }
1490
+
1491
+ const scratchExaggeratedMinBounds = new Cartesian3();
1492
+ const scratchExaggeratedMaxBounds = new Cartesian3();
1493
+ const scratchExaggeratedMinClippingBounds = new Cartesian3();
1494
+ const scratchExaggeratedMaxClippingBounds = new Cartesian3();
1495
+ const scratchExaggeratedModelMatrix = new Matrix4();
1496
+ const scratchCompoundModelMatrix = new Matrix4();
1497
+
1498
+ /**
1499
+ * Update the shape and related transforms
1500
+ * @param {VoxelPrimitive} primitive
1501
+ * @returns {boolean} True if the shape is visible
1502
+ * @private
1503
+ */
1504
+ function updateShapeAndTransforms(primitive) {
1505
+ const verticalExaggeration = primitive._verticalExaggeration;
1506
+ const verticalExaggerationRelativeHeight =
1507
+ primitive._verticalExaggerationRelativeHeight;
1508
+ const exaggeratedMinBounds = Cartesian3.clone(
1509
+ primitive._minBounds,
1510
+ scratchExaggeratedMinBounds,
1511
+ );
1512
+ const exaggeratedMaxBounds = Cartesian3.clone(
1513
+ primitive._maxBounds,
1514
+ scratchExaggeratedMaxBounds,
1515
+ );
1516
+ const exaggeratedMinClippingBounds = Cartesian3.clone(
1517
+ primitive._minClippingBounds,
1518
+ scratchExaggeratedMinClippingBounds,
1519
+ );
1520
+ const exaggeratedMaxClippingBounds = Cartesian3.clone(
1521
+ primitive._maxClippingBounds,
1522
+ scratchExaggeratedMaxClippingBounds,
1523
+ );
1524
+ const exaggeratedModelMatrix = Matrix4.clone(
1525
+ primitive._modelMatrix,
1526
+ scratchExaggeratedModelMatrix,
1527
+ );
1528
+
1529
+ if (primitive.shape === VoxelShapeType.ELLIPSOID) {
1530
+ // Apply the exaggeration by stretching the height bounds
1531
+ exaggeratedMinBounds.z = VerticalExaggeration.getHeight(
1532
+ primitive._minBounds.z,
1533
+ verticalExaggeration,
1534
+ verticalExaggerationRelativeHeight,
1535
+ );
1536
+ exaggeratedMaxBounds.z = VerticalExaggeration.getHeight(
1537
+ primitive._maxBounds.z,
1538
+ verticalExaggeration,
1539
+ verticalExaggerationRelativeHeight,
1540
+ );
1541
+ exaggeratedMinClippingBounds.z = VerticalExaggeration.getHeight(
1542
+ primitive._minClippingBounds.z,
1543
+ verticalExaggeration,
1544
+ verticalExaggerationRelativeHeight,
1545
+ );
1546
+ exaggeratedMaxClippingBounds.z = VerticalExaggeration.getHeight(
1547
+ primitive._maxClippingBounds.z,
1548
+ verticalExaggeration,
1549
+ verticalExaggerationRelativeHeight,
1550
+ );
1551
+ } else {
1552
+ // Apply the exaggeration via the model matrix
1553
+ const exaggerationScale = Cartesian3.fromElements(
1554
+ 1.0,
1555
+ 1.0,
1556
+ verticalExaggeration,
1557
+ scratchExaggerationScale,
1558
+ );
1559
+ Matrix4.multiplyByScale(
1560
+ exaggeratedModelMatrix,
1561
+ exaggerationScale,
1562
+ exaggeratedModelMatrix,
1563
+ );
1564
+ Matrix4.multiplyByTranslation(
1565
+ exaggeratedModelMatrix,
1566
+ computeBoxExaggerationTranslation(primitive),
1567
+ exaggeratedModelMatrix,
1568
+ );
1569
+ }
1570
+
1571
+ const provider = primitive._provider;
1572
+ const shapeTransform = provider.shapeTransform ?? Matrix4.IDENTITY;
1573
+ const globalTransform = provider.globalTransform ?? Matrix4.IDENTITY;
1574
+
1575
+ // Compound model matrix = global transform * model matrix * shape transform
1576
+ const compoundModelMatrix = Matrix4.multiplyTransformation(
1577
+ globalTransform,
1578
+ exaggeratedModelMatrix,
1579
+ scratchCompoundModelMatrix,
1580
+ );
1581
+ Matrix4.multiplyTransformation(
1582
+ compoundModelMatrix,
1583
+ shapeTransform,
1584
+ compoundModelMatrix,
1585
+ );
1586
+
1587
+ const shape = primitive._shape;
1588
+ const visible = shape.update(
1589
+ compoundModelMatrix,
1590
+ exaggeratedMinBounds,
1591
+ exaggeratedMaxBounds,
1592
+ exaggeratedMinClippingBounds,
1593
+ exaggeratedMaxClippingBounds,
1594
+ );
1595
+ if (!visible) {
1596
+ return false;
1597
+ }
1598
+
1599
+ primitive._transformPositionLocalToWorld = Matrix4.clone(
1600
+ shape.shapeTransform,
1601
+ primitive._transformPositionLocalToWorld,
1602
+ );
1603
+ primitive._transformPositionWorldToLocal = Matrix4.inverse(
1604
+ primitive._transformPositionLocalToWorld,
1605
+ primitive._transformPositionWorldToLocal,
1606
+ );
1607
+ primitive._transformDirectionWorldToLocal = Matrix4.getMatrix3(
1608
+ primitive._transformPositionWorldToLocal,
1609
+ primitive._transformDirectionWorldToLocal,
1610
+ );
1611
+
1612
+ return true;
1613
+ }
1614
+
1615
+ const scratchExaggerationTranslation = new Cartesian3();
1616
+
1617
+ /**
1618
+ * Compute the translation to apply to box shapes to account for vertical exaggeration
1619
+ *
1620
+ * @param {VoxelPrimitive} primitive
1621
+ * @returns {Cartesian3} The translation to apply to the box to account for vertical exaggeration
1622
+ * @private
1623
+ */
1624
+ function computeBoxExaggerationTranslation(primitive) {
1625
+ const verticalExaggeration = primitive._verticalExaggeration;
1626
+ const verticalExaggerationRelativeHeight =
1627
+ primitive._verticalExaggerationRelativeHeight;
1628
+
1629
+ // Compute translation based on box center, relative height, and exaggeration
1630
+ const {
1631
+ shapeTransform = Matrix4.IDENTITY,
1632
+ globalTransform = Matrix4.IDENTITY,
1633
+ } = primitive._provider;
1634
+
1635
+ // Find the Cartesian position of the center of the OBB
1636
+ const initialCenter = Matrix4.getTranslation(
1637
+ shapeTransform,
1638
+ scratchExaggerationCenter,
1639
+ );
1640
+ const intermediateCenter = Matrix4.multiplyByPoint(
1641
+ primitive._modelMatrix,
1642
+ initialCenter,
1643
+ scratchExaggerationCenter,
1644
+ );
1645
+ const transformedCenter = Matrix4.multiplyByPoint(
1646
+ globalTransform,
1647
+ intermediateCenter,
1648
+ scratchExaggerationCenter,
1649
+ );
1650
+
1651
+ // Find the cartographic height
1652
+ const ellipsoid = Ellipsoid.WGS84;
1653
+ const centerCartographic = ellipsoid.cartesianToCartographic(
1654
+ transformedCenter,
1655
+ scratchCartographicCenter,
1656
+ );
1657
+
1658
+ let centerHeight = 0.0;
1659
+ if (defined(centerCartographic)) {
1660
+ centerHeight = centerCartographic.height;
1661
+ }
1662
+
1663
+ // Find the shift that will put the center in the right position relative
1664
+ // to relativeHeight, after it is scaled by verticalExaggeration
1665
+ const exaggeratedHeight = VerticalExaggeration.getHeight(
1666
+ centerHeight,
1667
+ verticalExaggeration,
1668
+ verticalExaggerationRelativeHeight,
1669
+ );
1670
+
1671
+ return Cartesian3.fromElements(
1672
+ 0.0,
1673
+ 0.0,
1674
+ (exaggeratedHeight - centerHeight) / verticalExaggeration,
1675
+ scratchExaggerationTranslation,
1676
+ );
1677
+ }
1678
+
1679
+ /**
1680
+ * Set uniforms that come from the traversal.
1681
+ * @param {VoxelTraversal} traversal
1682
+ * @param {object} uniforms
1683
+ * @private
1684
+ */
1685
+ function setTraversalUniforms(traversal, uniforms) {
1686
+ uniforms.octreeInternalNodeTexture = traversal.internalNodeTexture;
1687
+ uniforms.octreeInternalNodeTexelSizeUv = Cartesian2.clone(
1688
+ traversal.internalNodeTexelSizeUv,
1689
+ uniforms.octreeInternalNodeTexelSizeUv,
1690
+ );
1691
+ uniforms.octreeInternalNodeTilesPerRow = traversal.internalNodeTilesPerRow;
1692
+
1693
+ const { megatextures } = traversal;
1694
+ const megatexture = megatextures[0];
1695
+ uniforms.megatextureTextures = new Array(megatextures.length);
1696
+ for (let i = 0; i < megatextures.length; i++) {
1697
+ uniforms.megatextureTextures[i] = megatextures[i].texture;
1698
+ }
1699
+ uniforms.megatextureTileCounts = Cartesian3.clone(
1700
+ megatexture.tileCounts,
1701
+ uniforms.megatextureTileCounts,
1702
+ );
1703
+ }
1704
+
1705
+ /**
1706
+ * Track changes in shape-related shader defines
1707
+ * @param {VoxelPrimitive} primitive
1708
+ * @returns {boolean} True if any of the shape defines changed, requiring a shader rebuild
1709
+ * @private
1710
+ */
1711
+ function checkShapeDefines(primitive) {
1712
+ const { shaderDefines } = primitive._shape;
1713
+ const shapeDefinesChanged = Object.keys(shaderDefines).some(
1714
+ (key) => shaderDefines[key] !== primitive._shapeDefinesOld[key],
1715
+ );
1716
+ if (shapeDefinesChanged) {
1717
+ primitive._shapeDefinesOld = clone(shaderDefines, true);
1718
+ }
1719
+ return shapeDefinesChanged;
1720
+ }
1721
+
1722
+ /**
1723
+ * Find the keyframe location to render at. Doesn't need to be a whole number.
1724
+ * @param {TimeIntervalCollection} timeIntervalCollection
1725
+ * @param {Clock} clock
1726
+ * @returns {number}
1727
+ *
1728
+ * @private
1729
+ */
1730
+ function getKeyframeLocation(timeIntervalCollection, clock) {
1731
+ if (!defined(timeIntervalCollection) || !defined(clock)) {
1732
+ return 0.0;
1733
+ }
1734
+ let date = clock.currentTime;
1735
+ let timeInterval;
1736
+ let timeIntervalIndex = timeIntervalCollection.indexOf(date);
1737
+ if (timeIntervalIndex >= 0) {
1738
+ timeInterval = timeIntervalCollection.get(timeIntervalIndex);
1739
+ } else {
1740
+ // Date fell outside the range
1741
+ timeIntervalIndex = ~timeIntervalIndex;
1742
+ if (timeIntervalIndex === timeIntervalCollection.length) {
1743
+ // Date past range
1744
+ timeIntervalIndex = timeIntervalCollection.length - 1;
1745
+ timeInterval = timeIntervalCollection.get(timeIntervalIndex);
1746
+ date = timeInterval.stop;
1747
+ } else {
1748
+ // Date before range
1749
+ timeInterval = timeIntervalCollection.get(timeIntervalIndex);
1750
+ date = timeInterval.start;
1751
+ }
1752
+ }
1753
+ // De-lerp between the start and end of the interval
1754
+ const totalSeconds = JulianDate.secondsDifference(
1755
+ timeInterval.stop,
1756
+ timeInterval.start,
1757
+ );
1758
+ const secondsDifferenceStart = JulianDate.secondsDifference(
1759
+ date,
1760
+ timeInterval.start,
1761
+ );
1762
+ const t = secondsDifferenceStart / totalSeconds;
1763
+
1764
+ return timeIntervalIndex + t;
1765
+ }
1766
+
1767
+ /**
1768
+ * Update the clipping planes state and associated uniforms
1769
+ *
1770
+ * @param {VoxelPrimitive} primitive
1771
+ * @param {FrameState} frameState
1772
+ * @returns {boolean} Whether the clipping planes changed, requiring a shader rebuild
1773
+ * @private
1774
+ */
1775
+ function updateClippingPlanes(primitive, frameState) {
1776
+ const clippingPlanes = primitive.clippingPlanes;
1777
+ if (!defined(clippingPlanes)) {
1778
+ return false;
1779
+ }
1780
+
1781
+ clippingPlanes.update(frameState);
1782
+
1783
+ const { clippingPlanesState, enabled } = clippingPlanes;
1784
+
1785
+ if (enabled) {
1786
+ const uniforms = primitive._uniforms;
1787
+ uniforms.clippingPlanesTexture = clippingPlanes.texture;
1788
+
1789
+ // Compute the clipping plane's transformation to local space and then take the inverse
1790
+ // transpose to properly transform the hessian normal form of the plane.
1791
+
1792
+ // transpose(inverse(worldToLocal * clippingPlaneLocalToWorld))
1793
+ // transpose(inverse(clippingPlaneLocalToWorld) * inverse(worldToLocal))
1794
+ // transpose(inverse(clippingPlaneLocalToWorld) * localToWorld)
1795
+
1796
+ uniforms.clippingPlanesMatrix = Matrix4.transpose(
1797
+ Matrix4.multiplyTransformation(
1798
+ Matrix4.inverse(
1799
+ clippingPlanes.modelMatrix,
1800
+ uniforms.clippingPlanesMatrix,
1801
+ ),
1802
+ primitive._transformPositionLocalToWorld,
1803
+ uniforms.clippingPlanesMatrix,
1804
+ ),
1805
+ uniforms.clippingPlanesMatrix,
1806
+ );
1807
+ }
1808
+
1809
+ if (
1810
+ primitive._clippingPlanesState === clippingPlanesState &&
1811
+ primitive._clippingPlanesEnabled === enabled
1812
+ ) {
1813
+ return false;
1814
+ }
1815
+ primitive._clippingPlanesState = clippingPlanesState;
1816
+ primitive._clippingPlanesEnabled = enabled;
1817
+
1818
+ return true;
1819
+ }
1820
+
1821
+ /**
1822
+ * Returns true if this object was destroyed; otherwise, false.
1823
+ * <br /><br />
1824
+ * If this object was destroyed, it should not be used; calling any function other than
1825
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
1826
+ *
1827
+ * @returns {boolean} <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
1828
+ *
1829
+ * @see VoxelPrimitive#destroy
1830
+ */
1831
+ VoxelPrimitive.prototype.isDestroyed = function () {
1832
+ return false;
1833
+ };
1834
+
1835
+ /**
1836
+ * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
1837
+ * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
1838
+ * <br /><br />
1839
+ * Once an object is destroyed, it should not be used; calling any function other than
1840
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
1841
+ * assign the return value (<code>undefined</code>) to the object as done in the example.
1842
+ *
1843
+ * @exception {DeveloperError} This object was destroyed, i.e., destroy() was called.
1844
+ *
1845
+ * @see VoxelPrimitive#isDestroyed
1846
+ *
1847
+ * @example
1848
+ * voxelPrimitive = voxelPrimitive && voxelPrimitive.destroy();
1849
+ */
1850
+ VoxelPrimitive.prototype.destroy = function () {
1851
+ const drawCommand = this._drawCommand;
1852
+ if (defined(drawCommand)) {
1853
+ drawCommand.shaderProgram =
1854
+ drawCommand.shaderProgram && drawCommand.shaderProgram.destroy();
1855
+ }
1856
+ const drawCommandPick = this._drawCommandPick;
1857
+ if (defined(drawCommandPick)) {
1858
+ drawCommandPick.shaderProgram =
1859
+ drawCommandPick.shaderProgram && drawCommandPick.shaderProgram.destroy();
1860
+ }
1861
+
1862
+ this._pickId = this._pickId && this._pickId.destroy();
1863
+ this._traversal = this._traversal && this._traversal.destroy();
1864
+ this.statistics.texturesByteLength = 0;
1865
+ this._clippingPlanes = this._clippingPlanes && this._clippingPlanes.destroy();
1866
+
1867
+ return destroyObject(this);
1868
+ };
1869
+
1870
+ const corners = new Array(
1871
+ new Cartesian4(-1.0, -1.0, -1.0, 1.0),
1872
+ new Cartesian4(+1.0, -1.0, -1.0, 1.0),
1873
+ new Cartesian4(-1.0, +1.0, -1.0, 1.0),
1874
+ new Cartesian4(+1.0, +1.0, -1.0, 1.0),
1875
+ new Cartesian4(-1.0, -1.0, +1.0, 1.0),
1876
+ new Cartesian4(+1.0, -1.0, +1.0, 1.0),
1877
+ new Cartesian4(-1.0, +1.0, +1.0, 1.0),
1878
+ new Cartesian4(+1.0, +1.0, +1.0, 1.0),
1879
+ );
1880
+ const vertexNeighborIndices = new Array(
1881
+ 1,
1882
+ 2,
1883
+ 4,
1884
+ 0,
1885
+ 3,
1886
+ 5,
1887
+ 0,
1888
+ 3,
1889
+ 6,
1890
+ 1,
1891
+ 2,
1892
+ 7,
1893
+ 0,
1894
+ 5,
1895
+ 6,
1896
+ 1,
1897
+ 4,
1898
+ 7,
1899
+ 2,
1900
+ 4,
1901
+ 7,
1902
+ 3,
1903
+ 5,
1904
+ 6,
1905
+ );
1906
+
1907
+ const scratchCornersClipSpace = new Array(
1908
+ new Cartesian4(),
1909
+ new Cartesian4(),
1910
+ new Cartesian4(),
1911
+ new Cartesian4(),
1912
+ new Cartesian4(),
1913
+ new Cartesian4(),
1914
+ new Cartesian4(),
1915
+ new Cartesian4(),
1916
+ );
1917
+
1918
+ /**
1919
+ * Projects all 8 corners of the oriented bounding box to NDC space and finds the
1920
+ * resulting NDC axis aligned bounding box. To avoid projecting a vertex that is
1921
+ * behind the near plane, it uses the intersection point of each of the vertex's
1922
+ * edges against the near plane as part of the AABB calculation. This is done in
1923
+ * clip space prior to perspective division.
1924
+ *
1925
+ * @function
1926
+ *
1927
+ * @param {OrientedBoundingBox} orientedBoundingBox
1928
+ * @param {Matrix4} worldToProjection
1929
+ * @param {Cartesian4} result
1930
+ * @returns {Cartesian4}
1931
+ *
1932
+ * @private
1933
+ */
1934
+ function orientedBoundingBoxToNdcAabb(
1935
+ orientedBoundingBox,
1936
+ worldToProjection,
1937
+ result,
1938
+ ) {
1939
+ const transformPositionLocalToWorld = Matrix4.fromRotationTranslation(
1940
+ orientedBoundingBox.halfAxes,
1941
+ orientedBoundingBox.center,
1942
+ scratchTransformPositionLocalToWorld,
1943
+ );
1944
+ const transformPositionLocalToProjection = Matrix4.multiply(
1945
+ worldToProjection,
1946
+ transformPositionLocalToWorld,
1947
+ scratchTransformPositionLocalToProjection,
1948
+ );
1949
+
1950
+ let ndcMinX = +Number.MAX_VALUE;
1951
+ let ndcMaxX = -Number.MAX_VALUE;
1952
+ let ndcMinY = +Number.MAX_VALUE;
1953
+ let ndcMaxY = -Number.MAX_VALUE;
1954
+ let cornerIndex;
1955
+
1956
+ // Convert all points to clip space
1957
+ const cornersClipSpace = scratchCornersClipSpace;
1958
+ const cornersLength = corners.length;
1959
+ for (cornerIndex = 0; cornerIndex < cornersLength; cornerIndex++) {
1960
+ Matrix4.multiplyByVector(
1961
+ transformPositionLocalToProjection,
1962
+ corners[cornerIndex],
1963
+ cornersClipSpace[cornerIndex],
1964
+ );
1965
+ }
1966
+
1967
+ for (cornerIndex = 0; cornerIndex < cornersLength; cornerIndex++) {
1968
+ const position = cornersClipSpace[cornerIndex];
1969
+ if (position.z >= -position.w) {
1970
+ // Position is past near plane, so there's no need to clip.
1971
+ const ndcX = position.x / position.w;
1972
+ const ndcY = position.y / position.w;
1973
+ ndcMinX = Math.min(ndcMinX, ndcX);
1974
+ ndcMaxX = Math.max(ndcMaxX, ndcX);
1975
+ ndcMinY = Math.min(ndcMinY, ndcY);
1976
+ ndcMaxY = Math.max(ndcMaxY, ndcY);
1977
+ } else {
1978
+ for (let neighborIndex = 0; neighborIndex < 3; neighborIndex++) {
1979
+ const neighborVertexIndex =
1980
+ vertexNeighborIndices[cornerIndex * 3 + neighborIndex];
1981
+ const neighborPosition = cornersClipSpace[neighborVertexIndex];
1982
+ if (neighborPosition.z >= -neighborPosition.w) {
1983
+ // Position is behind the near plane and neighbor is after, so get intersection point on the near plane.
1984
+ const distanceToPlaneFromPosition = position.z + position.w;
1985
+ const distanceToPlaneFromNeighbor =
1986
+ neighborPosition.z + neighborPosition.w;
1987
+ const t =
1988
+ distanceToPlaneFromPosition /
1989
+ (distanceToPlaneFromPosition - distanceToPlaneFromNeighbor);
1990
+
1991
+ const intersect = Cartesian4.lerp(
1992
+ position,
1993
+ neighborPosition,
1994
+ t,
1995
+ scratchIntersect,
1996
+ );
1997
+ const intersectNdcX = intersect.x / intersect.w;
1998
+ const intersectNdcY = intersect.y / intersect.w;
1999
+ ndcMinX = Math.min(ndcMinX, intersectNdcX);
2000
+ ndcMaxX = Math.max(ndcMaxX, intersectNdcX);
2001
+ ndcMinY = Math.min(ndcMinY, intersectNdcY);
2002
+ ndcMaxY = Math.max(ndcMaxY, intersectNdcY);
2003
+ }
2004
+ }
2005
+ }
2006
+ }
2007
+
2008
+ // Clamp the NDC values to -1 to +1 range even if they extend much further.
2009
+ ndcMinX = CesiumMath.clamp(ndcMinX, -1.0, +1.0);
2010
+ ndcMinY = CesiumMath.clamp(ndcMinY, -1.0, +1.0);
2011
+ ndcMaxX = CesiumMath.clamp(ndcMaxX, -1.0, +1.0);
2012
+ ndcMaxY = CesiumMath.clamp(ndcMaxY, -1.0, +1.0);
2013
+ result = Cartesian4.fromElements(ndcMinX, ndcMinY, ndcMaxX, ndcMaxY, result);
2014
+
2015
+ return result;
2016
+ }
2017
+
2018
+ const polylineAxisDistance = 30000000.0;
2019
+ const polylineXAxis = new Cartesian3(polylineAxisDistance, 0.0, 0.0);
2020
+ const polylineYAxis = new Cartesian3(0.0, polylineAxisDistance, 0.0);
2021
+ const polylineZAxis = new Cartesian3(0.0, 0.0, polylineAxisDistance);
2022
+
2023
+ /**
2024
+ * Draws the tile bounding boxes and axes.
2025
+ *
2026
+ * @function
2027
+ *
2028
+ * @param {VoxelPrimitive} that
2029
+ * @param {FrameState} frameState
2030
+ *
2031
+ * @private
2032
+ */
2033
+ function debugDraw(that, frameState) {
2034
+ const traversal = that._traversal;
2035
+ const polylines = that._debugPolylines;
2036
+ polylines.removeAll();
2037
+
2038
+ function makePolylineLineSegment(startPos, endPos, color, thickness) {
2039
+ polylines.add({
2040
+ positions: [startPos, endPos],
2041
+ width: thickness,
2042
+ material: Material.fromType("Color", {
2043
+ color: color,
2044
+ }),
2045
+ });
2046
+ }
2047
+
2048
+ function makePolylineBox(orientedBoundingBox, color, thickness) {
2049
+ // Normally would want to use a scratch variable to store the corners, but
2050
+ // polylines don't clone the positions.
2051
+ const corners = orientedBoundingBox.computeCorners();
2052
+ makePolylineLineSegment(corners[0], corners[1], color, thickness);
2053
+ makePolylineLineSegment(corners[2], corners[3], color, thickness);
2054
+ makePolylineLineSegment(corners[4], corners[5], color, thickness);
2055
+ makePolylineLineSegment(corners[6], corners[7], color, thickness);
2056
+ makePolylineLineSegment(corners[0], corners[2], color, thickness);
2057
+ makePolylineLineSegment(corners[4], corners[6], color, thickness);
2058
+ makePolylineLineSegment(corners[1], corners[3], color, thickness);
2059
+ makePolylineLineSegment(corners[5], corners[7], color, thickness);
2060
+ makePolylineLineSegment(corners[0], corners[4], color, thickness);
2061
+ makePolylineLineSegment(corners[2], corners[6], color, thickness);
2062
+ makePolylineLineSegment(corners[1], corners[5], color, thickness);
2063
+ makePolylineLineSegment(corners[3], corners[7], color, thickness);
2064
+ }
2065
+
2066
+ function drawTile(tile) {
2067
+ if (!traversal.isRenderable(tile)) {
2068
+ return;
2069
+ }
2070
+
2071
+ const level = tile.level;
2072
+ const startThickness = 5.0;
2073
+ const thickness = Math.max(1.0, startThickness / Math.pow(2.0, level));
2074
+ const colors = [Color.RED, Color.LIME, Color.BLUE];
2075
+ const color = colors[level % 3];
2076
+
2077
+ makePolylineBox(tile.orientedBoundingBox, color, thickness);
2078
+
2079
+ if (defined(tile.children)) {
2080
+ for (let i = 0; i < 8; i++) {
2081
+ drawTile(tile.children[i]);
2082
+ }
2083
+ }
2084
+ }
2085
+
2086
+ makePolylineBox(that._shape.orientedBoundingBox, Color.WHITE, 5.0);
2087
+
2088
+ drawTile(traversal.rootNode);
2089
+
2090
+ const axisThickness = 10.0;
2091
+ makePolylineLineSegment(
2092
+ Cartesian3.ZERO,
2093
+ polylineXAxis,
2094
+ Color.RED,
2095
+ axisThickness,
2096
+ );
2097
+ makePolylineLineSegment(
2098
+ Cartesian3.ZERO,
2099
+ polylineYAxis,
2100
+ Color.LIME,
2101
+ axisThickness,
2102
+ );
2103
+ makePolylineLineSegment(
2104
+ Cartesian3.ZERO,
2105
+ polylineZAxis,
2106
+ Color.BLUE,
2107
+ axisThickness,
2108
+ );
2109
+
2110
+ polylines.update(frameState);
2111
+ }
2112
+
2113
+ /**
2114
+ * The default custom shader used by the primitive.
2115
+ *
2116
+ * @type {CustomShader}
2117
+ * @constant
2118
+ * @readonly
2119
+ *
2120
+ * @private
2121
+ */
2122
+ VoxelPrimitive.DefaultCustomShader = new CustomShader({
2123
+ fragmentShaderText: `void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material)
2124
+ {
2125
+ material.diffuse = vec3(1.0);
2126
+ material.alpha = 1.0;
2127
+ }`,
2128
+ });
2129
+
2130
+ function DefaultVoxelProvider() {
2131
+ this.ready = true;
2132
+ this.shape = VoxelShapeType.BOX;
2133
+ this.dimensions = new Cartesian3(1, 1, 1);
2134
+ this.names = ["data"];
2135
+ this.types = [MetadataType.SCALAR];
2136
+ this.componentTypes = [MetadataComponentType.FLOAT32];
2137
+ this.maximumTileCount = 1;
2138
+ }
2139
+
2140
+ DefaultVoxelProvider.prototype.requestData = function (options) {
2141
+ const tileLevel = defined(options) ? (options.tileLevel ?? 0) : 0;
2142
+ if (tileLevel >= 1) {
2143
+ return undefined;
2144
+ }
2145
+
2146
+ const content = new VoxelContent({ metadata: [new Float32Array(1)] });
2147
+ return Promise.resolve(content);
2148
+ };
2149
+
2150
+ VoxelPrimitive.DefaultProvider = new DefaultVoxelProvider();
2151
+
2152
+ export default VoxelPrimitive;