@geoblocks/cesium-post-process 0.4.0 → 0.5.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 (502) hide show
  1. package/dist/analog-video.d.ts +71 -0
  2. package/dist/analog-video.d.ts.map +1 -0
  3. package/dist/analog-video.js +128 -0
  4. package/dist/analog-video.js.map +1 -0
  5. package/dist/blur.d.ts +13 -0
  6. package/dist/blur.d.ts.map +1 -0
  7. package/dist/blur.js +36 -0
  8. package/dist/blur.js.map +1 -0
  9. package/dist/cesium-post-process.d.ts +30 -0
  10. package/dist/cesium-post-process.d.ts.map +1 -0
  11. package/dist/cesium-post-process.js +31 -0
  12. package/dist/cesium-post-process.js.map +1 -0
  13. package/dist/cloud-cover.d.ts +28 -0
  14. package/dist/cloud-cover.d.ts.map +1 -0
  15. package/dist/cloud-cover.js +45 -0
  16. package/dist/cloud-cover.js.map +1 -0
  17. package/dist/cloud-map.d.ts +7 -0
  18. package/dist/cloud-map.d.ts.map +1 -0
  19. package/dist/cloud-map.js +118 -0
  20. package/dist/cloud-map.js.map +1 -0
  21. package/dist/cloud-noise.d.ts +13 -0
  22. package/dist/cloud-noise.d.ts.map +1 -0
  23. package/dist/cloud-noise.js +222 -0
  24. package/dist/cloud-noise.js.map +1 -0
  25. package/dist/clouds.d.ts +275 -0
  26. package/dist/clouds.d.ts.map +1 -0
  27. package/dist/clouds.js +642 -0
  28. package/dist/clouds.js.map +1 -0
  29. package/dist/color-isolation.d.ts +38 -0
  30. package/dist/color-isolation.d.ts.map +1 -0
  31. package/dist/color-isolation.js +61 -0
  32. package/dist/color-isolation.js.map +1 -0
  33. package/dist/depth-test.d.ts +9 -0
  34. package/dist/depth-test.d.ts.map +1 -0
  35. package/dist/depth-test.js +35 -0
  36. package/dist/depth-test.js.map +1 -0
  37. package/dist/digital-video.d.ts +47 -0
  38. package/dist/digital-video.d.ts.map +1 -0
  39. package/dist/digital-video.js +102 -0
  40. package/dist/digital-video.js.map +1 -0
  41. package/dist/drone-display.d.ts +70 -0
  42. package/dist/drone-display.d.ts.map +1 -0
  43. package/dist/drone-display.js +158 -0
  44. package/dist/drone-display.js.map +1 -0
  45. package/dist/dufour.d.ts +108 -0
  46. package/dist/dufour.d.ts.map +1 -0
  47. package/dist/dufour.js +201 -0
  48. package/dist/dufour.js.map +1 -0
  49. package/dist/effect.d.ts +33 -0
  50. package/dist/effect.d.ts.map +1 -0
  51. package/dist/effect.js +60 -0
  52. package/dist/effect.js.map +1 -0
  53. package/dist/focus.d.ts +11 -0
  54. package/dist/focus.d.ts.map +1 -0
  55. package/dist/focus.js +23 -0
  56. package/dist/focus.js.map +1 -0
  57. package/dist/frame-clock.d.ts +11 -0
  58. package/dist/frame-clock.d.ts.map +1 -0
  59. package/dist/frame-clock.js +57 -0
  60. package/dist/frame-clock.js.map +1 -0
  61. package/dist/height.d.ts +12 -0
  62. package/dist/height.d.ts.map +1 -0
  63. package/dist/height.js +22 -0
  64. package/dist/height.js.map +1 -0
  65. package/dist/infrared.d.ts +23 -0
  66. package/dist/infrared.d.ts.map +1 -0
  67. package/dist/infrared.js +36 -0
  68. package/dist/infrared.js.map +1 -0
  69. package/dist/jello.d.ts +52 -0
  70. package/dist/jello.d.ts.map +1 -0
  71. package/dist/jello.js +136 -0
  72. package/dist/jello.js.map +1 -0
  73. package/dist/lens-distortion.d.ts +33 -0
  74. package/dist/lens-distortion.d.ts.map +1 -0
  75. package/dist/lens-distortion.js +61 -0
  76. package/dist/lens-distortion.js.map +1 -0
  77. package/dist/lightning.d.ts +124 -0
  78. package/dist/lightning.d.ts.map +1 -0
  79. package/dist/lightning.js +301 -0
  80. package/dist/lightning.js.map +1 -0
  81. package/dist/local-frame.d.ts +38 -0
  82. package/dist/local-frame.d.ts.map +1 -0
  83. package/dist/local-frame.js +52 -0
  84. package/dist/local-frame.js.map +1 -0
  85. package/dist/motion-blur.d.ts +50 -0
  86. package/dist/motion-blur.d.ts.map +1 -0
  87. package/dist/motion-blur.js +108 -0
  88. package/dist/motion-blur.js.map +1 -0
  89. package/dist/precipitation.d.ts +146 -0
  90. package/dist/precipitation.d.ts.map +1 -0
  91. package/dist/precipitation.js +454 -0
  92. package/dist/precipitation.js.map +1 -0
  93. package/dist/rain-rings.d.ts +100 -0
  94. package/dist/rain-rings.d.ts.map +1 -0
  95. package/dist/rain-rings.js +181 -0
  96. package/dist/rain-rings.js.map +1 -0
  97. package/dist/shaders/Alpenglow.d.ts +3 -0
  98. package/dist/shaders/Alpenglow.d.ts.map +1 -0
  99. package/dist/shaders/Alpenglow.js +3 -0
  100. package/dist/shaders/Alpenglow.js.map +1 -0
  101. package/dist/shaders/AnalogVideo.d.ts +3 -0
  102. package/dist/shaders/AnalogVideo.d.ts.map +1 -0
  103. package/dist/shaders/AnalogVideo.js +3 -0
  104. package/dist/shaders/AnalogVideo.js.map +1 -0
  105. package/dist/shaders/Beam.d.ts +3 -0
  106. package/dist/shaders/Beam.d.ts.map +1 -0
  107. package/dist/shaders/Beam.js +3 -0
  108. package/dist/shaders/Beam.js.map +1 -0
  109. package/dist/shaders/CloudsBlur.d.ts +3 -0
  110. package/dist/shaders/CloudsBlur.d.ts.map +1 -0
  111. package/dist/shaders/CloudsBlur.js +3 -0
  112. package/dist/shaders/CloudsBlur.js.map +1 -0
  113. package/dist/shaders/CloudsComposite.d.ts +3 -0
  114. package/dist/shaders/CloudsComposite.d.ts.map +1 -0
  115. package/dist/shaders/CloudsComposite.js +3 -0
  116. package/dist/shaders/CloudsComposite.js.map +1 -0
  117. package/dist/shaders/CloudsDensity.d.ts +3 -0
  118. package/dist/shaders/CloudsDensity.d.ts.map +1 -0
  119. package/dist/shaders/CloudsDensity.js +3 -0
  120. package/dist/shaders/CloudsDensity.js.map +1 -0
  121. package/dist/shaders/CloudsDepth.d.ts +3 -0
  122. package/dist/shaders/CloudsDepth.d.ts.map +1 -0
  123. package/dist/shaders/CloudsDepth.js +3 -0
  124. package/dist/shaders/CloudsDepth.js.map +1 -0
  125. package/dist/shaders/CloudsMarch.d.ts +3 -0
  126. package/dist/shaders/CloudsMarch.d.ts.map +1 -0
  127. package/dist/shaders/CloudsMarch.js +3 -0
  128. package/dist/shaders/CloudsMarch.js.map +1 -0
  129. package/dist/shaders/CloudsResolve.d.ts +3 -0
  130. package/dist/shaders/CloudsResolve.d.ts.map +1 -0
  131. package/dist/shaders/CloudsResolve.js +3 -0
  132. package/dist/shaders/CloudsResolve.js.map +1 -0
  133. package/dist/shaders/CloudsShadow.d.ts +3 -0
  134. package/dist/shaders/CloudsShadow.d.ts.map +1 -0
  135. package/dist/shaders/CloudsShadow.js +3 -0
  136. package/dist/shaders/CloudsShadow.js.map +1 -0
  137. package/dist/shaders/CloudsShadowMap.d.ts +3 -0
  138. package/dist/shaders/CloudsShadowMap.d.ts.map +1 -0
  139. package/dist/shaders/CloudsShadowMap.js +3 -0
  140. package/dist/shaders/CloudsShadowMap.js.map +1 -0
  141. package/dist/shaders/CloudsSlab.d.ts +3 -0
  142. package/dist/shaders/CloudsSlab.d.ts.map +1 -0
  143. package/dist/shaders/CloudsSlab.js +3 -0
  144. package/dist/shaders/CloudsSlab.js.map +1 -0
  145. package/dist/shaders/ColorIsolation.d.ts +3 -0
  146. package/dist/shaders/ColorIsolation.d.ts.map +1 -0
  147. package/dist/shaders/ColorIsolation.js +3 -0
  148. package/dist/shaders/ColorIsolation.js.map +1 -0
  149. package/dist/shaders/DepthEdges.d.ts +3 -0
  150. package/dist/shaders/DepthEdges.d.ts.map +1 -0
  151. package/dist/shaders/DepthEdges.js +3 -0
  152. package/dist/shaders/DepthEdges.js.map +1 -0
  153. package/dist/shaders/DigitalVideo.d.ts +3 -0
  154. package/dist/shaders/DigitalVideo.d.ts.map +1 -0
  155. package/dist/shaders/DigitalVideo.js +3 -0
  156. package/dist/shaders/DigitalVideo.js.map +1 -0
  157. package/dist/shaders/DroneDisplay.d.ts +3 -0
  158. package/dist/shaders/DroneDisplay.d.ts.map +1 -0
  159. package/dist/shaders/DroneDisplay.js +3 -0
  160. package/dist/shaders/DroneDisplay.js.map +1 -0
  161. package/dist/shaders/Dufour.d.ts +3 -0
  162. package/dist/shaders/Dufour.d.ts.map +1 -0
  163. package/dist/shaders/Dufour.js +3 -0
  164. package/dist/shaders/Dufour.js.map +1 -0
  165. package/dist/shaders/EyeFromDepth.d.ts +3 -0
  166. package/dist/shaders/EyeFromDepth.d.ts.map +1 -0
  167. package/dist/shaders/EyeFromDepth.js +3 -0
  168. package/dist/shaders/EyeFromDepth.js.map +1 -0
  169. package/dist/shaders/Filmic.d.ts +3 -0
  170. package/dist/shaders/Filmic.d.ts.map +1 -0
  171. package/dist/shaders/Filmic.js +3 -0
  172. package/dist/shaders/Filmic.js.map +1 -0
  173. package/dist/shaders/Flashlight.d.ts +3 -0
  174. package/dist/shaders/Flashlight.d.ts.map +1 -0
  175. package/dist/shaders/Flashlight.js +3 -0
  176. package/dist/shaders/Flashlight.js.map +1 -0
  177. package/dist/shaders/Fog.d.ts +3 -0
  178. package/dist/shaders/Fog.d.ts.map +1 -0
  179. package/dist/shaders/Fog.js +3 -0
  180. package/dist/shaders/Fog.js.map +1 -0
  181. package/dist/shaders/Frame.d.ts +3 -0
  182. package/dist/shaders/Frame.d.ts.map +1 -0
  183. package/dist/shaders/Frame.js +3 -0
  184. package/dist/shaders/Frame.js.map +1 -0
  185. package/dist/shaders/Hash.d.ts +3 -0
  186. package/dist/shaders/Hash.d.ts.map +1 -0
  187. package/dist/shaders/Hash.js +3 -0
  188. package/dist/shaders/Hash.js.map +1 -0
  189. package/dist/shaders/Height.d.ts +3 -0
  190. package/dist/shaders/Height.d.ts.map +1 -0
  191. package/dist/shaders/Height.js +3 -0
  192. package/dist/shaders/Height.js.map +1 -0
  193. package/dist/shaders/Infrared.d.ts +3 -0
  194. package/dist/shaders/Infrared.d.ts.map +1 -0
  195. package/dist/shaders/Infrared.js +3 -0
  196. package/dist/shaders/Infrared.js.map +1 -0
  197. package/dist/shaders/Jello.d.ts +3 -0
  198. package/dist/shaders/Jello.d.ts.map +1 -0
  199. package/dist/shaders/Jello.js +3 -0
  200. package/dist/shaders/Jello.js.map +1 -0
  201. package/dist/shaders/LensDistortion.d.ts +3 -0
  202. package/dist/shaders/LensDistortion.d.ts.map +1 -0
  203. package/dist/shaders/LensDistortion.js +3 -0
  204. package/dist/shaders/LensDistortion.js.map +1 -0
  205. package/dist/shaders/Lightning.d.ts +3 -0
  206. package/dist/shaders/Lightning.d.ts.map +1 -0
  207. package/dist/shaders/Lightning.js +3 -0
  208. package/dist/shaders/Lightning.js.map +1 -0
  209. package/dist/shaders/MotionBlur.d.ts +3 -0
  210. package/dist/shaders/MotionBlur.d.ts.map +1 -0
  211. package/dist/shaders/MotionBlur.js +3 -0
  212. package/dist/shaders/MotionBlur.js.map +1 -0
  213. package/dist/shaders/MotionBlurVelocity.d.ts +3 -0
  214. package/dist/shaders/MotionBlurVelocity.d.ts.map +1 -0
  215. package/dist/shaders/MotionBlurVelocity.js +3 -0
  216. package/dist/shaders/MotionBlurVelocity.js.map +1 -0
  217. package/dist/shaders/Noise.d.ts +3 -0
  218. package/dist/shaders/Noise.d.ts.map +1 -0
  219. package/dist/shaders/Noise.js +3 -0
  220. package/dist/shaders/Noise.js.map +1 -0
  221. package/dist/shaders/Normal.d.ts +3 -0
  222. package/dist/shaders/Normal.d.ts.map +1 -0
  223. package/dist/shaders/Normal.js +3 -0
  224. package/dist/shaders/Normal.js.map +1 -0
  225. package/dist/shaders/Phase.d.ts +3 -0
  226. package/dist/shaders/Phase.d.ts.map +1 -0
  227. package/dist/shaders/Phase.js +3 -0
  228. package/dist/shaders/Phase.js.map +1 -0
  229. package/dist/shaders/Precipitation.d.ts +3 -0
  230. package/dist/shaders/Precipitation.d.ts.map +1 -0
  231. package/dist/shaders/Precipitation.js +3 -0
  232. package/dist/shaders/Precipitation.js.map +1 -0
  233. package/dist/shaders/PrecipitationShaftBlur.d.ts +3 -0
  234. package/dist/shaders/PrecipitationShaftBlur.d.ts.map +1 -0
  235. package/dist/shaders/PrecipitationShaftBlur.js +3 -0
  236. package/dist/shaders/PrecipitationShaftBlur.js.map +1 -0
  237. package/dist/shaders/PrecipitationShafts.d.ts +3 -0
  238. package/dist/shaders/PrecipitationShafts.d.ts.map +1 -0
  239. package/dist/shaders/PrecipitationShafts.js +3 -0
  240. package/dist/shaders/PrecipitationShafts.js.map +1 -0
  241. package/dist/shaders/PrecipitationWind.d.ts +3 -0
  242. package/dist/shaders/PrecipitationWind.d.ts.map +1 -0
  243. package/dist/shaders/PrecipitationWind.js +3 -0
  244. package/dist/shaders/PrecipitationWind.js.map +1 -0
  245. package/dist/shaders/RainHaze.d.ts +3 -0
  246. package/dist/shaders/RainHaze.d.ts.map +1 -0
  247. package/dist/shaders/RainHaze.js +3 -0
  248. package/dist/shaders/RainHaze.js.map +1 -0
  249. package/dist/shaders/RainRings.d.ts +3 -0
  250. package/dist/shaders/RainRings.d.ts.map +1 -0
  251. package/dist/shaders/RainRings.js +3 -0
  252. package/dist/shaders/RainRings.js.map +1 -0
  253. package/dist/shaders/Shockwave.d.ts +3 -0
  254. package/dist/shaders/Shockwave.d.ts.map +1 -0
  255. package/dist/shaders/Shockwave.js +3 -0
  256. package/dist/shaders/Shockwave.js.map +1 -0
  257. package/dist/shaders/SkyTable.d.ts +3 -0
  258. package/dist/shaders/SkyTable.d.ts.map +1 -0
  259. package/dist/shaders/SkyTable.js +3 -0
  260. package/dist/shaders/SkyTable.js.map +1 -0
  261. package/dist/shaders/SnowLine.d.ts +3 -0
  262. package/dist/shaders/SnowLine.d.ts.map +1 -0
  263. package/dist/shaders/SnowLine.js +3 -0
  264. package/dist/shaders/SnowLine.js.map +1 -0
  265. package/dist/shaders/SpeedLines.d.ts +3 -0
  266. package/dist/shaders/SpeedLines.d.ts.map +1 -0
  267. package/dist/shaders/SpeedLines.js +3 -0
  268. package/dist/shaders/SpeedLines.js.map +1 -0
  269. package/dist/shaders/Spotlight.d.ts +3 -0
  270. package/dist/shaders/Spotlight.d.ts.map +1 -0
  271. package/dist/shaders/Spotlight.js +3 -0
  272. package/dist/shaders/Spotlight.js.map +1 -0
  273. package/dist/shaders/SpotlightBeam.d.ts +3 -0
  274. package/dist/shaders/SpotlightBeam.d.ts.map +1 -0
  275. package/dist/shaders/SpotlightBeam.js +3 -0
  276. package/dist/shaders/SpotlightBeam.js.map +1 -0
  277. package/dist/shaders/SpotlightBeamBlur.d.ts +3 -0
  278. package/dist/shaders/SpotlightBeamBlur.d.ts.map +1 -0
  279. package/dist/shaders/SpotlightBeamBlur.js +3 -0
  280. package/dist/shaders/SpotlightBeamBlur.js.map +1 -0
  281. package/dist/shaders/SpotlightCone.d.ts +3 -0
  282. package/dist/shaders/SpotlightCone.d.ts.map +1 -0
  283. package/dist/shaders/SpotlightCone.js +3 -0
  284. package/dist/shaders/SpotlightCone.js.map +1 -0
  285. package/dist/shaders/Super8.d.ts +3 -0
  286. package/dist/shaders/Super8.d.ts.map +1 -0
  287. package/dist/shaders/Super8.js +3 -0
  288. package/dist/shaders/Super8.js.map +1 -0
  289. package/dist/shaders/Technicolor.d.ts +3 -0
  290. package/dist/shaders/Technicolor.d.ts.map +1 -0
  291. package/dist/shaders/Technicolor.js +3 -0
  292. package/dist/shaders/Technicolor.js.map +1 -0
  293. package/dist/shaders/TiltShift.d.ts +3 -0
  294. package/dist/shaders/TiltShift.d.ts.map +1 -0
  295. package/dist/shaders/TiltShift.js +3 -0
  296. package/dist/shaders/TiltShift.js.map +1 -0
  297. package/dist/shaders/Toy.d.ts +3 -0
  298. package/dist/shaders/Toy.d.ts.map +1 -0
  299. package/dist/shaders/Toy.js +3 -0
  300. package/dist/shaders/Toy.js.map +1 -0
  301. package/dist/shaders/Trails.d.ts +3 -0
  302. package/dist/shaders/Trails.d.ts.map +1 -0
  303. package/dist/shaders/Trails.js +3 -0
  304. package/dist/shaders/Trails.js.map +1 -0
  305. package/dist/shaders/ValleyFog.d.ts +3 -0
  306. package/dist/shaders/ValleyFog.d.ts.map +1 -0
  307. package/dist/shaders/ValleyFog.js +3 -0
  308. package/dist/shaders/ValleyFog.js.map +1 -0
  309. package/dist/shaders/WeatherMap.d.ts +3 -0
  310. package/dist/shaders/WeatherMap.d.ts.map +1 -0
  311. package/dist/shaders/WeatherMap.js +3 -0
  312. package/dist/shaders/WeatherMap.js.map +1 -0
  313. package/dist/shaders/WhiteModel.d.ts +3 -0
  314. package/dist/shaders/WhiteModel.d.ts.map +1 -0
  315. package/dist/shaders/WhiteModel.js +3 -0
  316. package/dist/shaders/WhiteModel.js.map +1 -0
  317. package/dist/snow-line.d.ts +117 -0
  318. package/dist/snow-line.d.ts.map +1 -0
  319. package/dist/snow-line.js +201 -0
  320. package/dist/snow-line.js.map +1 -0
  321. package/dist/speed-lines.d.ts +36 -0
  322. package/dist/speed-lines.d.ts.map +1 -0
  323. package/dist/speed-lines.js +65 -0
  324. package/dist/speed-lines.js.map +1 -0
  325. package/dist/spotlight.d.ts +84 -0
  326. package/dist/spotlight.d.ts.map +1 -0
  327. package/dist/spotlight.js +175 -0
  328. package/dist/spotlight.js.map +1 -0
  329. package/dist/strikes.d.ts +17 -0
  330. package/dist/strikes.d.ts.map +1 -0
  331. package/dist/strikes.js +30 -0
  332. package/dist/strikes.js.map +1 -0
  333. package/dist/super8.d.ts +78 -0
  334. package/dist/super8.d.ts.map +1 -0
  335. package/dist/super8.js +146 -0
  336. package/dist/super8.js.map +1 -0
  337. package/dist/technicolor.d.ts +32 -0
  338. package/dist/technicolor.d.ts.map +1 -0
  339. package/dist/technicolor.js +51 -0
  340. package/dist/technicolor.js.map +1 -0
  341. package/dist/tilt-shift.d.ts +60 -0
  342. package/dist/tilt-shift.d.ts.map +1 -0
  343. package/dist/tilt-shift.js +112 -0
  344. package/dist/tilt-shift.js.map +1 -0
  345. package/dist/toy.d.ts +110 -0
  346. package/dist/toy.d.ts.map +1 -0
  347. package/dist/toy.js +173 -0
  348. package/dist/toy.js.map +1 -0
  349. package/dist/valley-fog.d.ts +56 -0
  350. package/dist/valley-fog.d.ts.map +1 -0
  351. package/dist/valley-fog.js +94 -0
  352. package/dist/valley-fog.js.map +1 -0
  353. package/dist/weather-map.d.ts +132 -0
  354. package/dist/weather-map.d.ts.map +1 -0
  355. package/dist/weather-map.js +266 -0
  356. package/dist/weather-map.js.map +1 -0
  357. package/dist/white-model.d.ts +70 -0
  358. package/dist/white-model.d.ts.map +1 -0
  359. package/dist/white-model.js +94 -0
  360. package/dist/white-model.js.map +1 -0
  361. package/package.json +19 -40
  362. package/{cesium-post-process.js → src/cesium-post-process.js} +2 -0
  363. package/src/shaders/AnalogVideo.glsl +132 -0
  364. package/src/shaders/Beam.glsl +108 -0
  365. package/src/shaders/CloudsBlur.glsl +30 -0
  366. package/src/shaders/CloudsComposite.glsl +59 -0
  367. package/src/shaders/CloudsDensity.glsl +129 -0
  368. package/src/shaders/CloudsDepth.glsl +26 -0
  369. package/src/shaders/CloudsMarch.glsl +174 -0
  370. package/src/shaders/CloudsResolve.glsl +46 -0
  371. package/src/shaders/CloudsShadow.glsl +50 -0
  372. package/src/shaders/CloudsShadowMap.glsl +68 -0
  373. package/src/shaders/CloudsSlab.glsl +58 -0
  374. package/src/shaders/ColorIsolation.glsl +26 -0
  375. package/src/shaders/DepthEdges.glsl +81 -0
  376. package/src/shaders/DigitalVideo.glsl +65 -0
  377. package/src/shaders/DroneDisplay.glsl +337 -0
  378. package/src/shaders/Dufour.glsl +109 -0
  379. package/src/shaders/EyeFromDepth.glsl +36 -0
  380. package/src/shaders/Filmic.glsl +5 -0
  381. package/src/shaders/Fog.glsl +18 -0
  382. package/src/shaders/Frame.glsl +10 -0
  383. package/src/shaders/Hash.glsl +12 -0
  384. package/src/shaders/Height.glsl +25 -0
  385. package/src/shaders/Infrared.glsl +44 -0
  386. package/src/shaders/Jello.glsl +41 -0
  387. package/src/shaders/LensDistortion.glsl +24 -0
  388. package/src/shaders/Lightning.glsl +257 -0
  389. package/src/shaders/MotionBlur.glsl +71 -0
  390. package/src/shaders/MotionBlurVelocity.glsl +31 -0
  391. package/src/shaders/Noise.glsl +43 -0
  392. package/src/shaders/Normal.glsl +21 -0
  393. package/src/shaders/Phase.glsl +6 -0
  394. package/src/shaders/Precipitation.glsl +199 -0
  395. package/src/shaders/PrecipitationShaftBlur.glsl +21 -0
  396. package/src/shaders/PrecipitationShafts.glsl +84 -0
  397. package/src/shaders/PrecipitationWind.glsl +33 -0
  398. package/src/shaders/RainHaze.glsl +145 -0
  399. package/src/shaders/RainRings.glsl +64 -0
  400. package/src/shaders/SkyTable.glsl +23 -0
  401. package/src/shaders/SnowLine.glsl +97 -0
  402. package/src/shaders/SpeedLines.glsl +61 -0
  403. package/src/shaders/Spotlight.glsl +89 -0
  404. package/src/shaders/SpotlightBeam.glsl +49 -0
  405. package/src/shaders/SpotlightBeamBlur.glsl +27 -0
  406. package/src/shaders/SpotlightCone.glsl +37 -0
  407. package/src/shaders/Super8.glsl +90 -0
  408. package/src/shaders/Technicolor.glsl +30 -0
  409. package/src/shaders/TiltShift.glsl +34 -0
  410. package/src/shaders/Toy.glsl +46 -0
  411. package/src/shaders/ValleyFog.glsl +40 -0
  412. package/src/shaders/WeatherMap.glsl +33 -0
  413. package/src/shaders/WhiteModel.glsl +108 -0
  414. /package/{analog-video.js → src/analog-video.js} +0 -0
  415. /package/{blur.js → src/blur.js} +0 -0
  416. /package/{cloud-cover.js → src/cloud-cover.js} +0 -0
  417. /package/{cloud-map.js → src/cloud-map.js} +0 -0
  418. /package/{cloud-noise.js → src/cloud-noise.js} +0 -0
  419. /package/{clouds.js → src/clouds.js} +0 -0
  420. /package/{color-isolation.js → src/color-isolation.js} +0 -0
  421. /package/{depth-test.js → src/depth-test.js} +0 -0
  422. /package/{digital-video.js → src/digital-video.js} +0 -0
  423. /package/{drone-display.js → src/drone-display.js} +0 -0
  424. /package/{dufour.js → src/dufour.js} +0 -0
  425. /package/{effect.js → src/effect.js} +0 -0
  426. /package/{focus.js → src/focus.js} +0 -0
  427. /package/{frame-clock.js → src/frame-clock.js} +0 -0
  428. /package/{height.js → src/height.js} +0 -0
  429. /package/{infrared.js → src/infrared.js} +0 -0
  430. /package/{jello.js → src/jello.js} +0 -0
  431. /package/{lens-distortion.js → src/lens-distortion.js} +0 -0
  432. /package/{lightning.js → src/lightning.js} +0 -0
  433. /package/{local-frame.js → src/local-frame.js} +0 -0
  434. /package/{motion-blur.js → src/motion-blur.js} +0 -0
  435. /package/{precipitation.js → src/precipitation.js} +0 -0
  436. /package/{rain-rings.js → src/rain-rings.js} +0 -0
  437. /package/{shaders → src/shaders}/Alpenglow.js +0 -0
  438. /package/{shaders → src/shaders}/AnalogVideo.js +0 -0
  439. /package/{shaders → src/shaders}/Beam.js +0 -0
  440. /package/{shaders → src/shaders}/CloudsBlur.js +0 -0
  441. /package/{shaders → src/shaders}/CloudsComposite.js +0 -0
  442. /package/{shaders → src/shaders}/CloudsDensity.js +0 -0
  443. /package/{shaders → src/shaders}/CloudsDepth.js +0 -0
  444. /package/{shaders → src/shaders}/CloudsMarch.js +0 -0
  445. /package/{shaders → src/shaders}/CloudsResolve.js +0 -0
  446. /package/{shaders → src/shaders}/CloudsShadow.js +0 -0
  447. /package/{shaders → src/shaders}/CloudsShadowMap.js +0 -0
  448. /package/{shaders → src/shaders}/CloudsSlab.js +0 -0
  449. /package/{shaders → src/shaders}/ColorIsolation.js +0 -0
  450. /package/{shaders → src/shaders}/DepthEdges.js +0 -0
  451. /package/{shaders → src/shaders}/DigitalVideo.js +0 -0
  452. /package/{shaders → src/shaders}/DroneDisplay.js +0 -0
  453. /package/{shaders → src/shaders}/Dufour.js +0 -0
  454. /package/{shaders → src/shaders}/EyeFromDepth.js +0 -0
  455. /package/{shaders → src/shaders}/Filmic.js +0 -0
  456. /package/{shaders → src/shaders}/Flashlight.js +0 -0
  457. /package/{shaders → src/shaders}/Fog.js +0 -0
  458. /package/{shaders → src/shaders}/Frame.js +0 -0
  459. /package/{shaders → src/shaders}/Hash.js +0 -0
  460. /package/{shaders → src/shaders}/Height.js +0 -0
  461. /package/{shaders → src/shaders}/Infrared.js +0 -0
  462. /package/{shaders → src/shaders}/Jello.js +0 -0
  463. /package/{shaders → src/shaders}/LensDistortion.js +0 -0
  464. /package/{shaders → src/shaders}/Lightning.js +0 -0
  465. /package/{shaders → src/shaders}/MotionBlur.js +0 -0
  466. /package/{shaders → src/shaders}/MotionBlurVelocity.js +0 -0
  467. /package/{shaders → src/shaders}/Noise.js +0 -0
  468. /package/{shaders → src/shaders}/Normal.js +0 -0
  469. /package/{shaders → src/shaders}/Phase.js +0 -0
  470. /package/{shaders → src/shaders}/Precipitation.js +0 -0
  471. /package/{shaders → src/shaders}/PrecipitationShaftBlur.js +0 -0
  472. /package/{shaders → src/shaders}/PrecipitationShafts.js +0 -0
  473. /package/{shaders → src/shaders}/PrecipitationWind.js +0 -0
  474. /package/{shaders → src/shaders}/RainHaze.js +0 -0
  475. /package/{shaders → src/shaders}/RainRings.js +0 -0
  476. /package/{shaders → src/shaders}/Shockwave.js +0 -0
  477. /package/{shaders → src/shaders}/SkyTable.js +0 -0
  478. /package/{shaders → src/shaders}/SnowLine.js +0 -0
  479. /package/{shaders → src/shaders}/SpeedLines.js +0 -0
  480. /package/{shaders → src/shaders}/Spotlight.js +0 -0
  481. /package/{shaders → src/shaders}/SpotlightBeam.js +0 -0
  482. /package/{shaders → src/shaders}/SpotlightBeamBlur.js +0 -0
  483. /package/{shaders → src/shaders}/SpotlightCone.js +0 -0
  484. /package/{shaders → src/shaders}/Super8.js +0 -0
  485. /package/{shaders → src/shaders}/Technicolor.js +0 -0
  486. /package/{shaders → src/shaders}/TiltShift.js +0 -0
  487. /package/{shaders → src/shaders}/Toy.js +0 -0
  488. /package/{shaders → src/shaders}/Trails.js +0 -0
  489. /package/{shaders → src/shaders}/ValleyFog.js +0 -0
  490. /package/{shaders → src/shaders}/WeatherMap.js +0 -0
  491. /package/{shaders → src/shaders}/WhiteModel.js +0 -0
  492. /package/{snow-line.js → src/snow-line.js} +0 -0
  493. /package/{speed-lines.js → src/speed-lines.js} +0 -0
  494. /package/{spotlight.js → src/spotlight.js} +0 -0
  495. /package/{strikes.js → src/strikes.js} +0 -0
  496. /package/{super8.js → src/super8.js} +0 -0
  497. /package/{technicolor.js → src/technicolor.js} +0 -0
  498. /package/{tilt-shift.js → src/tilt-shift.js} +0 -0
  499. /package/{toy.js → src/toy.js} +0 -0
  500. /package/{valley-fog.js → src/valley-fog.js} +0 -0
  501. /package/{weather-map.js → src/weather-map.js} +0 -0
  502. /package/{white-model.js → src/white-model.js} +0 -0
