@geoblocks/cesium-post-process 0.3.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 (505) hide show
  1. package/README.md +6 -1
  2. package/dist/analog-video.d.ts +71 -0
  3. package/dist/analog-video.d.ts.map +1 -0
  4. package/dist/analog-video.js +128 -0
  5. package/dist/analog-video.js.map +1 -0
  6. package/dist/blur.d.ts +13 -0
  7. package/dist/blur.d.ts.map +1 -0
  8. package/dist/blur.js +36 -0
  9. package/dist/blur.js.map +1 -0
  10. package/dist/cesium-post-process.d.ts +30 -0
  11. package/dist/cesium-post-process.d.ts.map +1 -0
  12. package/dist/cesium-post-process.js +31 -0
  13. package/dist/cesium-post-process.js.map +1 -0
  14. package/dist/cloud-cover.d.ts +28 -0
  15. package/dist/cloud-cover.d.ts.map +1 -0
  16. package/dist/cloud-cover.js +45 -0
  17. package/dist/cloud-cover.js.map +1 -0
  18. package/dist/cloud-map.d.ts +7 -0
  19. package/dist/cloud-map.d.ts.map +1 -0
  20. package/dist/cloud-map.js +118 -0
  21. package/dist/cloud-map.js.map +1 -0
  22. package/dist/cloud-noise.d.ts +13 -0
  23. package/dist/cloud-noise.d.ts.map +1 -0
  24. package/dist/cloud-noise.js +222 -0
  25. package/dist/cloud-noise.js.map +1 -0
  26. package/dist/clouds.d.ts +275 -0
  27. package/dist/clouds.d.ts.map +1 -0
  28. package/dist/clouds.js +642 -0
  29. package/dist/clouds.js.map +1 -0
  30. package/dist/color-isolation.d.ts +38 -0
  31. package/dist/color-isolation.d.ts.map +1 -0
  32. package/dist/color-isolation.js +61 -0
  33. package/dist/color-isolation.js.map +1 -0
  34. package/dist/depth-test.d.ts +9 -0
  35. package/dist/depth-test.d.ts.map +1 -0
  36. package/dist/depth-test.js +35 -0
  37. package/dist/depth-test.js.map +1 -0
  38. package/dist/digital-video.d.ts +47 -0
  39. package/dist/digital-video.d.ts.map +1 -0
  40. package/dist/digital-video.js +102 -0
  41. package/dist/digital-video.js.map +1 -0
  42. package/dist/drone-display.d.ts +70 -0
  43. package/dist/drone-display.d.ts.map +1 -0
  44. package/dist/drone-display.js +158 -0
  45. package/dist/drone-display.js.map +1 -0
  46. package/dist/dufour.d.ts +108 -0
  47. package/dist/dufour.d.ts.map +1 -0
  48. package/dist/dufour.js +201 -0
  49. package/dist/dufour.js.map +1 -0
  50. package/dist/effect.d.ts +33 -0
  51. package/dist/effect.d.ts.map +1 -0
  52. package/dist/effect.js +60 -0
  53. package/dist/effect.js.map +1 -0
  54. package/dist/focus.d.ts +11 -0
  55. package/dist/focus.d.ts.map +1 -0
  56. package/dist/focus.js +23 -0
  57. package/dist/focus.js.map +1 -0
  58. package/dist/frame-clock.d.ts +11 -0
  59. package/dist/frame-clock.d.ts.map +1 -0
  60. package/dist/frame-clock.js +57 -0
  61. package/dist/frame-clock.js.map +1 -0
  62. package/dist/height.d.ts +12 -0
  63. package/dist/height.d.ts.map +1 -0
  64. package/dist/height.js +22 -0
  65. package/dist/height.js.map +1 -0
  66. package/dist/infrared.d.ts +23 -0
  67. package/dist/infrared.d.ts.map +1 -0
  68. package/dist/infrared.js +36 -0
  69. package/dist/infrared.js.map +1 -0
  70. package/dist/jello.d.ts +52 -0
  71. package/dist/jello.d.ts.map +1 -0
  72. package/dist/jello.js +136 -0
  73. package/dist/jello.js.map +1 -0
  74. package/dist/lens-distortion.d.ts +33 -0
  75. package/dist/lens-distortion.d.ts.map +1 -0
  76. package/dist/lens-distortion.js +61 -0
  77. package/dist/lens-distortion.js.map +1 -0
  78. package/dist/lightning.d.ts +124 -0
  79. package/dist/lightning.d.ts.map +1 -0
  80. package/dist/lightning.js +301 -0
  81. package/dist/lightning.js.map +1 -0
  82. package/dist/local-frame.d.ts +38 -0
  83. package/dist/local-frame.d.ts.map +1 -0
  84. package/dist/local-frame.js +52 -0
  85. package/dist/local-frame.js.map +1 -0
  86. package/dist/motion-blur.d.ts +50 -0
  87. package/dist/motion-blur.d.ts.map +1 -0
  88. package/dist/motion-blur.js +108 -0
  89. package/dist/motion-blur.js.map +1 -0
  90. package/dist/precipitation.d.ts +146 -0
  91. package/dist/precipitation.d.ts.map +1 -0
  92. package/dist/precipitation.js +454 -0
  93. package/dist/precipitation.js.map +1 -0
  94. package/dist/rain-rings.d.ts +100 -0
  95. package/dist/rain-rings.d.ts.map +1 -0
  96. package/dist/rain-rings.js +181 -0
  97. package/dist/rain-rings.js.map +1 -0
  98. package/dist/shaders/Alpenglow.d.ts +3 -0
  99. package/dist/shaders/Alpenglow.d.ts.map +1 -0
  100. package/dist/shaders/Alpenglow.js +3 -0
  101. package/dist/shaders/Alpenglow.js.map +1 -0
  102. package/dist/shaders/AnalogVideo.d.ts +3 -0
  103. package/dist/shaders/AnalogVideo.d.ts.map +1 -0
  104. package/dist/shaders/AnalogVideo.js +3 -0
  105. package/dist/shaders/AnalogVideo.js.map +1 -0
  106. package/dist/shaders/Beam.d.ts +3 -0
  107. package/dist/shaders/Beam.d.ts.map +1 -0
  108. package/dist/shaders/Beam.js +3 -0
  109. package/dist/shaders/Beam.js.map +1 -0
  110. package/dist/shaders/CloudsBlur.d.ts +3 -0
  111. package/dist/shaders/CloudsBlur.d.ts.map +1 -0
  112. package/dist/shaders/CloudsBlur.js +3 -0
  113. package/dist/shaders/CloudsBlur.js.map +1 -0
  114. package/dist/shaders/CloudsComposite.d.ts +3 -0
  115. package/dist/shaders/CloudsComposite.d.ts.map +1 -0
  116. package/dist/shaders/CloudsComposite.js +3 -0
  117. package/dist/shaders/CloudsComposite.js.map +1 -0
  118. package/dist/shaders/CloudsDensity.d.ts +3 -0
  119. package/dist/shaders/CloudsDensity.d.ts.map +1 -0
  120. package/dist/shaders/CloudsDensity.js +3 -0
  121. package/dist/shaders/CloudsDensity.js.map +1 -0
  122. package/dist/shaders/CloudsDepth.d.ts +3 -0
  123. package/dist/shaders/CloudsDepth.d.ts.map +1 -0
  124. package/dist/shaders/CloudsDepth.js +3 -0
  125. package/dist/shaders/CloudsDepth.js.map +1 -0
  126. package/dist/shaders/CloudsMarch.d.ts +3 -0
  127. package/dist/shaders/CloudsMarch.d.ts.map +1 -0
  128. package/dist/shaders/CloudsMarch.js +3 -0
  129. package/dist/shaders/CloudsMarch.js.map +1 -0
  130. package/dist/shaders/CloudsResolve.d.ts +3 -0
  131. package/dist/shaders/CloudsResolve.d.ts.map +1 -0
  132. package/dist/shaders/CloudsResolve.js +3 -0
  133. package/dist/shaders/CloudsResolve.js.map +1 -0
  134. package/dist/shaders/CloudsShadow.d.ts +3 -0
  135. package/dist/shaders/CloudsShadow.d.ts.map +1 -0
  136. package/dist/shaders/CloudsShadow.js +3 -0
  137. package/dist/shaders/CloudsShadow.js.map +1 -0
  138. package/dist/shaders/CloudsShadowMap.d.ts +3 -0
  139. package/dist/shaders/CloudsShadowMap.d.ts.map +1 -0
  140. package/dist/shaders/CloudsShadowMap.js +3 -0
  141. package/dist/shaders/CloudsShadowMap.js.map +1 -0
  142. package/dist/shaders/CloudsSlab.d.ts +3 -0
  143. package/dist/shaders/CloudsSlab.d.ts.map +1 -0
  144. package/dist/shaders/CloudsSlab.js +3 -0
  145. package/dist/shaders/CloudsSlab.js.map +1 -0
  146. package/dist/shaders/ColorIsolation.d.ts +3 -0
  147. package/dist/shaders/ColorIsolation.d.ts.map +1 -0
  148. package/dist/shaders/ColorIsolation.js +3 -0
  149. package/dist/shaders/ColorIsolation.js.map +1 -0
  150. package/dist/shaders/DepthEdges.d.ts +3 -0
  151. package/dist/shaders/DepthEdges.d.ts.map +1 -0
  152. package/dist/shaders/DepthEdges.js +3 -0
  153. package/dist/shaders/DepthEdges.js.map +1 -0
  154. package/dist/shaders/DigitalVideo.d.ts +3 -0
  155. package/dist/shaders/DigitalVideo.d.ts.map +1 -0
  156. package/dist/shaders/DigitalVideo.js +3 -0
  157. package/dist/shaders/DigitalVideo.js.map +1 -0
  158. package/dist/shaders/DroneDisplay.d.ts +3 -0
  159. package/dist/shaders/DroneDisplay.d.ts.map +1 -0
  160. package/dist/shaders/DroneDisplay.js +3 -0
  161. package/dist/shaders/DroneDisplay.js.map +1 -0
  162. package/dist/shaders/Dufour.d.ts +3 -0
  163. package/dist/shaders/Dufour.d.ts.map +1 -0
  164. package/dist/shaders/Dufour.js +3 -0
  165. package/dist/shaders/Dufour.js.map +1 -0
  166. package/dist/shaders/EyeFromDepth.d.ts +3 -0
  167. package/dist/shaders/EyeFromDepth.d.ts.map +1 -0
  168. package/dist/shaders/EyeFromDepth.js +3 -0
  169. package/dist/shaders/EyeFromDepth.js.map +1 -0
  170. package/dist/shaders/Filmic.d.ts +3 -0
  171. package/dist/shaders/Filmic.d.ts.map +1 -0
  172. package/dist/shaders/Filmic.js +3 -0
  173. package/dist/shaders/Filmic.js.map +1 -0
  174. package/dist/shaders/Flashlight.d.ts +3 -0
  175. package/dist/shaders/Flashlight.d.ts.map +1 -0
  176. package/dist/shaders/Flashlight.js +3 -0
  177. package/dist/shaders/Flashlight.js.map +1 -0
  178. package/dist/shaders/Fog.d.ts +3 -0
  179. package/dist/shaders/Fog.d.ts.map +1 -0
  180. package/dist/shaders/Fog.js +3 -0
  181. package/dist/shaders/Fog.js.map +1 -0
  182. package/dist/shaders/Frame.d.ts +3 -0
  183. package/dist/shaders/Frame.d.ts.map +1 -0
  184. package/dist/shaders/Frame.js +3 -0
  185. package/dist/shaders/Frame.js.map +1 -0
  186. package/dist/shaders/Hash.d.ts +3 -0
  187. package/dist/shaders/Hash.d.ts.map +1 -0
  188. package/dist/shaders/Hash.js +3 -0
  189. package/dist/shaders/Hash.js.map +1 -0
  190. package/dist/shaders/Height.d.ts +3 -0
  191. package/dist/shaders/Height.d.ts.map +1 -0
  192. package/dist/shaders/Height.js +3 -0
  193. package/dist/shaders/Height.js.map +1 -0
  194. package/dist/shaders/Infrared.d.ts +3 -0
  195. package/dist/shaders/Infrared.d.ts.map +1 -0
  196. package/dist/shaders/Infrared.js +3 -0
  197. package/dist/shaders/Infrared.js.map +1 -0
  198. package/dist/shaders/Jello.d.ts +3 -0
  199. package/dist/shaders/Jello.d.ts.map +1 -0
  200. package/dist/shaders/Jello.js +3 -0
  201. package/dist/shaders/Jello.js.map +1 -0
  202. package/dist/shaders/LensDistortion.d.ts +3 -0
  203. package/dist/shaders/LensDistortion.d.ts.map +1 -0
  204. package/dist/shaders/LensDistortion.js +3 -0
  205. package/dist/shaders/LensDistortion.js.map +1 -0
  206. package/dist/shaders/Lightning.d.ts +3 -0
  207. package/dist/shaders/Lightning.d.ts.map +1 -0
  208. package/dist/shaders/Lightning.js +3 -0
  209. package/dist/shaders/Lightning.js.map +1 -0
  210. package/dist/shaders/MotionBlur.d.ts +3 -0
  211. package/dist/shaders/MotionBlur.d.ts.map +1 -0
  212. package/dist/shaders/MotionBlur.js +3 -0
  213. package/dist/shaders/MotionBlur.js.map +1 -0
  214. package/dist/shaders/MotionBlurVelocity.d.ts +3 -0
  215. package/dist/shaders/MotionBlurVelocity.d.ts.map +1 -0
  216. package/dist/shaders/MotionBlurVelocity.js +3 -0
  217. package/dist/shaders/MotionBlurVelocity.js.map +1 -0
  218. package/dist/shaders/Noise.d.ts +3 -0
  219. package/dist/shaders/Noise.d.ts.map +1 -0
  220. package/dist/shaders/Noise.js +3 -0
  221. package/dist/shaders/Noise.js.map +1 -0
  222. package/dist/shaders/Normal.d.ts +3 -0
  223. package/dist/shaders/Normal.d.ts.map +1 -0
  224. package/dist/shaders/Normal.js +3 -0
  225. package/dist/shaders/Normal.js.map +1 -0
  226. package/dist/shaders/Phase.d.ts +3 -0
  227. package/dist/shaders/Phase.d.ts.map +1 -0
  228. package/dist/shaders/Phase.js +3 -0
  229. package/dist/shaders/Phase.js.map +1 -0
  230. package/dist/shaders/Precipitation.d.ts +3 -0
  231. package/dist/shaders/Precipitation.d.ts.map +1 -0
  232. package/dist/shaders/Precipitation.js +3 -0
  233. package/dist/shaders/Precipitation.js.map +1 -0
  234. package/dist/shaders/PrecipitationShaftBlur.d.ts +3 -0
  235. package/dist/shaders/PrecipitationShaftBlur.d.ts.map +1 -0
  236. package/dist/shaders/PrecipitationShaftBlur.js +3 -0
  237. package/dist/shaders/PrecipitationShaftBlur.js.map +1 -0
  238. package/dist/shaders/PrecipitationShafts.d.ts +3 -0
  239. package/dist/shaders/PrecipitationShafts.d.ts.map +1 -0
  240. package/dist/shaders/PrecipitationShafts.js +3 -0
  241. package/dist/shaders/PrecipitationShafts.js.map +1 -0
  242. package/dist/shaders/PrecipitationWind.d.ts +3 -0
  243. package/dist/shaders/PrecipitationWind.d.ts.map +1 -0
  244. package/dist/shaders/PrecipitationWind.js +3 -0
  245. package/dist/shaders/PrecipitationWind.js.map +1 -0
  246. package/dist/shaders/RainHaze.d.ts +3 -0
  247. package/dist/shaders/RainHaze.d.ts.map +1 -0
  248. package/dist/shaders/RainHaze.js +3 -0
  249. package/dist/shaders/RainHaze.js.map +1 -0
  250. package/dist/shaders/RainRings.d.ts +3 -0
  251. package/dist/shaders/RainRings.d.ts.map +1 -0
  252. package/dist/shaders/RainRings.js +3 -0
  253. package/dist/shaders/RainRings.js.map +1 -0
  254. package/dist/shaders/Shockwave.d.ts +3 -0
  255. package/dist/shaders/Shockwave.d.ts.map +1 -0
  256. package/dist/shaders/Shockwave.js +3 -0
  257. package/dist/shaders/Shockwave.js.map +1 -0
  258. package/dist/shaders/SkyTable.d.ts +3 -0
  259. package/dist/shaders/SkyTable.d.ts.map +1 -0
  260. package/dist/shaders/SkyTable.js +3 -0
  261. package/dist/shaders/SkyTable.js.map +1 -0
  262. package/dist/shaders/SnowLine.d.ts +3 -0
  263. package/dist/shaders/SnowLine.d.ts.map +1 -0
  264. package/dist/shaders/SnowLine.js +3 -0
  265. package/dist/shaders/SnowLine.js.map +1 -0
  266. package/dist/shaders/SpeedLines.d.ts +3 -0
  267. package/dist/shaders/SpeedLines.d.ts.map +1 -0
  268. package/dist/shaders/SpeedLines.js +3 -0
  269. package/dist/shaders/SpeedLines.js.map +1 -0
  270. package/dist/shaders/Spotlight.d.ts +3 -0
  271. package/dist/shaders/Spotlight.d.ts.map +1 -0
  272. package/dist/shaders/Spotlight.js +3 -0
  273. package/dist/shaders/Spotlight.js.map +1 -0
  274. package/dist/shaders/SpotlightBeam.d.ts +3 -0
  275. package/dist/shaders/SpotlightBeam.d.ts.map +1 -0
  276. package/dist/shaders/SpotlightBeam.js +3 -0
  277. package/dist/shaders/SpotlightBeam.js.map +1 -0
  278. package/dist/shaders/SpotlightBeamBlur.d.ts +3 -0
  279. package/dist/shaders/SpotlightBeamBlur.d.ts.map +1 -0
  280. package/dist/shaders/SpotlightBeamBlur.js +3 -0
  281. package/dist/shaders/SpotlightBeamBlur.js.map +1 -0
  282. package/dist/shaders/SpotlightCone.d.ts +3 -0
  283. package/dist/shaders/SpotlightCone.d.ts.map +1 -0
  284. package/dist/shaders/SpotlightCone.js +3 -0
  285. package/dist/shaders/SpotlightCone.js.map +1 -0
  286. package/dist/shaders/Super8.d.ts +3 -0
  287. package/dist/shaders/Super8.d.ts.map +1 -0
  288. package/dist/shaders/Super8.js +3 -0
  289. package/dist/shaders/Super8.js.map +1 -0
  290. package/dist/shaders/Technicolor.d.ts +3 -0
  291. package/dist/shaders/Technicolor.d.ts.map +1 -0
  292. package/dist/shaders/Technicolor.js +3 -0
  293. package/dist/shaders/Technicolor.js.map +1 -0
  294. package/dist/shaders/TiltShift.d.ts +3 -0
  295. package/dist/shaders/TiltShift.d.ts.map +1 -0
  296. package/dist/shaders/TiltShift.js +3 -0
  297. package/dist/shaders/TiltShift.js.map +1 -0
  298. package/dist/shaders/Toy.d.ts +3 -0
  299. package/dist/shaders/Toy.d.ts.map +1 -0
  300. package/dist/shaders/Toy.js +3 -0
  301. package/dist/shaders/Toy.js.map +1 -0
  302. package/dist/shaders/Trails.d.ts +3 -0
  303. package/dist/shaders/Trails.d.ts.map +1 -0
  304. package/dist/shaders/Trails.js +3 -0
  305. package/dist/shaders/Trails.js.map +1 -0
  306. package/dist/shaders/ValleyFog.d.ts +3 -0
  307. package/dist/shaders/ValleyFog.d.ts.map +1 -0
  308. package/dist/shaders/ValleyFog.js +3 -0
  309. package/dist/shaders/ValleyFog.js.map +1 -0
  310. package/dist/shaders/WeatherMap.d.ts +3 -0
  311. package/dist/shaders/WeatherMap.d.ts.map +1 -0
  312. package/dist/shaders/WeatherMap.js +3 -0
  313. package/dist/shaders/WeatherMap.js.map +1 -0
  314. package/dist/shaders/WhiteModel.d.ts +3 -0
  315. package/dist/shaders/WhiteModel.d.ts.map +1 -0
  316. package/dist/shaders/WhiteModel.js +3 -0
  317. package/dist/shaders/WhiteModel.js.map +1 -0
  318. package/dist/snow-line.d.ts +117 -0
  319. package/dist/snow-line.d.ts.map +1 -0
  320. package/dist/snow-line.js +201 -0
  321. package/dist/snow-line.js.map +1 -0
  322. package/dist/speed-lines.d.ts +36 -0
  323. package/dist/speed-lines.d.ts.map +1 -0
  324. package/dist/speed-lines.js +65 -0
  325. package/dist/speed-lines.js.map +1 -0
  326. package/dist/spotlight.d.ts +84 -0
  327. package/dist/spotlight.d.ts.map +1 -0
  328. package/dist/spotlight.js +175 -0
  329. package/dist/spotlight.js.map +1 -0
  330. package/dist/strikes.d.ts +17 -0
  331. package/dist/strikes.d.ts.map +1 -0
  332. package/dist/strikes.js +30 -0
  333. package/dist/strikes.js.map +1 -0
  334. package/dist/super8.d.ts +78 -0
  335. package/dist/super8.d.ts.map +1 -0
  336. package/dist/super8.js +146 -0
  337. package/dist/super8.js.map +1 -0
  338. package/dist/technicolor.d.ts +32 -0
  339. package/dist/technicolor.d.ts.map +1 -0
  340. package/dist/technicolor.js +51 -0
  341. package/dist/technicolor.js.map +1 -0
  342. package/dist/tilt-shift.d.ts +60 -0
  343. package/dist/tilt-shift.d.ts.map +1 -0
  344. package/dist/tilt-shift.js +112 -0
  345. package/dist/tilt-shift.js.map +1 -0
  346. package/dist/toy.d.ts +110 -0
  347. package/dist/toy.d.ts.map +1 -0
  348. package/dist/toy.js +173 -0
  349. package/dist/toy.js.map +1 -0
  350. package/dist/valley-fog.d.ts +56 -0
  351. package/dist/valley-fog.d.ts.map +1 -0
  352. package/dist/valley-fog.js +94 -0
  353. package/dist/valley-fog.js.map +1 -0
  354. package/dist/weather-map.d.ts +132 -0
  355. package/dist/weather-map.d.ts.map +1 -0
  356. package/dist/weather-map.js +266 -0
  357. package/dist/weather-map.js.map +1 -0
  358. package/dist/white-model.d.ts +70 -0
  359. package/dist/white-model.d.ts.map +1 -0
  360. package/dist/white-model.js +94 -0
  361. package/dist/white-model.js.map +1 -0
  362. package/package.json +19 -40
  363. package/{cesium-post-process.js → src/cesium-post-process.js} +2 -0
  364. package/src/local-frame.js +57 -0
  365. package/{rain-rings.js → src/rain-rings.js} +14 -28
  366. package/src/shaders/AnalogVideo.glsl +132 -0
  367. package/src/shaders/Beam.glsl +108 -0
  368. package/src/shaders/CloudsBlur.glsl +30 -0
  369. package/src/shaders/CloudsComposite.glsl +59 -0
  370. package/src/shaders/CloudsDensity.glsl +129 -0
  371. package/src/shaders/CloudsDepth.glsl +26 -0
  372. package/src/shaders/CloudsMarch.glsl +174 -0
  373. package/src/shaders/CloudsResolve.glsl +46 -0
  374. package/src/shaders/CloudsShadow.glsl +50 -0
  375. package/src/shaders/CloudsShadowMap.glsl +68 -0
  376. package/src/shaders/CloudsSlab.glsl +58 -0
  377. package/src/shaders/ColorIsolation.glsl +26 -0
  378. package/src/shaders/DepthEdges.glsl +81 -0
  379. package/src/shaders/DigitalVideo.glsl +65 -0
  380. package/src/shaders/DroneDisplay.glsl +337 -0
  381. package/src/shaders/Dufour.glsl +109 -0
  382. package/src/shaders/EyeFromDepth.glsl +36 -0
  383. package/src/shaders/Filmic.glsl +5 -0
  384. package/src/shaders/Fog.glsl +18 -0
  385. package/src/shaders/Frame.glsl +10 -0
  386. package/src/shaders/Hash.glsl +12 -0
  387. package/src/shaders/Height.glsl +25 -0
  388. package/src/shaders/Infrared.glsl +44 -0
  389. package/src/shaders/Jello.glsl +41 -0
  390. package/src/shaders/LensDistortion.glsl +24 -0
  391. package/src/shaders/Lightning.glsl +257 -0
  392. package/src/shaders/MotionBlur.glsl +71 -0
  393. package/src/shaders/MotionBlurVelocity.glsl +31 -0
  394. package/src/shaders/Noise.glsl +43 -0
  395. package/src/shaders/Normal.glsl +21 -0
  396. package/src/shaders/Phase.glsl +6 -0
  397. package/src/shaders/Precipitation.glsl +199 -0
  398. package/src/shaders/PrecipitationShaftBlur.glsl +21 -0
  399. package/src/shaders/PrecipitationShafts.glsl +84 -0
  400. package/src/shaders/PrecipitationWind.glsl +33 -0
  401. package/src/shaders/RainHaze.glsl +145 -0
  402. package/src/shaders/RainRings.glsl +64 -0
  403. package/src/shaders/SkyTable.glsl +23 -0
  404. package/src/shaders/SnowLine.glsl +97 -0
  405. package/src/shaders/SnowLine.js +2 -0
  406. package/src/shaders/SpeedLines.glsl +61 -0
  407. package/src/shaders/Spotlight.glsl +89 -0
  408. package/src/shaders/SpotlightBeam.glsl +49 -0
  409. package/src/shaders/SpotlightBeamBlur.glsl +27 -0
  410. package/src/shaders/SpotlightCone.glsl +37 -0
  411. package/src/shaders/Super8.glsl +90 -0
  412. package/src/shaders/Technicolor.glsl +30 -0
  413. package/src/shaders/TiltShift.glsl +34 -0
  414. package/src/shaders/Toy.glsl +46 -0
  415. package/src/shaders/ValleyFog.glsl +40 -0
  416. package/src/shaders/WeatherMap.glsl +33 -0
  417. package/src/shaders/WhiteModel.glsl +108 -0
  418. package/{snow-line.js → src/snow-line.js} +71 -3
  419. package/local-frame.js +0 -15
  420. package/shaders/SnowLine.js +0 -2
  421. /package/{analog-video.js → src/analog-video.js} +0 -0
  422. /package/{blur.js → src/blur.js} +0 -0
  423. /package/{cloud-cover.js → src/cloud-cover.js} +0 -0
  424. /package/{cloud-map.js → src/cloud-map.js} +0 -0
  425. /package/{cloud-noise.js → src/cloud-noise.js} +0 -0
  426. /package/{clouds.js → src/clouds.js} +0 -0
  427. /package/{color-isolation.js → src/color-isolation.js} +0 -0
  428. /package/{depth-test.js → src/depth-test.js} +0 -0
  429. /package/{digital-video.js → src/digital-video.js} +0 -0
  430. /package/{drone-display.js → src/drone-display.js} +0 -0
  431. /package/{dufour.js → src/dufour.js} +0 -0
  432. /package/{effect.js → src/effect.js} +0 -0
  433. /package/{focus.js → src/focus.js} +0 -0
  434. /package/{frame-clock.js → src/frame-clock.js} +0 -0
  435. /package/{height.js → src/height.js} +0 -0
  436. /package/{infrared.js → src/infrared.js} +0 -0
  437. /package/{jello.js → src/jello.js} +0 -0
  438. /package/{lens-distortion.js → src/lens-distortion.js} +0 -0
  439. /package/{lightning.js → src/lightning.js} +0 -0
  440. /package/{motion-blur.js → src/motion-blur.js} +0 -0
  441. /package/{precipitation.js → src/precipitation.js} +0 -0
  442. /package/{shaders → src/shaders}/Alpenglow.js +0 -0
  443. /package/{shaders → src/shaders}/AnalogVideo.js +0 -0
  444. /package/{shaders → src/shaders}/Beam.js +0 -0
  445. /package/{shaders → src/shaders}/CloudsBlur.js +0 -0
  446. /package/{shaders → src/shaders}/CloudsComposite.js +0 -0
  447. /package/{shaders → src/shaders}/CloudsDensity.js +0 -0
  448. /package/{shaders → src/shaders}/CloudsDepth.js +0 -0
  449. /package/{shaders → src/shaders}/CloudsMarch.js +0 -0
  450. /package/{shaders → src/shaders}/CloudsResolve.js +0 -0
  451. /package/{shaders → src/shaders}/CloudsShadow.js +0 -0
  452. /package/{shaders → src/shaders}/CloudsShadowMap.js +0 -0
  453. /package/{shaders → src/shaders}/CloudsSlab.js +0 -0
  454. /package/{shaders → src/shaders}/ColorIsolation.js +0 -0
  455. /package/{shaders → src/shaders}/DepthEdges.js +0 -0
  456. /package/{shaders → src/shaders}/DigitalVideo.js +0 -0
  457. /package/{shaders → src/shaders}/DroneDisplay.js +0 -0
  458. /package/{shaders → src/shaders}/Dufour.js +0 -0
  459. /package/{shaders → src/shaders}/EyeFromDepth.js +0 -0
  460. /package/{shaders → src/shaders}/Filmic.js +0 -0
  461. /package/{shaders → src/shaders}/Flashlight.js +0 -0
  462. /package/{shaders → src/shaders}/Fog.js +0 -0
  463. /package/{shaders → src/shaders}/Frame.js +0 -0
  464. /package/{shaders → src/shaders}/Hash.js +0 -0
  465. /package/{shaders → src/shaders}/Height.js +0 -0
  466. /package/{shaders → src/shaders}/Infrared.js +0 -0
  467. /package/{shaders → src/shaders}/Jello.js +0 -0
  468. /package/{shaders → src/shaders}/LensDistortion.js +0 -0
  469. /package/{shaders → src/shaders}/Lightning.js +0 -0
  470. /package/{shaders → src/shaders}/MotionBlur.js +0 -0
  471. /package/{shaders → src/shaders}/MotionBlurVelocity.js +0 -0
  472. /package/{shaders → src/shaders}/Noise.js +0 -0
  473. /package/{shaders → src/shaders}/Normal.js +0 -0
  474. /package/{shaders → src/shaders}/Phase.js +0 -0
  475. /package/{shaders → src/shaders}/Precipitation.js +0 -0
  476. /package/{shaders → src/shaders}/PrecipitationShaftBlur.js +0 -0
  477. /package/{shaders → src/shaders}/PrecipitationShafts.js +0 -0
  478. /package/{shaders → src/shaders}/PrecipitationWind.js +0 -0
  479. /package/{shaders → src/shaders}/RainHaze.js +0 -0
  480. /package/{shaders → src/shaders}/RainRings.js +0 -0
  481. /package/{shaders → src/shaders}/Shockwave.js +0 -0
  482. /package/{shaders → src/shaders}/SkyTable.js +0 -0
  483. /package/{shaders → src/shaders}/SpeedLines.js +0 -0
  484. /package/{shaders → src/shaders}/Spotlight.js +0 -0
  485. /package/{shaders → src/shaders}/SpotlightBeam.js +0 -0
  486. /package/{shaders → src/shaders}/SpotlightBeamBlur.js +0 -0
  487. /package/{shaders → src/shaders}/SpotlightCone.js +0 -0
  488. /package/{shaders → src/shaders}/Super8.js +0 -0
  489. /package/{shaders → src/shaders}/Technicolor.js +0 -0
  490. /package/{shaders → src/shaders}/TiltShift.js +0 -0
  491. /package/{shaders → src/shaders}/Toy.js +0 -0
  492. /package/{shaders → src/shaders}/Trails.js +0 -0
  493. /package/{shaders → src/shaders}/ValleyFog.js +0 -0
  494. /package/{shaders → src/shaders}/WeatherMap.js +0 -0
  495. /package/{shaders → src/shaders}/WhiteModel.js +0 -0
  496. /package/{speed-lines.js → src/speed-lines.js} +0 -0
  497. /package/{spotlight.js → src/spotlight.js} +0 -0
  498. /package/{strikes.js → src/strikes.js} +0 -0
  499. /package/{super8.js → src/super8.js} +0 -0
  500. /package/{technicolor.js → src/technicolor.js} +0 -0
  501. /package/{tilt-shift.js → src/tilt-shift.js} +0 -0
  502. /package/{toy.js → src/toy.js} +0 -0
  503. /package/{valley-fog.js → src/valley-fog.js} +0 -0
  504. /package/{weather-map.js → src/weather-map.js} +0 -0
  505. /package/{white-model.js → src/white-model.js} +0 -0
