@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clouds.js","sourceRoot":"","sources":["../src/clouds.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { PostProcessStage } from '@cesium/engine';
2
+ import Effect from './effect.js';
3
+ /**
4
+ * Color isolation: one hue keeps its color, the rest of the scene turns gray.
5
+ */
6
+ export default class ColorIsolation extends Effect {
7
+ hue_: number;
8
+ range_: number;
9
+ strength_: number;
10
+ /**
11
+ * @param {import('@cesium/engine').CesiumWidget} viewer
12
+ * @param {{hue?: number, range?: number, strength?: number}} [options]
13
+ */
14
+ constructor(viewer: import('@cesium/engine').CesiumWidget, options?: {
15
+ hue?: number;
16
+ range?: number;
17
+ strength?: number;
18
+ });
19
+ /** @override */
20
+ createStage_(): PostProcessStage;
21
+ /**
22
+ * Hue kept in color, in degrees: 0 red, 60 yellow, 120 green, 180 cyan,
23
+ * 240 blue, 300 magenta.
24
+ */
25
+ get hue(): number;
26
+ set hue(value: number);
27
+ /**
28
+ * Half width of the hues kept, in degrees.
29
+ */
30
+ get range(): number;
31
+ set range(value: number);
32
+ /**
33
+ * How gray the rest turns, 0 to 1.
34
+ */
35
+ get strength(): number;
36
+ set strength(value: number);
37
+ }
38
+ //# sourceMappingURL=color-isolation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-isolation.d.ts","sourceRoot":"","sources":["../src/color-isolation.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,MAAM,MAAM,aAAa,CAAC;AAGjC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,MAAM;IAOzC,IAAI;IACJ,MAAM;IACN,SAAS;IARhB;;;OAGG;IACH,YAAY,MAAM,EAHP,OAAO,gBAAgB,EAAE,YAGlB,EAAE,OAAO,AAFxB,CAAoE,EAA5D;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAE3B,EAK/B;IAED,gBAAgB;IAChB,YAAY,qBASX;IAED;;;OAGG;IACH,IAAI,GAAG,WAEN;IAED,IAAI,GAAG,CAAC,KAAK,QAAA,EAGZ;IAED;;OAEG;IACH,IAAI,KAAK,WAER;IAED,IAAI,KAAK,CAAC,KAAK,QAAA,EAGd;IAED;;OAEG;IACH,IAAI,QAAQ,WAEX;IAED,IAAI,QAAQ,CAAC,KAAK,QAAA,EAGjB;CACF"}
@@ -0,0 +1,61 @@
1
+ import { PostProcessStage } from '@cesium/engine';
2
+ import Effect from './effect.js';
3
+ import ColorIsolationShader from './shaders/ColorIsolation.js';
4
+ /**
5
+ * Color isolation: one hue keeps its color, the rest of the scene turns gray.
6
+ */
7
+ export default class ColorIsolation extends Effect {
8
+ /**
9
+ * @param {import('@cesium/engine').CesiumWidget} viewer
10
+ * @param {{hue?: number, range?: number, strength?: number}} [options]
11
+ */
12
+ constructor(viewer, options = {}) {
13
+ super(viewer);
14
+ this.hue_ = options.hue ?? 0;
15
+ this.range_ = options.range ?? 60;
16
+ this.strength_ = options.strength ?? 1;
17
+ }
18
+ /** @override */
19
+ createStage_() {
20
+ return new PostProcessStage({
21
+ fragmentShader: ColorIsolationShader,
22
+ uniforms: {
23
+ hue: () => this.hue_ / 360,
24
+ range: () => this.range_ / 360,
25
+ strength: () => this.strength_,
26
+ },
27
+ });
28
+ }
29
+ /**
30
+ * Hue kept in color, in degrees: 0 red, 60 yellow, 120 green, 180 cyan,
31
+ * 240 blue, 300 magenta.
32
+ */
33
+ get hue() {
34
+ return this.hue_;
35
+ }
36
+ set hue(value) {
37
+ this.hue_ = value;
38
+ this.viewer.scene.requestRender();
39
+ }
40
+ /**
41
+ * Half width of the hues kept, in degrees.
42
+ */
43
+ get range() {
44
+ return this.range_;
45
+ }
46
+ set range(value) {
47
+ this.range_ = value;
48
+ this.viewer.scene.requestRender();
49
+ }
50
+ /**
51
+ * How gray the rest turns, 0 to 1.
52
+ */
53
+ get strength() {
54
+ return this.strength_;
55
+ }
56
+ set strength(value) {
57
+ this.strength_ = value;
58
+ this.viewer.scene.requestRender();
59
+ }
60
+ }
61
+ //# sourceMappingURL=color-isolation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-isolation.js","sourceRoot":"","sources":["../src/color-isolation.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,MAAM;IAChD;;;OAGG;IACH,YAAY,MAAM,EAAE,OAAO,GAAG,EAAE;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,gBAAgB;IAChB,YAAY;QACV,OAAO,IAAI,gBAAgB,CAAC;YAC1B,cAAc,EAAE,oBAAoB;YACpC,QAAQ,EAAE;gBACR,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG;gBAC1B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG;gBAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS;aAC/B;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,CAAC,KAAK;QACX,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAK;QACb,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK;QAChB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @param {import('@cesium/engine').Scene} scene
3
+ */
4
+ export declare function acquireTerrainDepth(scene: import('@cesium/engine').Scene): void;
5
+ /**
6
+ * @param {import('@cesium/engine').Scene} scene
7
+ */
8
+ export declare function releaseTerrainDepth(scene: import('@cesium/engine').Scene): void;
9
+ //# sourceMappingURL=depth-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"depth-test.d.ts","sourceRoot":"","sources":["../src/depth-test.js"],"names":[],"mappings":"AAMA;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAF9B,OAAO,gBAAgB,EAAE,KAEK,QAYxC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAF9B,OAAO,gBAAgB,EAAE,KAEK,QAUxC"}
@@ -0,0 +1,35 @@
1
+ // The post-process stages only get the depth of the terrain when it is depth tested. Several
2
+ // effects may need it at once: the first one turns depth testing on, the last one restores it.
3
+ /** @type {WeakMap<import('@cesium/engine').Globe, {count: number, previous: boolean}>} */
4
+ const users = new WeakMap();
5
+ /**
6
+ * @param {import('@cesium/engine').Scene} scene
7
+ */
8
+ export function acquireTerrainDepth(scene) {
9
+ const globe = scene.globe;
10
+ if (!globe) {
11
+ return;
12
+ }
13
+ const user = users.get(globe);
14
+ if (user) {
15
+ user.count++;
16
+ return;
17
+ }
18
+ users.set(globe, { count: 1, previous: globe.depthTestAgainstTerrain });
19
+ globe.depthTestAgainstTerrain = true;
20
+ }
21
+ /**
22
+ * @param {import('@cesium/engine').Scene} scene
23
+ */
24
+ export function releaseTerrainDepth(scene) {
25
+ const globe = scene.globe;
26
+ const user = globe && users.get(globe);
27
+ if (!globe || !user) {
28
+ return;
29
+ }
30
+ if (--user.count === 0) {
31
+ globe.depthTestAgainstTerrain = user.previous;
32
+ users.delete(globe);
33
+ }
34
+ }
35
+ //# sourceMappingURL=depth-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"depth-test.js","sourceRoot":"","sources":["../src/depth-test.js"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,+FAA+F;AAE/F,0FAA0F;AAC1F,MAAM,KAAK,GAAG,IAAI,OAAO,EAAE,CAAC;AAE5B;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAK;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,uBAAuB,EAAC,CAAC,CAAC;IACtE,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAK;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IACD,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9C,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { PostProcessStage } from '@cesium/engine';
2
+ import Effect from './effect.js';
3
+ /**
4
+ * A digital FPV video feed: clean, then at times broken by a weak signal
5
+ * into macroblocks, displaced blocks and strips and split colors, sometimes
6
+ * with a short black screen. While active the scene renders at 30 frames per
7
+ * second, also in requestRenderMode.
8
+ */
9
+ export default class DigitalVideo extends Effect {
10
+ breakup_: number;
11
+ /** @type {{start: number, duration: number, blackout: boolean} | undefined} */
12
+ episode_: {
13
+ start: number;
14
+ duration: number;
15
+ blackout: boolean;
16
+ } | undefined;
17
+ updated_: number;
18
+ severity_: number;
19
+ blackout_: number;
20
+ onPreRender_: () => void;
21
+ /**
22
+ * @param {import('@cesium/engine').CesiumWidget} viewer
23
+ * @param {{breakup?: number}} [options]
24
+ */
25
+ constructor(viewer: import('@cesium/engine').CesiumWidget, options?: {
26
+ breakup?: number;
27
+ });
28
+ /** @override */
29
+ createStage_(): PostProcessStage;
30
+ /**
31
+ * @override
32
+ * @param {import('@cesium/engine').Scene} scene
33
+ */
34
+ activated_(scene: import('@cesium/engine').Scene): void;
35
+ /**
36
+ * @override
37
+ * @param {import('@cesium/engine').Scene} scene
38
+ */
39
+ deactivating_(scene: import('@cesium/engine').Scene): void;
40
+ update_(): void;
41
+ /**
42
+ * How often and how badly the signal breaks up, 0 to 1.
43
+ */
44
+ get breakup(): number;
45
+ set breakup(value: number);
46
+ }
47
+ //# sourceMappingURL=digital-video.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digital-video.d.ts","sourceRoot":"","sources":["../src/digital-video.js"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,MAAM,MAAM,aAAa,CAAC;AAajC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,MAAM;IAOvC,QAAQ;IAEb,+EAA+E;IAC1E,QAAQ,EADF;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAC,GAAG,SAAS;IAGtE,QAAQ;IAER,SAAS;IACT,SAAS;IACT,YAAY;IAfnB;;;OAGG;IACH,YAAY,MAAM,EAHP,OAAO,gBAAgB,EAAE,YAGlB,EAAE,OAAO,AAFxB,CAAqC,EAA7B;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAEI,EAY/B;IAED,gBAAgB;IAChB,YAAY,qBASX;IAED;;;OAGG;IACH,UAAU,CAAC,KAAK,EAFL,OAAO,gBAAgB,EAAE,KAEpB,QAIf;IAED;;;OAGG;IACH,aAAa,CAAC,KAAK,EAFR,OAAO,gBAAgB,EAAE,KAEjB,QAIlB;IAMD,OAAO,SAoBN;IAED;;OAEG;IACH,IAAI,OAAO,WAEV;IAED,IAAI,OAAO,CAAC,KAAK,QAAA,EAEhB;CACF"}
@@ -0,0 +1,102 @@
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 DigitalVideoShader from './shaders/DigitalVideo.js';
6
+ import Hash from './shaders/Hash.js';
7
+ // digital FPV video runs at this rate
8
+ const FRAME_RATE = 30;
9
+ // at full breakup, a breakup starts on average every this many seconds
10
+ const MIN_INTERVAL = 2;
11
+ // length of a breakup, in seconds, and of its black screen
12
+ const DURATION = [0.4, 1.5];
13
+ const BLACKOUT = 0.25;
14
+ /**
15
+ * A digital FPV video feed: clean, then at times broken by a weak signal
16
+ * into macroblocks, displaced blocks and strips and split colors, sometimes
17
+ * with a short black screen. While active the scene renders at 30 frames per
18
+ * second, also in requestRenderMode.
19
+ */
20
+ export default class DigitalVideo extends Effect {
21
+ /**
22
+ * @param {import('@cesium/engine').CesiumWidget} viewer
23
+ * @param {{breakup?: number}} [options]
24
+ */
25
+ constructor(viewer, options = {}) {
26
+ super(viewer);
27
+ this.breakup_ = options.breakup ?? 0.5;
28
+ // the current breakup: start and length in seconds, and whether it goes black
29
+ /** @type {{start: number, duration: number, blackout: boolean} | undefined} */
30
+ this.episode_ = undefined;
31
+ // when the breakups were last updated, in seconds
32
+ this.updated_ = 0;
33
+ // the uniforms, updated once per frame
34
+ this.severity_ = 0;
35
+ this.blackout_ = 0;
36
+ this.onPreRender_ = () => this.update_();
37
+ }
38
+ /** @override */
39
+ createStage_() {
40
+ return new PostProcessStage({
41
+ fragmentShader: Hash + DigitalVideoShader,
42
+ uniforms: {
43
+ severity: () => this.severity_,
44
+ blackout: () => this.blackout_,
45
+ frame: () => Math.floor((performance.now() / 1000) * FRAME_RATE) % 100000,
46
+ },
47
+ });
48
+ }
49
+ /**
50
+ * @override
51
+ * @param {import('@cesium/engine').Scene} scene
52
+ */
53
+ activated_(scene) {
54
+ this.updated_ = performance.now() / 1000;
55
+ scene.preRender.addEventListener(this.onPreRender_);
56
+ acquireFrames(scene, FRAME_RATE);
57
+ }
58
+ /**
59
+ * @override
60
+ * @param {import('@cesium/engine').Scene} scene
61
+ */
62
+ deactivating_(scene) {
63
+ releaseFrames(scene, FRAME_RATE);
64
+ scene.preRender.removeEventListener(this.onPreRender_);
65
+ this.episode_ = undefined;
66
+ }
67
+ // before each render: end the finished breakup, start one with the chance of the time since the
68
+ // last update, so that breakups start at the same rate whatever the frame rate (at most a second,
69
+ // as a hidden page does not render), then how broken the picture is now: rising and falling over
70
+ // the breakup, black around its middle
71
+ update_() {
72
+ const now = performance.now() / 1000;
73
+ const elapsed = Math.min(now - this.updated_, 1);
74
+ this.updated_ = now;
75
+ if (this.episode_ && now > this.episode_.start + this.episode_.duration) {
76
+ this.episode_ = undefined;
77
+ }
78
+ if (!this.episode_ && Math.random() < 1 - Math.exp((-this.breakup_ / MIN_INTERVAL) * elapsed)) {
79
+ const duration = DURATION[0] + Math.random() * (DURATION[1] - DURATION[0]);
80
+ this.episode_ = { start: now, duration, blackout: Math.random() < 0.5 * this.breakup_ };
81
+ }
82
+ const episode = this.episode_;
83
+ if (!episode) {
84
+ this.severity_ = 0;
85
+ this.blackout_ = 0;
86
+ return;
87
+ }
88
+ const t = (now - episode.start) / episode.duration;
89
+ this.severity_ = Math.max(0, Math.sin(CesiumMath.PI * Math.min(t, 1))) ** 0.7 * (0.4 + 0.6 * this.breakup_);
90
+ this.blackout_ = episode.blackout && Math.abs(t - 0.5) * episode.duration < BLACKOUT / 2 ? 1 : 0;
91
+ }
92
+ /**
93
+ * How often and how badly the signal breaks up, 0 to 1.
94
+ */
95
+ get breakup() {
96
+ return this.breakup_;
97
+ }
98
+ set breakup(value) {
99
+ this.breakup_ = value;
100
+ }
101
+ }
102
+ //# sourceMappingURL=digital-video.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digital-video.js","sourceRoot":"","sources":["../src/digital-video.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import { Cartesian3 } from '@cesium/core';
2
+ import { PostProcessStage } from '@cesium/engine';
3
+ import Effect from './effect.js';
4
+ /**
5
+ * A fixed-wing plane's OSD as ArduPilot draws it on an HD video system, in the
6
+ * blocky white glyphs of an analog chip with some in color: an artificial
7
+ * horizon of dots following the camera's pitch and roll as ArduPilot's does,
8
+ * the flight mode, the heading, the altitude since the display turned on, the
9
+ * vertical speed and the air speed of the camera, the throttle following its
10
+ * climb, the battery voltage draining with the throttle, and a made-up link
11
+ * quality; and in failsafe while the control link is lost, the RTL mode and the
12
+ * FAILSAFE warning.
13
+ */
14
+ export default class DroneDisplay extends Effect {
15
+ opacity_: number;
16
+ rxLoss_: boolean;
17
+ startTime_: number;
18
+ startHeight_: number;
19
+ speed_: number;
20
+ verticalSpeed_: number;
21
+ previousPosition_: Cartesian3;
22
+ previousHeight_: number;
23
+ previousTime_: number;
24
+ drained_: number;
25
+ onPostRender_: () => void;
26
+ /**
27
+ * @param {import('@cesium/engine').CesiumWidget} viewer
28
+ * @param {{opacity?: number}} [options]
29
+ */
30
+ constructor(viewer: import('@cesium/engine').CesiumWidget, options?: {
31
+ opacity?: number;
32
+ });
33
+ /**
34
+ * @override
35
+ * @param {import('@cesium/engine').Scene} scene
36
+ */
37
+ createStage_(scene: import('@cesium/engine').Scene): PostProcessStage;
38
+ /**
39
+ * @override
40
+ * @param {import('@cesium/engine').Scene} scene
41
+ */
42
+ activated_(scene: import('@cesium/engine').Scene): void;
43
+ /**
44
+ * @override
45
+ * @param {import('@cesium/engine').Scene} scene
46
+ */
47
+ deactivating_(scene: import('@cesium/engine').Scene): void;
48
+ /**
49
+ * Eases the speeds toward the camera's motion since the previous frame, and
50
+ * drains the battery at the throttle.
51
+ * @param {boolean} first whether there is no previous frame
52
+ */
53
+ measure_(first: boolean): void;
54
+ voltage_(): number;
55
+ linkQuality_(): number;
56
+ throttle_(): number;
57
+ /**
58
+ * Opacity of the display, 0 to 1.
59
+ */
60
+ get opacity(): number;
61
+ set opacity(value: number);
62
+ /**
63
+ * Whether the control link is lost: the mode turns to RTL, the link bar to
64
+ * red, and the FAILSAFE warning blinks below the middle. It blinks only while
65
+ * the scene renders.
66
+ */
67
+ get rxLoss(): boolean;
68
+ set rxLoss(value: boolean);
69
+ }
70
+ //# sourceMappingURL=drone-display.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drone-display.d.ts","sourceRoot":"","sources":["../src/drone-display.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAqB,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,MAAM,MAAM,aAAa,CAAC;AAiBjC;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,MAAM;IAOvC,QAAQ;IACR,OAAO;IAEP,UAAU;IACV,YAAY;IAGZ,MAAM;IACN,cAAc;IACd,iBAAiB;IACjB,eAAe;IACf,aAAa;IAEb,QAAQ;IACR,aAAa;IApBpB;;;OAGG;IACH,YAAY,MAAM,EAHP,OAAO,gBAAgB,EAAE,YAGlB,EAAE,OAAO,AAFxB,CAAqC,EAA7B;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAEI,EAiB/B;IAED;;;OAGG;IACH,YAAY,CAAC,KAAK,EAFP,OAAO,gBAAgB,EAAE,KAElB,oBAmBjB;IAED;;;OAGG;IACH,UAAU,CAAC,KAAK,EAFL,OAAO,gBAAgB,EAAE,KAEpB,QAQf;IAED;;;OAGG;IACH,aAAa,CAAC,KAAK,EAFR,OAAO,gBAAgB,EAAE,KAEjB,QAElB;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAFH,OAEG,QAgBb;IAGD,QAAQ,WAGP;IAGD,YAAY,WAKX;IAGD,SAAS,WAIR;IAED;;OAEG;IACH,IAAI,OAAO,WAEV;IAED,IAAI,OAAO,CAAC,KAAK,QAAA,EAGhB;IAED;;;;OAIG;IACH,IAAI,MAAM,YAET;IAED,IAAI,MAAM,CAAC,KAAK,SAAA,EAGf;CACF"}
@@ -0,0 +1,158 @@
1
+ import { Cartesian3, Math as CesiumMath } from '@cesium/core';
2
+ import { PostProcessStage } from '@cesium/engine';
3
+ import Effect from './effect.js';
4
+ import DroneDisplayShader from './shaders/DroneDisplay.js';
5
+ // a 3S battery, full, empty, the seconds it takes to drain between them at the cruise throttle,
6
+ // and how far its voltage sags at full throttle
7
+ const FULL_VOLTS = 12.6;
8
+ const EMPTY_VOLTS = 10.5;
9
+ const DRAIN_SECONDS = 2400;
10
+ const SAG_VOLTS = 0.4;
11
+ // the throttle in percent at cruise, and more of it per m/s of climb
12
+ const CRUISE_THROTTLE = 70;
13
+ const CLIMB_THROTTLE = 5;
14
+ // seconds for the speeds to get two thirds of the way to the camera's; after a pause longer than
15
+ // the gap, as in requestRenderMode, the motion is not measured across it
16
+ const SMOOTHING = 0.5;
17
+ const GAP = 0.5;
18
+ /**
19
+ * A fixed-wing plane's OSD as ArduPilot draws it on an HD video system, in the
20
+ * blocky white glyphs of an analog chip with some in color: an artificial
21
+ * horizon of dots following the camera's pitch and roll as ArduPilot's does,
22
+ * the flight mode, the heading, the altitude since the display turned on, the
23
+ * vertical speed and the air speed of the camera, the throttle following its
24
+ * climb, the battery voltage draining with the throttle, and a made-up link
25
+ * quality; and in failsafe while the control link is lost, the RTL mode and the
26
+ * FAILSAFE warning.
27
+ */
28
+ export default class DroneDisplay extends Effect {
29
+ /**
30
+ * @param {import('@cesium/engine').CesiumWidget} viewer
31
+ * @param {{opacity?: number}} [options]
32
+ */
33
+ constructor(viewer, options = {}) {
34
+ super(viewer);
35
+ this.opacity_ = options.opacity ?? 1;
36
+ this.rxLoss_ = false;
37
+ // when the display turned on, and the camera's height then
38
+ this.startTime_ = 0;
39
+ this.startHeight_ = 0;
40
+ // the camera's speed and vertical speed in m/s, smoothed, from its position and height at the
41
+ // previous frame
42
+ this.speed_ = 0;
43
+ this.verticalSpeed_ = 0;
44
+ this.previousPosition_ = new Cartesian3();
45
+ this.previousHeight_ = 0;
46
+ this.previousTime_ = 0;
47
+ // the share of the battery drained
48
+ this.drained_ = 0;
49
+ this.onPostRender_ = () => this.measure_(false);
50
+ }
51
+ /**
52
+ * @override
53
+ * @param {import('@cesium/engine').Scene} scene
54
+ */
55
+ createStage_(scene) {
56
+ return new PostProcessStage({
57
+ fragmentShader: DroneDisplayShader,
58
+ uniforms: {
59
+ opacity: () => this.opacity_,
60
+ pitch: () => CesiumMath.toDegrees(scene.camera.pitch),
61
+ roll: () => CesiumMath.toDegrees(CesiumMath.negativePiToPi(scene.camera.roll)),
62
+ heading: () => CesiumMath.toDegrees(scene.camera.heading),
63
+ altitude: () => scene.camera.positionCartographic.height - this.startHeight_,
64
+ verticalSpeed: () => this.verticalSpeed_,
65
+ speed: () => this.speed_ * 3.6,
66
+ voltage: () => this.voltage_(),
67
+ linkQuality: () => this.linkQuality_(),
68
+ throttle: () => this.throttle_(),
69
+ failsafe: () => (this.rxLoss_ ? 1 : 0),
70
+ // twice per second, as ArduPilot's blinking
71
+ blink: () => (Math.floor(performance.now() / 250) % 2 === 0 ? 1 : 0),
72
+ },
73
+ });
74
+ }
75
+ /**
76
+ * @override
77
+ * @param {import('@cesium/engine').Scene} scene
78
+ */
79
+ activated_(scene) {
80
+ this.startTime_ = performance.now() / 1000;
81
+ this.startHeight_ = scene.camera.positionCartographic.height;
82
+ this.speed_ = 0;
83
+ this.verticalSpeed_ = 0;
84
+ this.drained_ = 0;
85
+ this.measure_(true);
86
+ scene.postRender.addEventListener(this.onPostRender_);
87
+ }
88
+ /**
89
+ * @override
90
+ * @param {import('@cesium/engine').Scene} scene
91
+ */
92
+ deactivating_(scene) {
93
+ scene.postRender.removeEventListener(this.onPostRender_);
94
+ }
95
+ /**
96
+ * Eases the speeds toward the camera's motion since the previous frame, and
97
+ * drains the battery at the throttle.
98
+ * @param {boolean} first whether there is no previous frame
99
+ */
100
+ measure_(first) {
101
+ const camera = this.viewer.scene.camera;
102
+ const time = performance.now() / 1000;
103
+ const height = camera.positionCartographic.height;
104
+ const dt = time - this.previousTime_;
105
+ if (!first && dt > 0 && dt < GAP) {
106
+ const ease = 1 - Math.exp(-dt / SMOOTHING);
107
+ this.speed_ += (Cartesian3.distance(camera.positionWC, this.previousPosition_) / dt - this.speed_) * ease;
108
+ this.verticalSpeed_ += ((height - this.previousHeight_) / dt - this.verticalSpeed_) * ease;
109
+ }
110
+ if (!first) {
111
+ this.drained_ += (dt / DRAIN_SECONDS) * (this.throttle_() / CRUISE_THROTTLE);
112
+ }
113
+ Cartesian3.clone(camera.positionWC, this.previousPosition_);
114
+ this.previousHeight_ = height;
115
+ this.previousTime_ = time;
116
+ }
117
+ // the battery drains over the flight, and sags under the throttle's load
118
+ voltage_() {
119
+ const drained = (FULL_VOLTS - EMPTY_VOLTS) * Math.min(this.drained_, 1);
120
+ return FULL_VOLTS - drained - (SAG_VOLTS * this.throttle_()) / 100;
121
+ }
122
+ // the link hovers in the nineties, with a deep dip once in a while
123
+ linkQuality_() {
124
+ const seconds = performance.now() / 1000 - this.startTime_;
125
+ const wander = 4 * Math.abs(Math.sin(seconds * 0.9) * Math.sin(seconds * 0.37));
126
+ const dip = Math.sin(seconds * 0.11) > 0.97 ? 35 : 0;
127
+ return Math.round(99 - wander - dip);
128
+ }
129
+ // the throttle holds the cruise, more of it climbing and less diving, wandering a little
130
+ throttle_() {
131
+ const seconds = performance.now() / 1000 - this.startTime_;
132
+ const wander = 2 * Math.sin(seconds * 0.3) * Math.sin(seconds * 0.13 + 1);
133
+ return Math.round(CesiumMath.clamp(CRUISE_THROTTLE + CLIMB_THROTTLE * this.verticalSpeed_ + wander, 0, 100));
134
+ }
135
+ /**
136
+ * Opacity of the display, 0 to 1.
137
+ */
138
+ get opacity() {
139
+ return this.opacity_;
140
+ }
141
+ set opacity(value) {
142
+ this.opacity_ = value;
143
+ this.viewer.scene.requestRender();
144
+ }
145
+ /**
146
+ * Whether the control link is lost: the mode turns to RTL, the link bar to
147
+ * red, and the FAILSAFE warning blinks below the middle. It blinks only while
148
+ * the scene renders.
149
+ */
150
+ get rxLoss() {
151
+ return this.rxLoss_;
152
+ }
153
+ set rxLoss(value) {
154
+ this.rxLoss_ = value;
155
+ this.viewer.scene.requestRender();
156
+ }
157
+ }
158
+ //# sourceMappingURL=drone-display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drone-display.js","sourceRoot":"","sources":["../src/drone-display.js"],"names":[],"mappings":"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"}