@@ -0,0 +1,222 @@
1
+ // The clouds' noise, made once on the CPU: a cube of voxels that tiles in every direction, for
2
+ // CloudsMarch.glsl to read instead of computing noise for each sample. Red is the base shape,
3
+ // Perlin-Worley noise: billows of inverted Worley noise, broken up by gradient noise, as in
4
+ // Schneider's "The Real-Time Volumetric Cloudscapes of Horizon Zero Dawn" (2015); green and blue
5
+ // are inverted Worley noise at twice and four times its frequency, the details that erode the
6
+ // edges. And a square of texels that tiles over the clouds' map, for CloudsDensity.glsl to read
7
+ // once rather than compute noise at each sample: red and green jitter the map's lookup, blue varies
8
+ // its coverage. Each channel is stretched over the bytes' range.
9
+ import { Math as CesiumMath } from '@cesium/core';
10
+ // cells of the base shape across the cube
11
+ const BASE_CELLS = 4;
12
+ // the map noise's square spans this many cells of the map, its jitter varying over this many of
13
+ // them, its coverage over this many: whole periods across the square, for it to tile
14
+ const MAP_TILE_CELLS = 64;
15
+ const JITTER_CELLS = 2;
16
+ const COVERAGE_CELLS = 8;
17
+ /**
18
+ * A hash of a lattice point, 0 to 1.
19
+ * @param {number} x
20
+ * @param {number} y
21
+ * @param {number} z
22
+ * @param {number} seed
23
+ */
24
+ function hash(x, y, z, seed) {
25
+ let h = Math.imul(x, 374761393) ^ Math.imul(y, 668265263) ^ Math.imul(z, 1440662683) ^ Math.imul(seed, 2246822519);
26
+ h = Math.imul(h ^ (h >>> 13), 1274126177);
27
+ h ^= h >>> 16;
28
+ return (h >>> 0) / 4294967296;
29
+ }
30
+ /**
31
+ * @param {number} a
32
+ * @param {number} n
33
+ */
34
+ function wrap(a, n) {
35
+ return ((a % n) + n) % n;
36
+ }
37
+ /**
38
+ * Gradient noise that repeats every `period` cells, about -1 to 1, with the random directions of
39
+ * its lattice points computed once.
40
+ * @param {number} period
41
+ * @param {number} seed
42
+ */
43
+ function perlin(period, seed) {
44
+ const gradients = new Float32Array(period ** 3 * 3);
45
+ for (let c = 0; c < period ** 3; c++) {
46
+ const cx = c % period;
47
+ const cy = Math.floor(c / period) % period;
48
+ const cz = Math.floor(c / period ** 2);
49
+ const theta = CesiumMath.TWO_PI * hash(cx, cy, cz, seed);
50
+ const cosPhi = 2 * hash(cx, cy, cz, seed + 1) - 1;
51
+ const sinPhi = Math.sqrt(1 - cosPhi * cosPhi);
52
+ gradients.set([sinPhi * Math.cos(theta), sinPhi * Math.sin(theta), cosPhi], 3 * c);
53
+ }
54
+ const fade = (/** @type {number} */ t) => t * t * t * (t * (t * 6 - 15) + 10);
55
+ // the corners of a voxel's cell are within one cell of it, so their wrapped index is a lookup
56
+ const wrapped = Int32Array.from({ length: period + 1 }, (_, i) => wrap(i, period));
57
+ /**
58
+ * @param {number} x in cells
59
+ * @param {number} y
60
+ * @param {number} z
61
+ */
62
+ return (x, y, z) => {
63
+ const ix = Math.floor(x);
64
+ const iy = Math.floor(y);
65
+ const iz = Math.floor(z);
66
+ const fx = x - ix;
67
+ const fy = y - iy;
68
+ const fz = z - iz;
69
+ const x0 = wrapped[ix];
70
+ const x1 = wrapped[ix + 1];
71
+ const y0 = period * wrapped[iy];
72
+ const y1 = period * wrapped[iy + 1];
73
+ const z0 = period * period * wrapped[iz];
74
+ const z1 = period * period * wrapped[iz + 1];
75
+ const dot = (/** @type {number} */ c, /** @type {number} */ dx, /** @type {number} */ dy, /** @type {number} */ dz) => gradients[3 * c] * dx + gradients[3 * c + 1] * dy + gradients[3 * c + 2] * dz;
76
+ const u = fade(fx);
77
+ const v = fade(fy);
78
+ const w = fade(fz);
79
+ const a = dot(x0 + y0 + z0, fx, fy, fz);
80
+ const b = dot(x1 + y0 + z0, fx - 1, fy, fz);
81
+ const c = dot(x0 + y1 + z0, fx, fy - 1, fz);
82
+ const d = dot(x1 + y1 + z0, fx - 1, fy - 1, fz);
83
+ const e = dot(x0 + y0 + z1, fx, fy, fz - 1);
84
+ const f = dot(x1 + y0 + z1, fx - 1, fy, fz - 1);
85
+ const g = dot(x0 + y1 + z1, fx, fy - 1, fz - 1);
86
+ const h = dot(x1 + y1 + z1, fx - 1, fy - 1, fz - 1);
87
+ const lower = a + (b - a) * u + (c + (d - c) * u - a - (b - a) * u) * v;
88
+ const upper = e + (f - e) * u + (g + (h - g) * u - e - (f - e) * u) * v;
89
+ return 2 * (lower + (upper - lower) * w);
90
+ };
91
+ }
92
+ /**
93
+ * The distance to the nearest of one random point in each of `cells` cells across, repeating
94
+ * every `cells`, 0 to about 1, in cells, with the points computed once.
95
+ * @param {number} cells
96
+ * @param {number} seed
97
+ */
98
+ function worley(cells, seed) {
99
+ const points = new Float32Array(cells ** 3 * 3);
100
+ for (let c = 0; c < cells ** 3; c++) {
101
+ const cx = c % cells;
102
+ const cy = Math.floor(c / cells) % cells;
103
+ const cz = Math.floor(c / cells ** 2);
104
+ points.set([hash(cx, cy, cz, seed), hash(cx, cy, cz, seed + 1), hash(cx, cy, cz, seed + 2)], 3 * c);
105
+ }
106
+ // the cells around a voxel are within one of its cell, so their wrapped index is a lookup
107
+ const wrapped = Int32Array.from({ length: cells + 2 }, (_, i) => wrap(i - 1, cells));
108
+ /**
109
+ * @param {number} x in cells
110
+ * @param {number} y
111
+ * @param {number} z
112
+ */
113
+ return (x, y, z) => {
114
+ const ix = Math.floor(x);
115
+ const iy = Math.floor(y);
116
+ const iz = Math.floor(z);
117
+ let nearest = Infinity;
118
+ for (let dz = -1; dz <= 1; dz++) {
119
+ const wz = cells * cells * wrapped[iz + dz + 1];
120
+ for (let dy = -1; dy <= 1; dy++) {
121
+ const wy = wz + cells * wrapped[iy + dy + 1];
122
+ for (let dx = -1; dx <= 1; dx++) {
123
+ const p = 3 * (wy + wrapped[ix + dx + 1]);
124
+ const px = ix + dx + points[p] - x;
125
+ const py = iy + dy + points[p + 1] - y;
126
+ const pz = iz + dz + points[p + 2] - z;
127
+ const d = px * px + py * py + pz * pz;
128
+ if (d < nearest) {
129
+ nearest = d;
130
+ }
131
+ }
132
+ }
133
+ }
134
+ return nearest < 1 ? Math.sqrt(nearest) : 1;
135
+ };
136
+ }
137
+ /**
138
+ * The noise as RGBA bytes, x fastest, then y, then z.
139
+ * @param {number} [size] voxels along each side
140
+ */
141
+ export default function createCloudNoise(size = 64) {
142
+ const channels = [new Float32Array(size ** 3), new Float32Array(size ** 3), new Float32Array(size ** 3)];
143
+ const gradients = [0, 1, 2].map((octave) => perlin(BASE_CELLS * 2 ** octave, 10 + octave));
144
+ const [billowCells, shapeDetail, fineShapeDetail, detail, fineDetail] = [
145
+ worley(BASE_CELLS, 20),
146
+ worley(2 * BASE_CELLS, 30),
147
+ worley(4 * BASE_CELLS, 40),
148
+ worley(4 * BASE_CELLS, 50),
149
+ worley(8 * BASE_CELLS, 60),
150
+ ];
151
+ let i = 0;
152
+ for (let z = 0; z < size; z++) {
153
+ for (let y = 0; y < size; y++) {
154
+ for (let x = 0; x < size; x++) {
155
+ // the voxel's center, in the base shape's cells
156
+ const bx = ((x + 0.5) / size) * BASE_CELLS;
157
+ const by = ((y + 0.5) / size) * BASE_CELLS;
158
+ const bz = ((z + 0.5) / size) * BASE_CELLS;
159
+ let gradient = 0;
160
+ for (let octave = 0; octave < 3; octave++) {
161
+ const scale = 2 ** octave;
162
+ gradient += gradients[octave](bx * scale, by * scale, bz * scale) / scale;
163
+ }
164
+ const billows = 1 - billowCells(bx, by, bz);
165
+ // the billows, raised where the gradient noise is high
166
+ channels[0][i] = billows + (0.5 + 0.35 * gradient) * (1 - billows);
167
+ channels[1][i] = 1 - (0.7 * shapeDetail(2 * bx, 2 * by, 2 * bz) + 0.3 * fineShapeDetail(4 * bx, 4 * by, 4 * bz));
168
+ channels[2][i] = 1 - (0.7 * detail(4 * bx, 4 * by, 4 * bz) + 0.3 * fineDetail(8 * bx, 8 * by, 8 * bz));
169
+ i++;
170
+ }
171
+ }
172
+ }
173
+ return toBytes(channels);
174
+ }
175
+ /**
176
+ * Channels of values as RGBA bytes, each stretched over the bytes' range, alpha opaque.
177
+ * @param {Float32Array[]} channels
178
+ */
179
+ function toBytes(channels) {
180
+ const bytes = new Uint8Array(channels[0].length * 4);
181
+ channels.forEach((values, channel) => {
182
+ let min = Infinity;
183
+ let max = -Infinity;
184
+ for (const value of values) {
185
+ min = Math.min(min, value);
186
+ max = Math.max(max, value);
187
+ }
188
+ for (let j = 0; j < values.length; j++) {
189
+ bytes[4 * j + channel] = Math.round((255 * (values[j] - min)) / (max - min));
190
+ }
191
+ });
192
+ for (let j = 3; j < bytes.length; j += 4) {
193
+ bytes[j] = 255;
194
+ }
195
+ return bytes;
196
+ }
197
+ /**
198
+ * The noise over the clouds' map as RGBA bytes, x fastest: a square that tiles, MAP_TILE_CELLS
199
+ * cells of the map across, with gradient noise over JITTER_CELLS in red and green and over
200
+ * COVERAGE_CELLS in blue.
201
+ * @param {number} [size] texels along each side
202
+ */
203
+ export function createMapNoise(size = 256) {
204
+ const noises = [
205
+ [perlin(MAP_TILE_CELLS / JITTER_CELLS, 70), JITTER_CELLS],
206
+ [perlin(MAP_TILE_CELLS / JITTER_CELLS, 80), JITTER_CELLS],
207
+ [perlin(MAP_TILE_CELLS / COVERAGE_CELLS, 90), COVERAGE_CELLS],
208
+ ];
209
+ const channels = noises.map(() => new Float32Array(size * size));
210
+ for (let y = 0; y < size; y++) {
211
+ for (let x = 0; x < size; x++) {
212
+ // the texel's center, in the map's cells
213
+ const cx = ((x + 0.5) / size) * MAP_TILE_CELLS;
214
+ const cy = ((y + 0.5) / size) * MAP_TILE_CELLS;
215
+ noises.forEach(([noise, cells], channel) => {
216
+ channels[channel][y * size + x] = /** @type {Function} */ (noise)(cx / /** @type {number} */ (cells), cy / /** @type {number} */ (cells), 0);
217
+ });
218
+ }
219
+ }
220
+ return toBytes(channels);
221
+ }
222
+ //# sourceMappingURL=cloud-noise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-noise.js","sourceRoot":"","sources":["../src/cloud-noise.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,275 @@
1
+ import { Cartesian3, Matrix4 } from '@cesium/core';
2
+ import { PostProcessStageComposite } from '@cesium/engine';
3
+ import Effect from './effect.js';
4
+ import WeatherMap from './weather-map.js';
5
+ /**
6
+ * Clouds from a map of the rain: a slab above the cloud base where the map
7
+ * has rain, a flat layer over drizzle and towers up to the cloud top over the
8
+ * heaviest rain, eroded by noise, lit by the sun with a silver lining toward
9
+ * it and by the sky, brighter at their top. Seen from far above they are
10
+ * cloud tops; the camera flies into them as it comes down. Activated before
11
+ * Precipitation, the rain, its shafts and its haze are drawn over them, so
12
+ * from below the cloud base they are seen through the rain. They are
13
+ * raymarched at a quarter of
14
+ * the resolution, accumulated over the frames, and upscaled by the scene's
15
+ * depth. Their noise drifts with the wind by the scene's clock, and with a
16
+ * drift by the real time; after a change, the scene renders for half a second
17
+ * for them to settle, then rests, unless they drift.
18
+ * Without a map, there are no clouds.
19
+ */
20
+ export default class Clouds extends Effect {
21
+ cloudBase_: number;
22
+ cloudTop_: number;
23
+ density_: number;
24
+ wind_: number;
25
+ drift_: number;
26
+ weatherMap_: WeatherMap;
27
+ /** @type {import('./weather-map.js').WeatherMapOptions | undefined} */
28
+ map_: import('./weather-map.js').WeatherMapOptions | undefined;
29
+ /** @type {import('./weather-map.js').WeatherMapOptions | undefined} */
30
+ nextMap_: import('./weather-map.js').WeatherMapOptions | undefined;
31
+ localDensity_: number;
32
+ /** @type {any} */
33
+ noiseTexture_: any;
34
+ /** @type {any} */
35
+ mapNoiseTexture_: any;
36
+ frame_: number;
37
+ /** @type {any} */
38
+ history_: any;
39
+ /** @type {any} */
40
+ historyFramebuffer_: any;
41
+ /** @type {any} */
42
+ copy_: any;
43
+ /** @type {any} */
44
+ copySource_: any;
45
+ historyWeight_: number;
46
+ previousViewProjection_: Matrix4;
47
+ reprojection_: Matrix4;
48
+ lastView_: Matrix4;
49
+ lastTime_: {
50
+ dayNumber: number;
51
+ secondsOfDay: number;
52
+ };
53
+ changed_: boolean;
54
+ settling_: boolean;
55
+ settleUntil_: number;
56
+ /** @type {any} */
57
+ shadow_: any;
58
+ /** @type {any} */
59
+ shadowFramebuffer_: any;
60
+ /** @type {any} */
61
+ shadowCommand_: any;
62
+ shadowCenter_: Cartesian3;
63
+ shadowExtent_: number;
64
+ shadowTime_: {
65
+ dayNumber: number;
66
+ secondsOfDay: number;
67
+ };
68
+ shadowDrawnAt_: number;
69
+ shadowChanged_: boolean;
70
+ /** @type {import('./cloud-cover.js').CloudShadow} */
71
+ shadowSource_: import('./cloud-cover.js').CloudShadow;
72
+ onPreRender_: () => void;
73
+ onPostRender_: () => void;
74
+ /**
75
+ * @param {import('@cesium/engine').CesiumWidget} viewer
76
+ * @param {{map?: import('./weather-map.js').WeatherMapOptions, cloudBase?: number, cloudTop?: number, density?: number, wind?: number, drift?: number}} [options]
77
+ */
78
+ constructor(viewer: import('@cesium/engine').CesiumWidget, options?: {
79
+ map?: import('./weather-map.js').WeatherMapOptions;
80
+ cloudBase?: number;
81
+ cloudTop?: number;
82
+ density?: number;
83
+ wind?: number;
84
+ drift?: number;
85
+ });
86
+ /**
87
+ * @override
88
+ * @param {import('@cesium/engine').Scene} scene
89
+ */
90
+ createStage_(scene: import('@cesium/engine').Scene): PostProcessStageComposite;
91
+ /**
92
+ * The top of the tallest cloud the map makes, as CloudsDensity.glsl's cloudDensity makes the
93
+ * clouds of its tallest type, over its heaviest rain: from above, the march starts there rather than at the cloud
94
+ * top, so that its steps are in the clouds rather than in the empty air over them.
95
+ */
96
+ slabTop_(): number;
97
+ /**
98
+ * The direction the wind blows toward, in world coordinates: the east at the map's center, fixed
99
+ * for the map rather than turning with the camera, which would shift the drifted noise.
100
+ */
101
+ windDirection_(): Cartesian3;
102
+ /**
103
+ * How far the wind has carried the noise by the scene's clock, still while it is paused, and the
104
+ * drift by the real time, in world coordinates, in double precision and wrapped at WIND_PERIOD.
105
+ * @param {number} [seconds] the real time
106
+ */
107
+ windOffset_(seconds?: number): Cartesian3;
108
+ /**
109
+ * The uniforms of CloudsSlab.glsl, with Height.glsl's it needs.
110
+ * @param {import('@cesium/engine').Scene} scene
111
+ */
112
+ slabUniforms_(scene: import('@cesium/engine').Scene): {
113
+ cameraHeight: () => number;
114
+ up: () => Cartesian3;
115
+ radius: () => number;
116
+ cloudBase: () => number;
117
+ slabTop: () => number;
118
+ };
119
+ /**
120
+ * The uniforms of CloudsDensity.glsl, with WeatherMap.glsl's it needs.
121
+ * @param {any} context the scene's context
122
+ */
123
+ densityUniforms_(context: any): {
124
+ map: () => any;
125
+ nextMap: () => any;
126
+ mapBlend: () => number;
127
+ mapBounds: () => import("@cesium/core").Cartesian4;
128
+ cloudNoise: () => any;
129
+ mapNoise: () => any;
130
+ cloudTop: () => number;
131
+ density: () => number;
132
+ windDirection: () => Cartesian3;
133
+ windOffset: () => Cartesian3;
134
+ };
135
+ /**
136
+ * The uniforms of CloudsShadow.glsl, for the stages that read the shadow map.
137
+ * @param {import('@cesium/engine').Scene} scene
138
+ */
139
+ shadowUniforms_(scene: import('@cesium/engine').Scene): {
140
+ shadowMap: () => any;
141
+ shadowCenter: () => Cartesian3;
142
+ shadowExtent: () => number;
143
+ shadowBase: () => number;
144
+ shadowTop: () => number;
145
+ };
146
+ /**
147
+ * The shadow map's side, in meters, for a camera this high.
148
+ * @param {number} height meters
149
+ */
150
+ shadowExtentFor_(height: number): number;
151
+ /**
152
+ * Whether the shadow map, drawn around a ground point at a time, is to be drawn again.
153
+ * @param {Cartesian3} ground the ground point under the camera, in world coordinates
154
+ * @param {{dayNumber: number, secondsOfDay: number}} time the clock's
155
+ * @param {number} [extent] the side it would have now, in meters
156
+ */
157
+ shadowStale_(ground: Cartesian3, time: {
158
+ dayNumber: number;
159
+ secondsOfDay: number;
160
+ }, extent?: number): boolean;
161
+ /**
162
+ * Whether the shadow map is to be drawn again now: stale, and not drawn in the last
163
+ * SHADOW_INTERVAL.
164
+ * @param {Cartesian3} ground
165
+ * @param {{dayNumber: number, secondsOfDay: number}} time
166
+ * @param {number} now milliseconds
167
+ * @param {number} [extent] the side it would have now, in meters
168
+ */
169
+ shadowDue_(ground: Cartesian3, time: {
170
+ dayNumber: number;
171
+ secondsOfDay: number;
172
+ }, now: number, extent?: number): boolean;
173
+ /**
174
+ * @param {Cartesian3} ground
175
+ * @param {{dayNumber: number, secondsOfDay: number}} time
176
+ * @param {number} [now] milliseconds
177
+ * @param {number} [extent] its side, in meters
178
+ */
179
+ shadowDrawn_(ground: Cartesian3, time: {
180
+ dayNumber: number;
181
+ secondsOfDay: number;
182
+ }, now?: number, extent?: number): void;
183
+ /**
184
+ * Draws the shadow map into its own texture before the stages run, when it is due: the
185
+ * stages' textures are sized after the screen. A redraw put off renders after the change
186
+ * settles, in the frames the accumulation asks for.
187
+ * @param {import('@cesium/engine').Scene} scene
188
+ */
189
+ drawShadow_(scene: import('@cesium/engine').Scene): void;
190
+ destroyShadow_(): void;
191
+ /**
192
+ * Keeps this frame's accumulated clouds for the next one, drawn into the history at the size of
193
+ * the resolve's output, made again when it changes.
194
+ * @param {import('@cesium/engine').Scene} scene
195
+ */
196
+ keepHistory_(scene: import('@cesium/engine').Scene): void;
197
+ destroyHistory_(): void;
198
+ /**
199
+ * The noise's texture, repeating in every direction, with its mipmaps for the far clouds.
200
+ * @param {any} context the scene's context
201
+ */
202
+ createNoiseTexture_(context: any): any;
203
+ /**
204
+ * The noise over the clouds' map, repeating.
205
+ * @param {any} context the scene's context
206
+ */
207
+ createMapNoiseTexture_(context: any): any;
208
+ /**
209
+ * @override
210
+ * @param {import('@cesium/engine').Scene} scene
211
+ */
212
+ activated_(scene: import('@cesium/engine').Scene): void;
213
+ /**
214
+ * @override
215
+ * @param {import('@cesium/engine').Scene} scene
216
+ */
217
+ deactivating_(scene: import('@cesium/engine').Scene): void;
218
+ /**
219
+ * Where it rains, or undefined for no clouds: an image whose red channel
220
+ * is the local intensity, 0 to 1, over a rectangle of longitudes and
221
+ * latitudes, north up, as Precipitation's map. Set it again after drawing
222
+ * on the image, which is read then.
223
+ */
224
+ get map(): import("./weather-map.js").WeatherMapOptions | undefined;
225
+ set map(value: import("./weather-map.js").WeatherMapOptions | undefined);
226
+ /**
227
+ * The map the clouds crossfade to by the map blend, over the same
228
+ * rectangle, as the radar's next hour, or undefined for none.
229
+ */
230
+ get nextMap(): import("./weather-map.js").WeatherMapOptions | undefined;
231
+ set nextMap(value: import("./weather-map.js").WeatherMapOptions | undefined);
232
+ /**
233
+ * From the map, 0, to the next map, 1.
234
+ */
235
+ get mapBlend(): number;
236
+ set mapBlend(value: number);
237
+ /**
238
+ * Altitude of the cloud base, in meters above the ellipsoid, as
239
+ * Precipitation's.
240
+ */
241
+ get cloudBase(): number;
242
+ set cloudBase(value: number);
243
+ /**
244
+ * Altitude of the highest cloud tops, over the heaviest rain, in meters
245
+ * above the ellipsoid; over drizzle the clouds are 1500 m thick.
246
+ */
247
+ get cloudTop(): number;
248
+ set cloudTop(value: number);
249
+ /**
250
+ * Scale of the clouds' opacity: 1 for solid clouds over heavy rain.
251
+ */
252
+ get density(): number;
253
+ set density(value: number);
254
+ /**
255
+ * Speed of the wind that carries the clouds' noise toward the east, in m/s,
256
+ * by the scene's clock: a time-lapse while it runs faster, still while it
257
+ * is paused.
258
+ */
259
+ get wind(): number;
260
+ set wind(value: number);
261
+ /**
262
+ * Speed of the drift of the clouds' noise toward the east, in m/s, by the
263
+ * real time rather than the scene's clock: the clouds move while the clock
264
+ * is paused, and the scene renders all the time while they are active. 0,
265
+ * by default, for none.
266
+ */
267
+ get drift(): number;
268
+ set drift(value: number);
269
+ /**
270
+ * The map's intensity at the camera when it is inside the clouds, 0 to 1,
271
+ * read each frame while active; 0 outside them.
272
+ */
273
+ get localDensity(): number;
274
+ }
275
+ //# sourceMappingURL=clouds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clouds.d.ts","sourceRoot":"","sources":["../src/clouds.js"],"names":[],"mappings":"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"}