package/README.md CHANGED
@@ -24,10 +24,14 @@ const snowLine = new SnowLine(viewer, {
24
24
  altitude: 2000, // meters above the ellipsoid where the snow is half covering
25
25
  transition: 200, // height of the band over which the snow thins out, in meters
26
26
  maxSlope: 50, // steepest slope that holds snow, in degrees
27
- coverage: 1, // opacity of the snow, 0 to 1
27
+ coverage: 1, // opacity of the snow, 0 to 1; at 0 the stage is off
28
28
  patchiness: 0, // 0 to 1: at 1 the coverage is the share of the ground the snow covers, the noise leaving the rest bare
29
29
  waterLevel: 564, // meters above the ellipsoid: what lies within a quarter meter of it holds no snow, so a flat lake stays water
30
30
  sunDirection: sun, // the direction toward the sun the snow is shaded by, in world coordinates; Cesium's own sun if none
31
+ grain: 90, // the noise's largest scale, in meters, its finer ones a third and a ninth of it: a few meters for a garden
32
+ sceneLight: 0, // 0 to 1: how far the snow's brightness is the scene's own, its shadows and its dusk kept; 0 the sun's shading alone
33
+ steepCover: 0.35, // the thin cover the steep slopes keep, as a fraction of the coverage; 0 for none on a building's walls
34
+ origin: position, // the point of the world the noise is laid about; the camera's position when activated if none
31
35
  });
32
36
  snowLine.active = true;
33
37
 
@@ -77,6 +81,7 @@ const rainRings = new RainRings(viewer, {
77
81
  maxSlope: 30, // steepest slope that takes a ring, in degrees
78
82
  color: new Color(0.31, 0.39, 0.5, 0.6), // slate on a light ground, pale on a dark one; the alpha is how strongly it shows
79
83
  origin: position, // the point of the world the cells are laid about; the camera's position when activated if none
84
+ clock: () => performance.now() / 1000, // the time the rings run by, in seconds; one that stands still keeps them still (less motion)
80
85
  });
81
86
  rainRings.active = true;
82
87
 
@@ -0,0 +1,71 @@
1
+ import { PostProcessStage } from '@cesium/engine';
2
+ import Effect from './effect.js';
3
+ /**
4
+ * The shader's hash, in [0, 1), so that the values computed here per frame and
5
+ * those computed there per pixel come from one family.
6
+ * @param {number} x
7
+ * @param {number} y
8
+ * @return {number}
9
+ */
10
+ export declare function hash(x: number, y: number): number;
11
+ /**
12
+ * How the signal fares at a time, all the picture over: how weak it is, 0 to 1
13
+ * (it wavers around the interference, and is 1 only without a signal); and,
14
+ * in the frames where the receiver loses the sync, where the picture tears, as
15
+ * a fraction of its height from the top, or -1.
16
+ * @param {number} seconds
17
+ * @param {number} interference 0 to 1
18
+ * @return {{weak: number, tear: number}}
19
+ */
20
+ export declare function signalAt(seconds: number, interference: number): {
21
+ weak: number;
22
+ tear: number;
23
+ };
24
+ /**
25
+ * An analog FPV video feed: a soft, washed-out PAL picture with its color
26
+ * bleeding sideways, which, as the signal weakens, loses its color, washes
27
+ * out, fills with colored streaks along the video lines and tears when the
28
+ * sync is lost, down to the dark snow of a receiver without a signal. The
29
+ * picture moves, so while active the scene renders at 25 frames per second,
30
+ * also in requestRenderMode.
31
+ */
32
+ export default class AnalogVideo extends Effect {
33
+ noise_: number;
34
+ interference_: number;
35
+ weak_: number;
36
+ tear_: number;
37
+ onPreRender_: () => void;
38
+ /**
39
+ * @param {import('@cesium/engine').CesiumWidget} viewer
40
+ * @param {{noise?: number, interference?: number}} [options]
41
+ */
42
+ constructor(viewer: import('@cesium/engine').CesiumWidget, options?: {
43
+ noise?: number;
44
+ interference?: number;
45
+ });
46
+ /** @override */
47
+ createStage_(): PostProcessStage;
48
+ /**
49
+ * @override
50
+ * @param {import('@cesium/engine').Scene} scene
51
+ */
52
+ activated_(scene: import('@cesium/engine').Scene): void;
53
+ /**
54
+ * @override
55
+ * @param {import('@cesium/engine').Scene} scene
56
+ */
57
+ deactivating_(scene: import('@cesium/engine').Scene): void;
58
+ /**
59
+ * Grain, 0 to 1.
60
+ */
61
+ get noise(): number;
62
+ set noise(value: number);
63
+ /**
64
+ * How weak the signal is, 0 to 1: a few streaks when it is low, the color
65
+ * lost from about 0.4, then a washed-out picture under more and more streaks,
66
+ * torn when the sync is lost; 1 for no signal at all, the receiver's snow.
67
+ */
68
+ get interference(): number;
69
+ set interference(value: number);
70
+ }
71
+ //# sourceMappingURL=analog-video.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analog-video.d.ts","sourceRoot":"","sources":["../src/analog-video.js"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,MAAM,MAAM,aAAa,CAAC;AAejC;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAJX,MAIW,EAAE,CAAC,EAHd,MAGc,GAFb,MAAM,CAWjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAJrB,MAIqB,EAAE,YAAY,EAHnC,MAGmC,GAFlC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAYvC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,MAAM;IAOtC,MAAM;IACN,aAAa;IAEb,KAAK;IACL,KAAK;IACL,YAAY;IAXnB;;;OAGG;IACH,YAAY,MAAM,EAHP,OAAO,gBAAgB,EAAE,YAGlB,EAAE,OAAO,AAFxB,CAA0D,EAAlD;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAEjB,EAY/B;IAED,gBAAgB;IAChB,YAAY,qBAUX;IAED;;;OAGG;IACH,UAAU,CAAC,KAAK,EAFL,OAAO,gBAAgB,EAAE,KAEpB,QAIf;IAED;;;OAGG;IACH,aAAa,CAAC,KAAK,EAFR,OAAO,gBAAgB,EAAE,KAEjB,QAGlB;IAED;;OAEG;IACH,IAAI,KAAK,WAER;IAED,IAAI,KAAK,CAAC,KAAK,QAAA,EAEd;IAED;;;;OAIG;IACH,IAAI,YAAY,WAEf;IAED,IAAI,YAAY,CAAC,KAAK,QAAA,EAErB;CACF"}
@@ -0,0 +1,128 @@
1
+ import { Math as CesiumMath } from '@cesium/core';
2
+ import { PostProcessStage } from '@cesium/engine';
3
+ import Effect from './effect.js';
4
+ import { acquireFrames, releaseFrames } from './frame-clock.js';
5
+ import AnalogVideoShader from './shaders/AnalogVideo.js';
6
+ import Hash from './shaders/Hash.js';
7
+ // PAL video runs at 25 frames per second, as in AnalogVideo.glsl
8
+ const FRAME_RATE = 25;
9
+ // the strength of the signal fades in and out at this rate, in changes per second
10
+ const FADE_RATE = 0.4;
11
+ // the sync is lost for a frame or two now and then, up to this many times per second when the
12
+ // signal is weak
13
+ const TEAR_RATE = 1.5;
14
+ const fract = (/** @type {number} */ x) => x - Math.floor(x);
15
+ /**
16
+ * The shader's hash, in [0, 1), so that the values computed here per frame and
17
+ * those computed there per pixel come from one family.
18
+ * @param {number} x
19
+ * @param {number} y
20
+ * @return {number}
21
+ */
22
+ export function hash(x, y) {
23
+ let px = fract(x * 0.1031);
24
+ let py = fract(y * 0.1031);
25
+ let pz = px;
26
+ const dot = px * (py + 33.33) + py * (pz + 33.33) + pz * (px + 33.33);
27
+ px += dot;
28
+ py += dot;
29
+ pz += dot;
30
+ return fract((px + py) * pz);
31
+ }
32
+ /**
33
+ * How the signal fares at a time, all the picture over: how weak it is, 0 to 1
34
+ * (it wavers around the interference, and is 1 only without a signal); and,
35
+ * in the frames where the receiver loses the sync, where the picture tears, as
36
+ * a fraction of its height from the top, or -1.
37
+ * @param {number} seconds
38
+ * @param {number} interference 0 to 1
39
+ * @return {{weak: number, tear: number}}
40
+ */
41
+ export function signalAt(seconds, interference) {
42
+ const fade = seconds * FADE_RATE;
43
+ const t = fract(fade);
44
+ const wander = hash(Math.floor(fade), 5) + (hash(Math.floor(fade) + 1, 5) - hash(Math.floor(fade), 5)) * t * t * (3 - 2 * t);
45
+ const weak = interference >= 1 ? 1 : interference * (0.75 + 0.25 * wander);
46
+ // a tear lasts two frames: decided once for each pair
47
+ const pair = Math.floor((seconds * FRAME_RATE) / 2) % 1000;
48
+ const chance = (2 * TEAR_RATE / FRAME_RATE) * CesiumMath.clamp((interference - 0.3) / 0.5, 0, 1);
49
+ const tear = interference < 1 && hash(pair, 11) < chance ? 0.2 + 0.6 * hash(pair, 13) : -1;
50
+ return { weak, tear };
51
+ }
52
+ /**
53
+ * An analog FPV video feed: a soft, washed-out PAL picture with its color
54
+ * bleeding sideways, which, as the signal weakens, loses its color, washes
55
+ * out, fills with colored streaks along the video lines and tears when the
56
+ * sync is lost, down to the dark snow of a receiver without a signal. The
57
+ * picture moves, so while active the scene renders at 25 frames per second,
58
+ * also in requestRenderMode.
59
+ */
60
+ export default class AnalogVideo extends Effect {
61
+ /**
62
+ * @param {import('@cesium/engine').CesiumWidget} viewer
63
+ * @param {{noise?: number, interference?: number}} [options]
64
+ */
65
+ constructor(viewer, options = {}) {
66
+ super(viewer);
67
+ this.noise_ = options.noise ?? 0.5;
68
+ this.interference_ = options.interference ?? 0.15;
69
+ // the uniforms updated once per frame
70
+ this.weak_ = 0;
71
+ this.tear_ = -1;
72
+ this.onPreRender_ = () => {
73
+ const signal = signalAt(performance.now() / 1000, this.interference_);
74
+ this.weak_ = signal.weak;
75
+ this.tear_ = signal.tear;
76
+ };
77
+ }
78
+ /** @override */
79
+ createStage_() {
80
+ return new PostProcessStage({
81
+ fragmentShader: Hash + AnalogVideoShader,
82
+ uniforms: {
83
+ time: () => performance.now() / 1000,
84
+ noise: () => this.noise_,
85
+ weak: () => this.weak_,
86
+ tear: () => this.tear_,
87
+ },
88
+ });
89
+ }
90
+ /**
91
+ * @override
92
+ * @param {import('@cesium/engine').Scene} scene
93
+ */
94
+ activated_(scene) {
95
+ scene.preRender.addEventListener(this.onPreRender_);
96
+ // a new picture only with each video frame, not with each frame of the display
97
+ acquireFrames(scene, FRAME_RATE);
98
+ }
99
+ /**
100
+ * @override
101
+ * @param {import('@cesium/engine').Scene} scene
102
+ */
103
+ deactivating_(scene) {
104
+ releaseFrames(scene, FRAME_RATE);
105
+ scene.preRender.removeEventListener(this.onPreRender_);
106
+ }
107
+ /**
108
+ * Grain, 0 to 1.
109
+ */
110
+ get noise() {
111
+ return this.noise_;
112
+ }
113
+ set noise(value) {
114
+ this.noise_ = value;
115
+ }
116
+ /**
117
+ * How weak the signal is, 0 to 1: a few streaks when it is low, the color
118
+ * lost from about 0.4, then a washed-out picture under more and more streaks,
119
+ * torn when the sync is lost; 1 for no signal at all, the receiver's snow.
120
+ */
121
+ get interference() {
122
+ return this.interference_;
123
+ }
124
+ set interference(value) {
125
+ this.interference_ = value;
126
+ }
127
+ }
128
+ //# sourceMappingURL=analog-video.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analog-video.js","sourceRoot":"","sources":["../src/analog-video.js"],"names":[],"mappings":"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"}
package/dist/blur.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ import { PostProcessStageComposite } from '@cesium/engine';
2
+ /**
3
+ * A Gaussian blur in two passes, as PostProcessStageLibrary.createBlurStage()
4
+ * builds it, with its own name: the library names every blur czm_blur, and a
5
+ * collection holds one stage per name, so two effects with a library blur
6
+ * break each other when one is removed.
7
+ * @param {string} name of the composite; the passes are named after it
8
+ * @param {number} [textureScale=1] resolution of the passes relative to the viewport: a wide blur
9
+ * costs a quarter at half resolution, with a step half as long for the same spread
10
+ * @return {PostProcessStageComposite} with `sigma` and `stepSize` uniforms shared by both passes
11
+ */
12
+ export default function createBlur(name: string, textureScale?: number): PostProcessStageComposite;
13
+ //# sourceMappingURL=blur.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blur.d.ts","sourceRoot":"","sources":["../src/blur.js"],"names":[],"mappings":"AAAA,OAAO,EAAmB,yBAAyB,EAA6B,MAAM,gBAAgB,CAAC;AAIvG;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,IAAI,EAL5B,MAK4B,EAAE,YAAY,AAJlD,CAEA,EAFQ,MAI8C,GAF7C,yBAAyB,CA0BpC"}
package/dist/blur.js ADDED
@@ -0,0 +1,36 @@
1
+ import { PostProcessStage, PostProcessStageComposite, PostProcessStageSampleMode } from '@cesium/engine';
2
+ // @ts-expect-error the engine exports its shader sources, but does not type them
3
+ import { _shadersGaussianBlur1D as GaussianBlur1D } from '@cesium/engine';
4
+ /**
5
+ * A Gaussian blur in two passes, as PostProcessStageLibrary.createBlurStage()
6
+ * builds it, with its own name: the library names every blur czm_blur, and a
7
+ * collection holds one stage per name, so two effects with a library blur
8
+ * break each other when one is removed.
9
+ * @param {string} name of the composite; the passes are named after it
10
+ * @param {number} [textureScale=1] resolution of the passes relative to the viewport: a wide blur
11
+ * costs a quarter at half resolution, with a step half as long for the same spread
12
+ * @return {PostProcessStageComposite} with `sigma` and `stepSize` uniforms shared by both passes
13
+ */
14
+ export default function createBlur(name, textureScale = 1) {
15
+ const passes = ['x', 'y'].map((axis, direction) => new PostProcessStage({
16
+ name: `${name}_${axis}`,
17
+ fragmentShader: `#define USE_STEP_SIZE\n${GaussianBlur1D}`,
18
+ uniforms: { delta: 1, sigma: 2, stepSize: 1, direction },
19
+ sampleMode: PostProcessStageSampleMode.LINEAR,
20
+ textureScale,
21
+ }));
22
+ const shared = (/** @type {string} */ uniform) => ({
23
+ get: () => passes[0].uniforms[uniform],
24
+ set: (/** @type {number} */ value) => {
25
+ for (const pass of passes) {
26
+ pass.uniforms[uniform] = value;
27
+ }
28
+ },
29
+ });
30
+ return new PostProcessStageComposite({
31
+ name,
32
+ stages: passes,
33
+ uniforms: Object.defineProperties({}, { sigma: shared('sigma'), stepSize: shared('stepSize') }),
34
+ });
35
+ }
36
+ //# sourceMappingURL=blur.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blur.js","sourceRoot":"","sources":["../src/blur.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,yBAAyB,EAAE,0BAA0B,EAAC,MAAM,gBAAgB,CAAC;AACvG,iFAAiF;AACjF,OAAO,EAAC,sBAAsB,IAAI,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAExE;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,CAAC;IACvD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAC3B,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAClB,IAAI,gBAAgB,CAAC;QACnB,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE;QACvB,cAAc,EAAE,0BAA0B,cAAc,EAAE;QAC1D,QAAQ,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAC;QACtD,UAAU,EAAE,0BAA0B,CAAC,MAAM;QAC7C,YAAY;KACb,CAAC,CACL,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,qBAAqB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjD,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtC,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,EAAE;YACnC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC1B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;YACjC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IACH,OAAO,IAAI,yBAAyB,CAAC;QACnC,IAAI;QACJ,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,EAAC,CAAC;KAC9F,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,30 @@
1
+ export { default as AnalogVideo } from './analog-video.js';
2
+ export { default as Clouds } from './clouds.js';
3
+ export { default as ColorIsolation } from './color-isolation.js';
4
+ export { default as DigitalVideo } from './digital-video.js';
5
+ export { default as Dufour } from './dufour.js';
6
+ export { default as DroneDisplay } from './drone-display.js';
7
+ export { default as Effect } from './effect.js';
8
+ export { default as Infrared } from './infrared.js';
9
+ export { default as Jello } from './jello.js';
10
+ export { default as LensDistortion } from './lens-distortion.js';
11
+ export { default as Lightning } from './lightning.js';
12
+ export { default as MotionBlur } from './motion-blur.js';
13
+ export { default as Precipitation } from './precipitation.js';
14
+ export { default as RainRings } from './rain-rings.js';
15
+ export { default as SnowLine } from './snow-line.js';
16
+ export { default as SpeedLines } from './speed-lines.js';
17
+ export { default as Spotlight } from './spotlight.js';
18
+ export { default as Super8 } from './super8.js';
19
+ export { default as Technicolor } from './technicolor.js';
20
+ export { default as TiltShift } from './tilt-shift.js';
21
+ export { default as Toy } from './toy.js';
22
+ export { default as ValleyFog } from './valley-fog.js';
23
+ export { default as WhiteModel } from './white-model.js';
24
+ export { default as EyeFromDepth } from './shaders/EyeFromDepth.js';
25
+ export { default as Hash } from './shaders/Hash.js';
26
+ export { default as Height } from './shaders/Height.js';
27
+ export { heightUniforms } from './height.js';
28
+ export { localFromEye } from './local-frame.js';
29
+ export { default as Normal } from './shaders/Normal.js';
30
+ //# sourceMappingURL=cesium-post-process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cesium-post-process.d.ts","sourceRoot":"","sources":["../src/cesium-post-process.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,GAAG,EAAC,MAAM,UAAU,CAAC;AACxC,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,31 @@
1
+ export { default as AnalogVideo } from './analog-video.js';
2
+ export { default as Clouds } from './clouds.js';
3
+ export { default as ColorIsolation } from './color-isolation.js';
4
+ export { default as DigitalVideo } from './digital-video.js';
5
+ export { default as Dufour } from './dufour.js';
6
+ export { default as DroneDisplay } from './drone-display.js';
7
+ export { default as Effect } from './effect.js';
8
+ export { default as Infrared } from './infrared.js';
9
+ export { default as Jello } from './jello.js';
10
+ export { default as LensDistortion } from './lens-distortion.js';
11
+ export { default as Lightning } from './lightning.js';
12
+ export { default as MotionBlur } from './motion-blur.js';
13
+ export { default as Precipitation } from './precipitation.js';
14
+ export { default as RainRings } from './rain-rings.js';
15
+ export { default as SnowLine } from './snow-line.js';
16
+ export { default as SpeedLines } from './speed-lines.js';
17
+ export { default as Spotlight } from './spotlight.js';
18
+ export { default as Super8 } from './super8.js';
19
+ export { default as Technicolor } from './technicolor.js';
20
+ export { default as TiltShift } from './tilt-shift.js';
21
+ export { default as Toy } from './toy.js';
22
+ export { default as ValleyFog } from './valley-fog.js';
23
+ export { default as WhiteModel } from './white-model.js';
24
+ // the shader chunks the depth-based effects share, and the uniforms of Height, for effects of your own
25
+ export { default as EyeFromDepth } from './shaders/EyeFromDepth.js';
26
+ export { default as Hash } from './shaders/Hash.js';
27
+ export { default as Height } from './shaders/Height.js';
28
+ export { heightUniforms } from './height.js';
29
+ export { localFromEye } from './local-frame.js';
30
+ export { default as Normal } from './shaders/Normal.js';
31
+ //# sourceMappingURL=cesium-post-process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cesium-post-process.js","sourceRoot":"","sources":["../src/cesium-post-process.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,GAAG,EAAC,MAAM,UAAU,CAAC;AACxC,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEvD,uGAAuG;AACvG,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,28 @@
1
+ export type CloudShadow = {
2
+ texture: () => any;
3
+ center: import('@cesium/core').Cartesian3;
4
+ extent: () => number;
5
+ base: () => number;
6
+ top: () => number;
7
+ };
8
+ /**
9
+ * @param {import('@cesium/engine').Scene} scene
10
+ * @param {CloudShadow} shadow
11
+ */
12
+ export declare function acquireCloudCover(scene: import('@cesium/engine').Scene, shadow: CloudShadow): void;
13
+ /**
14
+ * @param {import('@cesium/engine').Scene} scene
15
+ * @param {CloudShadow} shadow
16
+ */
17
+ export declare function releaseCloudCover(scene: import('@cesium/engine').Scene, shadow: CloudShadow): void;
18
+ /**
19
+ * Whether clouds are drawn in the scene.
20
+ * @param {import('@cesium/engine').Scene} scene
21
+ */
22
+ export declare function hasCloudCover(scene: import('@cesium/engine').Scene): boolean;
23
+ /**
24
+ * The shadow map of the clouds drawn in the scene, the last activated's, or undefined without.
25
+ * @param {import('@cesium/engine').Scene} scene
26
+ */
27
+ export declare function cloudShadow(scene: import('@cesium/engine').Scene): CloudShadow | undefined;
28
+ //# sourceMappingURL=cloud-cover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-cover.d.ts","sourceRoot":"","sources":["../src/cloud-cover.js"],"names":[],"mappings":"AAOG,YAAwI,WAAW,GAAzI;IAAC,OAAO,EAAE,MAAM,GAAG,CAAC;IAAC,MAAM,EAAE,OAAO,cAAc,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,MAAM,CAAA;CAAC,CAAa;AAMtJ;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAH5B,OAAO,gBAAgB,EAAE,KAGG,EAAE,MAAM,EAFpC,WAEoC,QAE9C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAH5B,OAAO,gBAAgB,EAAE,KAGG,EAAE,MAAM,EAFpC,WAEoC,QAO9C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAFxB,OAAO,gBAAgB,EAAE,KAED,WAElC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAFtB,OAAO,gBAAgB,EAAE,KAEH,2BAEhC"}
@@ -0,0 +1,45 @@
1
+ // Seen from above, Clouds draws the clouds over the rain under them, which Precipitation then
2
+ // leaves to them: the scenes where clouds are drawn, by the active Clouds, with their shadow maps,
3
+ // through which Precipitation lights its haze.
4
+ /**
5
+ * A shadow map of the clouds: its texture, undefined until it is drawn, the ground point it is
6
+ * centered on, its side, and the base and the top of the slab it covers.
7
+ * @typedef {{texture: () => any, center: import('@cesium/core').Cartesian3, extent: () => number, base: () => number, top: () => number}} CloudShadow
8
+ */
9
+ /** @type {WeakMap<import('@cesium/engine').Scene, CloudShadow[]>} */
10
+ const covers = new WeakMap();
11
+ /**
12
+ * @param {import('@cesium/engine').Scene} scene
13
+ * @param {CloudShadow} shadow
14
+ */
15
+ export function acquireCloudCover(scene, shadow) {
16
+ covers.set(scene, [...(covers.get(scene) ?? []), shadow]);
17
+ }
18
+ /**
19
+ * @param {import('@cesium/engine').Scene} scene
20
+ * @param {CloudShadow} shadow
21
+ */
22
+ export function releaseCloudCover(scene, shadow) {
23
+ const shadows = (covers.get(scene) ?? []).filter((other) => other !== shadow);
24
+ if (shadows.length > 0) {
25
+ covers.set(scene, shadows);
26
+ }
27
+ else {
28
+ covers.delete(scene);
29
+ }
30
+ }
31
+ /**
32
+ * Whether clouds are drawn in the scene.
33
+ * @param {import('@cesium/engine').Scene} scene
34
+ */
35
+ export function hasCloudCover(scene) {
36
+ return covers.has(scene);
37
+ }
38
+ /**
39
+ * The shadow map of the clouds drawn in the scene, the last activated's, or undefined without.
40
+ * @param {import('@cesium/engine').Scene} scene
41
+ */
42
+ export function cloudShadow(scene) {
43
+ return covers.get(scene)?.at(-1);
44
+ }
45
+ //# sourceMappingURL=cloud-cover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-cover.js","sourceRoot":"","sources":["../src/cloud-cover.js"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,mGAAmG;AACnG,+CAA+C;AAE/C;;;;GAIG;AAEH,qEAAqE;AACrE,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;AAE7B;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAK,EAAE,MAAM;IAC7C,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAK,EAAE,MAAM;IAC7C,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;IAC9E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAK;IACjC,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAK;IAC/B,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The clouds' map of a map of the rain, over the same rectangle, made once for each image.
3
+ * @param {import('./weather-map.js').WeatherMapOptions} map
4
+ * @returns {import('./weather-map.js').WeatherMapOptions}
5
+ */
6
+ export default function createCloudMap(map: import('./weather-map.js').WeatherMapOptions): import('./weather-map.js').WeatherMapOptions;
7
+ //# sourceMappingURL=cloud-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-map.d.ts","sourceRoot":"","sources":["../src/cloud-map.js"],"names":[],"mappings":"AAkFA;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,GAAG,EAH/B,OAAO,kBAAkB,EAAE,iBAGI,GAF7B,OAAO,kBAAkB,EAAE,iBAAiB,CAqCxD"}
@@ -0,0 +1,118 @@
1
+ import { Math as CesiumMath } from '@cesium/core';
2
+ import { imageData } from './weather-map.js';
3
+ // The clouds' map, from a map of the rain: a radar sees the rain, "not the small cloud droplets and
4
+ // ice crystals that make up the rest of the cloud" (UBC ATSC 201), so the clouds are derived from
5
+ // it rather than drawn where it rains. Red is the rain, as it is; green is the coverage, the rain
6
+ // spread into a cloud shield wider than it; blue is the type of the clouds, from a flat deck over
7
+ // drizzle to towers over heavy rain, the precipitation turning the map "to cumulonimbus clouds"
8
+ // (Schneider 2015).
9
+ // the cloud shield reaches this far beyond the rain, in meters, its edge soft over about as much: 5
10
+ // to 15 km wide
11
+ const SHIELD_SPREAD = 5000;
12
+ // the rain rate, in mm/h, at intensity 1, the map's intensity being sqrt(R / RAIN_RATE), as
13
+ // RainHaze.glsl's
14
+ const RAIN_RATE = 10;
15
+ // the deck at this rain rate and below, in mm/h, towers at this one and above, about 40 dBZ (UBC
16
+ // ATSC 201): the type is remap(log(R), log(0.5), log(10), 0, 1)
17
+ const DECK_RATE = 0.5;
18
+ const TOWER_RATE = 10;
19
+ // meters, for the size of the map's pixels
20
+ const EARTH_RADIUS = 6371000;
21
+ // a Gaussian is approximated by this many box blurs, each a running sum whatever its width
22
+ const BOXES = 3;
23
+ /** @type {WeakMap<object, import('./weather-map.js').WeatherMapOptions>} */
24
+ const cloudMaps = new WeakMap();
25
+ /**
26
+ * Blurs values in place along rows (step 1) or columns (step width) by a box of a radius, a running
27
+ * sum, the edges held.
28
+ * @param {Float32Array} values
29
+ * @param {number} width
30
+ * @param {number} height
31
+ * @param {number} radius
32
+ * @param {boolean} rows
33
+ */
34
+ function boxBlur(values, width, height, radius, rows) {
35
+ const [count, length, step, stride] = rows ? [height, width, 1, width] : [width, height, width, 1];
36
+ const line = new Float32Array(length);
37
+ for (let i = 0; i < count; i++) {
38
+ const start = i * stride;
39
+ for (let j = 0; j < length; j++) {
40
+ line[j] = values[start + j * step];
41
+ }
42
+ let sum = 0;
43
+ for (let j = -radius; j <= radius; j++) {
44
+ sum += line[CesiumMath.clamp(j, 0, length - 1)];
45
+ }
46
+ for (let j = 0; j < length; j++) {
47
+ values[start + j * step] = sum / (2 * radius + 1);
48
+ sum += line[Math.min(j + radius + 1, length - 1)] - line[Math.max(j - radius, 0)];
49
+ }
50
+ }
51
+ }
52
+ /**
53
+ * Dilates values in place along rows or columns: the highest within a radius.
54
+ * @param {Float32Array} values
55
+ * @param {number} width
56
+ * @param {number} height
57
+ * @param {number} radius
58
+ * @param {boolean} rows
59
+ */
60
+ function dilate(values, width, height, radius, rows) {
61
+ const [count, length, step, stride] = rows ? [height, width, 1, width] : [width, height, width, 1];
62
+ const line = new Float32Array(length);
63
+ for (let i = 0; i < count; i++) {
64
+ const start = i * stride;
65
+ for (let j = 0; j < length; j++) {
66
+ line[j] = values[start + j * step];
67
+ }
68
+ for (let j = 0; j < length; j++) {
69
+ let max = 0;
70
+ for (let k = Math.max(j - radius, 0); k <= Math.min(j + radius, length - 1); k++) {
71
+ max = Math.max(max, line[k]);
72
+ }
73
+ values[start + j * step] = max;
74
+ }
75
+ }
76
+ }
77
+ /**
78
+ * The clouds' map of a map of the rain, over the same rectangle, made once for each image.
79
+ * @param {import('./weather-map.js').WeatherMapOptions} map
80
+ * @returns {import('./weather-map.js').WeatherMapOptions}
81
+ */
82
+ export default function createCloudMap(map) {
83
+ const known = cloudMaps.get(map.image);
84
+ if (known) {
85
+ return known;
86
+ }
87
+ const { width, height, data } = /** @type {{width: number, height: number, data: Uint8ClampedArray}} */ (imageData(map.image));
88
+ const { west, south, east, north } = map.rectangle;
89
+ const pixel = 0.5 * EARTH_RADIUS * (((east - west) * Math.cos(0.5 * (south + north))) / width + (north - south) / height);
90
+ // the rain dilated by the spread, in pixels, then softened by a Gaussian of half of it, the
91
+ // radius of each box for its standard deviation
92
+ const spread = Math.max(Math.round(SHIELD_SPREAD / pixel), 1);
93
+ const sigma = 0.5 * spread;
94
+ const radius = Math.max(Math.round(0.5 * (Math.sqrt((12 * sigma * sigma) / BOXES + 1) - 1)), 1);
95
+ const shield = new Float32Array(width * height);
96
+ for (let i = 0; i < width * height; i++) {
97
+ shield[i] = data[4 * i] > 0 ? 1 : 0;
98
+ }
99
+ dilate(shield, width, height, spread, true);
100
+ dilate(shield, width, height, spread, false);
101
+ for (let box = 0; box < BOXES; box++) {
102
+ boxBlur(shield, width, height, radius, true);
103
+ boxBlur(shield, width, height, radius, false);
104
+ }
105
+ const cloud = new Uint8ClampedArray(width * height * 4);
106
+ for (let i = 0; i < width * height; i++) {
107
+ const intensity = data[4 * i] / 255;
108
+ const rate = RAIN_RATE * intensity * intensity;
109
+ cloud[4 * i] = data[4 * i];
110
+ cloud[4 * i + 1] = Math.round(255 * shield[i]);
111
+ cloud[4 * i + 2] = rate > DECK_RATE ? Math.round((255 * Math.log(rate / DECK_RATE)) / Math.log(TOWER_RATE / DECK_RATE)) : 0;
112
+ cloud[4 * i + 3] = 255;
113
+ }
114
+ const cloudMap = { image: { width, height, data: cloud }, rectangle: map.rectangle };
115
+ cloudMaps.set(map.image, cloudMap);
116
+ return cloudMap;
117
+ }
118
+ //# sourceMappingURL=cloud-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-map.js","sourceRoot":"","sources":["../src/cloud-map.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * The noise as RGBA bytes, x fastest, then y, then z.
3
+ * @param {number} [size] voxels along each side
4
+ */
5
+ export default function createCloudNoise(size?: number): Uint8Array<ArrayBuffer>;
6
+ /**
7
+ * The noise over the clouds' map as RGBA bytes, x fastest: a square that tiles, MAP_TILE_CELLS
8
+ * cells of the map across, with gradient noise over JITTER_CELLS in red and green and over
9
+ * COVERAGE_CELLS in blue.
10
+ * @param {number} [size] texels along each side
11
+ */
12
+ export declare function createMapNoise(size?: number): Uint8Array<ArrayBuffer>;
13
+ //# sourceMappingURL=cloud-noise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-noise.d.ts","sourceRoot":"","sources":["../src/cloud-noise.js"],"names":[],"mappings":"AA+IA;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,IAAI,AAF1C,CACF,EADU,MAEuC,2BAiCjD;AAyBD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,AAFhC,CACF,EADU,MAE8B,2BAkBxC"}