@geoblocks/cesium-post-process 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/dist/analog-video.d.ts +71 -0
  2. package/dist/analog-video.d.ts.map +1 -0
  3. package/dist/analog-video.js +128 -0
  4. package/dist/analog-video.js.map +1 -0
  5. package/dist/blur.d.ts +13 -0
  6. package/dist/blur.d.ts.map +1 -0
  7. package/dist/blur.js +36 -0
  8. package/dist/blur.js.map +1 -0
  9. package/dist/cesium-post-process.d.ts +30 -0
  10. package/dist/cesium-post-process.d.ts.map +1 -0
  11. package/dist/cesium-post-process.js +31 -0
  12. package/dist/cesium-post-process.js.map +1 -0
  13. package/dist/cloud-cover.d.ts +28 -0
  14. package/dist/cloud-cover.d.ts.map +1 -0
  15. package/dist/cloud-cover.js +45 -0
  16. package/dist/cloud-cover.js.map +1 -0
  17. package/dist/cloud-map.d.ts +7 -0
  18. package/dist/cloud-map.d.ts.map +1 -0
  19. package/dist/cloud-map.js +118 -0
  20. package/dist/cloud-map.js.map +1 -0
  21. package/dist/cloud-noise.d.ts +13 -0
  22. package/dist/cloud-noise.d.ts.map +1 -0
  23. package/dist/cloud-noise.js +222 -0
  24. package/dist/cloud-noise.js.map +1 -0
  25. package/dist/clouds.d.ts +275 -0
  26. package/dist/clouds.d.ts.map +1 -0
  27. package/dist/clouds.js +642 -0
  28. package/dist/clouds.js.map +1 -0
  29. package/dist/color-isolation.d.ts +38 -0
  30. package/dist/color-isolation.d.ts.map +1 -0
  31. package/dist/color-isolation.js +61 -0
  32. package/dist/color-isolation.js.map +1 -0
  33. package/dist/depth-test.d.ts +9 -0
  34. package/dist/depth-test.d.ts.map +1 -0
  35. package/dist/depth-test.js +35 -0
  36. package/dist/depth-test.js.map +1 -0
  37. package/dist/digital-video.d.ts +47 -0
  38. package/dist/digital-video.d.ts.map +1 -0
  39. package/dist/digital-video.js +102 -0
  40. package/dist/digital-video.js.map +1 -0
  41. package/dist/drone-display.d.ts +70 -0
  42. package/dist/drone-display.d.ts.map +1 -0
  43. package/dist/drone-display.js +158 -0
  44. package/dist/drone-display.js.map +1 -0
  45. package/dist/dufour.d.ts +108 -0
  46. package/dist/dufour.d.ts.map +1 -0
  47. package/dist/dufour.js +201 -0
  48. package/dist/dufour.js.map +1 -0
  49. package/dist/effect.d.ts +33 -0
  50. package/dist/effect.d.ts.map +1 -0
  51. package/dist/effect.js +60 -0
  52. package/dist/effect.js.map +1 -0
  53. package/dist/focus.d.ts +11 -0
  54. package/dist/focus.d.ts.map +1 -0
  55. package/dist/focus.js +23 -0
  56. package/dist/focus.js.map +1 -0
  57. package/dist/frame-clock.d.ts +11 -0
  58. package/dist/frame-clock.d.ts.map +1 -0
  59. package/dist/frame-clock.js +57 -0
  60. package/dist/frame-clock.js.map +1 -0
  61. package/dist/height.d.ts +12 -0
  62. package/dist/height.d.ts.map +1 -0
  63. package/dist/height.js +22 -0
  64. package/dist/height.js.map +1 -0
  65. package/dist/infrared.d.ts +23 -0
  66. package/dist/infrared.d.ts.map +1 -0
  67. package/dist/infrared.js +36 -0
  68. package/dist/infrared.js.map +1 -0
  69. package/dist/jello.d.ts +52 -0
  70. package/dist/jello.d.ts.map +1 -0
  71. package/dist/jello.js +136 -0
  72. package/dist/jello.js.map +1 -0
  73. package/dist/lens-distortion.d.ts +33 -0
  74. package/dist/lens-distortion.d.ts.map +1 -0
  75. package/dist/lens-distortion.js +61 -0
  76. package/dist/lens-distortion.js.map +1 -0
  77. package/dist/lightning.d.ts +124 -0
  78. package/dist/lightning.d.ts.map +1 -0
  79. package/dist/lightning.js +301 -0
  80. package/dist/lightning.js.map +1 -0
  81. package/dist/local-frame.d.ts +38 -0
  82. package/dist/local-frame.d.ts.map +1 -0
  83. package/dist/local-frame.js +52 -0
  84. package/dist/local-frame.js.map +1 -0
  85. package/dist/motion-blur.d.ts +50 -0
  86. package/dist/motion-blur.d.ts.map +1 -0
  87. package/dist/motion-blur.js +108 -0
  88. package/dist/motion-blur.js.map +1 -0
  89. package/dist/precipitation.d.ts +146 -0
  90. package/dist/precipitation.d.ts.map +1 -0
  91. package/dist/precipitation.js +454 -0
  92. package/dist/precipitation.js.map +1 -0
  93. package/dist/rain-rings.d.ts +100 -0
  94. package/dist/rain-rings.d.ts.map +1 -0
  95. package/dist/rain-rings.js +181 -0
  96. package/dist/rain-rings.js.map +1 -0
  97. package/dist/shaders/Alpenglow.d.ts +3 -0
  98. package/dist/shaders/Alpenglow.d.ts.map +1 -0
  99. package/dist/shaders/Alpenglow.js +3 -0
  100. package/dist/shaders/Alpenglow.js.map +1 -0
  101. package/dist/shaders/AnalogVideo.d.ts +3 -0
  102. package/dist/shaders/AnalogVideo.d.ts.map +1 -0
  103. package/dist/shaders/AnalogVideo.js +3 -0
  104. package/dist/shaders/AnalogVideo.js.map +1 -0
  105. package/dist/shaders/Beam.d.ts +3 -0
  106. package/dist/shaders/Beam.d.ts.map +1 -0
  107. package/dist/shaders/Beam.js +3 -0
  108. package/dist/shaders/Beam.js.map +1 -0
  109. package/dist/shaders/CloudsBlur.d.ts +3 -0
  110. package/dist/shaders/CloudsBlur.d.ts.map +1 -0
  111. package/dist/shaders/CloudsBlur.js +3 -0
  112. package/dist/shaders/CloudsBlur.js.map +1 -0
  113. package/dist/shaders/CloudsComposite.d.ts +3 -0
  114. package/dist/shaders/CloudsComposite.d.ts.map +1 -0
  115. package/dist/shaders/CloudsComposite.js +3 -0
  116. package/dist/shaders/CloudsComposite.js.map +1 -0
  117. package/dist/shaders/CloudsDensity.d.ts +3 -0
  118. package/dist/shaders/CloudsDensity.d.ts.map +1 -0
  119. package/dist/shaders/CloudsDensity.js +3 -0
  120. package/dist/shaders/CloudsDensity.js.map +1 -0
  121. package/dist/shaders/CloudsDepth.d.ts +3 -0
  122. package/dist/shaders/CloudsDepth.d.ts.map +1 -0
  123. package/dist/shaders/CloudsDepth.js +3 -0
  124. package/dist/shaders/CloudsDepth.js.map +1 -0
  125. package/dist/shaders/CloudsMarch.d.ts +3 -0
  126. package/dist/shaders/CloudsMarch.d.ts.map +1 -0
  127. package/dist/shaders/CloudsMarch.js +3 -0
  128. package/dist/shaders/CloudsMarch.js.map +1 -0
  129. package/dist/shaders/CloudsResolve.d.ts +3 -0
  130. package/dist/shaders/CloudsResolve.d.ts.map +1 -0
  131. package/dist/shaders/CloudsResolve.js +3 -0
  132. package/dist/shaders/CloudsResolve.js.map +1 -0
  133. package/dist/shaders/CloudsShadow.d.ts +3 -0
  134. package/dist/shaders/CloudsShadow.d.ts.map +1 -0
  135. package/dist/shaders/CloudsShadow.js +3 -0
  136. package/dist/shaders/CloudsShadow.js.map +1 -0
  137. package/dist/shaders/CloudsShadowMap.d.ts +3 -0
  138. package/dist/shaders/CloudsShadowMap.d.ts.map +1 -0
  139. package/dist/shaders/CloudsShadowMap.js +3 -0
  140. package/dist/shaders/CloudsShadowMap.js.map +1 -0
  141. package/dist/shaders/CloudsSlab.d.ts +3 -0
  142. package/dist/shaders/CloudsSlab.d.ts.map +1 -0
  143. package/dist/shaders/CloudsSlab.js +3 -0
  144. package/dist/shaders/CloudsSlab.js.map +1 -0
  145. package/dist/shaders/ColorIsolation.d.ts +3 -0
  146. package/dist/shaders/ColorIsolation.d.ts.map +1 -0
  147. package/dist/shaders/ColorIsolation.js +3 -0
  148. package/dist/shaders/ColorIsolation.js.map +1 -0
  149. package/dist/shaders/DepthEdges.d.ts +3 -0
  150. package/dist/shaders/DepthEdges.d.ts.map +1 -0
  151. package/dist/shaders/DepthEdges.js +3 -0
  152. package/dist/shaders/DepthEdges.js.map +1 -0
  153. package/dist/shaders/DigitalVideo.d.ts +3 -0
  154. package/dist/shaders/DigitalVideo.d.ts.map +1 -0
  155. package/dist/shaders/DigitalVideo.js +3 -0
  156. package/dist/shaders/DigitalVideo.js.map +1 -0
  157. package/dist/shaders/DroneDisplay.d.ts +3 -0
  158. package/dist/shaders/DroneDisplay.d.ts.map +1 -0
  159. package/dist/shaders/DroneDisplay.js +3 -0
  160. package/dist/shaders/DroneDisplay.js.map +1 -0
  161. package/dist/shaders/Dufour.d.ts +3 -0
  162. package/dist/shaders/Dufour.d.ts.map +1 -0
  163. package/dist/shaders/Dufour.js +3 -0
  164. package/dist/shaders/Dufour.js.map +1 -0
  165. package/dist/shaders/EyeFromDepth.d.ts +3 -0
  166. package/dist/shaders/EyeFromDepth.d.ts.map +1 -0
  167. package/dist/shaders/EyeFromDepth.js +3 -0
  168. package/dist/shaders/EyeFromDepth.js.map +1 -0
  169. package/dist/shaders/Filmic.d.ts +3 -0
  170. package/dist/shaders/Filmic.d.ts.map +1 -0
  171. package/dist/shaders/Filmic.js +3 -0
  172. package/dist/shaders/Filmic.js.map +1 -0
  173. package/dist/shaders/Flashlight.d.ts +3 -0
  174. package/dist/shaders/Flashlight.d.ts.map +1 -0
  175. package/dist/shaders/Flashlight.js +3 -0
  176. package/dist/shaders/Flashlight.js.map +1 -0
  177. package/dist/shaders/Fog.d.ts +3 -0
  178. package/dist/shaders/Fog.d.ts.map +1 -0
  179. package/dist/shaders/Fog.js +3 -0
  180. package/dist/shaders/Fog.js.map +1 -0
  181. package/dist/shaders/Frame.d.ts +3 -0
  182. package/dist/shaders/Frame.d.ts.map +1 -0
  183. package/dist/shaders/Frame.js +3 -0
  184. package/dist/shaders/Frame.js.map +1 -0
  185. package/dist/shaders/Hash.d.ts +3 -0
  186. package/dist/shaders/Hash.d.ts.map +1 -0
  187. package/dist/shaders/Hash.js +3 -0
  188. package/dist/shaders/Hash.js.map +1 -0
  189. package/dist/shaders/Height.d.ts +3 -0
  190. package/dist/shaders/Height.d.ts.map +1 -0
  191. package/dist/shaders/Height.js +3 -0
  192. package/dist/shaders/Height.js.map +1 -0
  193. package/dist/shaders/Infrared.d.ts +3 -0
  194. package/dist/shaders/Infrared.d.ts.map +1 -0
  195. package/dist/shaders/Infrared.js +3 -0
  196. package/dist/shaders/Infrared.js.map +1 -0
  197. package/dist/shaders/Jello.d.ts +3 -0
  198. package/dist/shaders/Jello.d.ts.map +1 -0
  199. package/dist/shaders/Jello.js +3 -0
  200. package/dist/shaders/Jello.js.map +1 -0
  201. package/dist/shaders/LensDistortion.d.ts +3 -0
  202. package/dist/shaders/LensDistortion.d.ts.map +1 -0
  203. package/dist/shaders/LensDistortion.js +3 -0
  204. package/dist/shaders/LensDistortion.js.map +1 -0
  205. package/dist/shaders/Lightning.d.ts +3 -0
  206. package/dist/shaders/Lightning.d.ts.map +1 -0
  207. package/dist/shaders/Lightning.js +3 -0
  208. package/dist/shaders/Lightning.js.map +1 -0
  209. package/dist/shaders/MotionBlur.d.ts +3 -0
  210. package/dist/shaders/MotionBlur.d.ts.map +1 -0
  211. package/dist/shaders/MotionBlur.js +3 -0
  212. package/dist/shaders/MotionBlur.js.map +1 -0
  213. package/dist/shaders/MotionBlurVelocity.d.ts +3 -0
  214. package/dist/shaders/MotionBlurVelocity.d.ts.map +1 -0
  215. package/dist/shaders/MotionBlurVelocity.js +3 -0
  216. package/dist/shaders/MotionBlurVelocity.js.map +1 -0
  217. package/dist/shaders/Noise.d.ts +3 -0
  218. package/dist/shaders/Noise.d.ts.map +1 -0
  219. package/dist/shaders/Noise.js +3 -0
  220. package/dist/shaders/Noise.js.map +1 -0
  221. package/dist/shaders/Normal.d.ts +3 -0
  222. package/dist/shaders/Normal.d.ts.map +1 -0
  223. package/dist/shaders/Normal.js +3 -0
  224. package/dist/shaders/Normal.js.map +1 -0
  225. package/dist/shaders/Phase.d.ts +3 -0
  226. package/dist/shaders/Phase.d.ts.map +1 -0
  227. package/dist/shaders/Phase.js +3 -0
  228. package/dist/shaders/Phase.js.map +1 -0
  229. package/dist/shaders/Precipitation.d.ts +3 -0
  230. package/dist/shaders/Precipitation.d.ts.map +1 -0
  231. package/dist/shaders/Precipitation.js +3 -0
  232. package/dist/shaders/Precipitation.js.map +1 -0
  233. package/dist/shaders/PrecipitationShaftBlur.d.ts +3 -0
  234. package/dist/shaders/PrecipitationShaftBlur.d.ts.map +1 -0
  235. package/dist/shaders/PrecipitationShaftBlur.js +3 -0
  236. package/dist/shaders/PrecipitationShaftBlur.js.map +1 -0
  237. package/dist/shaders/PrecipitationShafts.d.ts +3 -0
  238. package/dist/shaders/PrecipitationShafts.d.ts.map +1 -0
  239. package/dist/shaders/PrecipitationShafts.js +3 -0
  240. package/dist/shaders/PrecipitationShafts.js.map +1 -0
  241. package/dist/shaders/PrecipitationWind.d.ts +3 -0
  242. package/dist/shaders/PrecipitationWind.d.ts.map +1 -0
  243. package/dist/shaders/PrecipitationWind.js +3 -0
  244. package/dist/shaders/PrecipitationWind.js.map +1 -0
  245. package/dist/shaders/RainHaze.d.ts +3 -0
  246. package/dist/shaders/RainHaze.d.ts.map +1 -0
  247. package/dist/shaders/RainHaze.js +3 -0
  248. package/dist/shaders/RainHaze.js.map +1 -0
  249. package/dist/shaders/RainRings.d.ts +3 -0
  250. package/dist/shaders/RainRings.d.ts.map +1 -0
  251. package/dist/shaders/RainRings.js +3 -0
  252. package/dist/shaders/RainRings.js.map +1 -0
  253. package/dist/shaders/Shockwave.d.ts +3 -0
  254. package/dist/shaders/Shockwave.d.ts.map +1 -0
  255. package/dist/shaders/Shockwave.js +3 -0
  256. package/dist/shaders/Shockwave.js.map +1 -0
  257. package/dist/shaders/SkyTable.d.ts +3 -0
  258. package/dist/shaders/SkyTable.d.ts.map +1 -0
  259. package/dist/shaders/SkyTable.js +3 -0
  260. package/dist/shaders/SkyTable.js.map +1 -0
  261. package/dist/shaders/SnowLine.d.ts +3 -0
  262. package/dist/shaders/SnowLine.d.ts.map +1 -0
  263. package/dist/shaders/SnowLine.js +3 -0
  264. package/dist/shaders/SnowLine.js.map +1 -0
  265. package/dist/shaders/SpeedLines.d.ts +3 -0
  266. package/dist/shaders/SpeedLines.d.ts.map +1 -0
  267. package/dist/shaders/SpeedLines.js +3 -0
  268. package/dist/shaders/SpeedLines.js.map +1 -0
  269. package/dist/shaders/Spotlight.d.ts +3 -0
  270. package/dist/shaders/Spotlight.d.ts.map +1 -0
  271. package/dist/shaders/Spotlight.js +3 -0
  272. package/dist/shaders/Spotlight.js.map +1 -0
  273. package/dist/shaders/SpotlightBeam.d.ts +3 -0
  274. package/dist/shaders/SpotlightBeam.d.ts.map +1 -0
  275. package/dist/shaders/SpotlightBeam.js +3 -0
  276. package/dist/shaders/SpotlightBeam.js.map +1 -0
  277. package/dist/shaders/SpotlightBeamBlur.d.ts +3 -0
  278. package/dist/shaders/SpotlightBeamBlur.d.ts.map +1 -0
  279. package/dist/shaders/SpotlightBeamBlur.js +3 -0
  280. package/dist/shaders/SpotlightBeamBlur.js.map +1 -0
  281. package/dist/shaders/SpotlightCone.d.ts +3 -0
  282. package/dist/shaders/SpotlightCone.d.ts.map +1 -0
  283. package/dist/shaders/SpotlightCone.js +3 -0
  284. package/dist/shaders/SpotlightCone.js.map +1 -0
  285. package/dist/shaders/Super8.d.ts +3 -0
  286. package/dist/shaders/Super8.d.ts.map +1 -0
  287. package/dist/shaders/Super8.js +3 -0
  288. package/dist/shaders/Super8.js.map +1 -0
  289. package/dist/shaders/Technicolor.d.ts +3 -0
  290. package/dist/shaders/Technicolor.d.ts.map +1 -0
  291. package/dist/shaders/Technicolor.js +3 -0
  292. package/dist/shaders/Technicolor.js.map +1 -0
  293. package/dist/shaders/TiltShift.d.ts +3 -0
  294. package/dist/shaders/TiltShift.d.ts.map +1 -0
  295. package/dist/shaders/TiltShift.js +3 -0
  296. package/dist/shaders/TiltShift.js.map +1 -0
  297. package/dist/shaders/Toy.d.ts +3 -0
  298. package/dist/shaders/Toy.d.ts.map +1 -0
  299. package/dist/shaders/Toy.js +3 -0
  300. package/dist/shaders/Toy.js.map +1 -0
  301. package/dist/shaders/Trails.d.ts +3 -0
  302. package/dist/shaders/Trails.d.ts.map +1 -0
  303. package/dist/shaders/Trails.js +3 -0
  304. package/dist/shaders/Trails.js.map +1 -0
  305. package/dist/shaders/ValleyFog.d.ts +3 -0
  306. package/dist/shaders/ValleyFog.d.ts.map +1 -0
  307. package/dist/shaders/ValleyFog.js +3 -0
  308. package/dist/shaders/ValleyFog.js.map +1 -0
  309. package/dist/shaders/WeatherMap.d.ts +3 -0
  310. package/dist/shaders/WeatherMap.d.ts.map +1 -0
  311. package/dist/shaders/WeatherMap.js +3 -0
  312. package/dist/shaders/WeatherMap.js.map +1 -0
  313. package/dist/shaders/WhiteModel.d.ts +3 -0
  314. package/dist/shaders/WhiteModel.d.ts.map +1 -0
  315. package/dist/shaders/WhiteModel.js +3 -0
  316. package/dist/shaders/WhiteModel.js.map +1 -0
  317. package/dist/snow-line.d.ts +117 -0
  318. package/dist/snow-line.d.ts.map +1 -0
  319. package/dist/snow-line.js +201 -0
  320. package/dist/snow-line.js.map +1 -0
  321. package/dist/speed-lines.d.ts +36 -0
  322. package/dist/speed-lines.d.ts.map +1 -0
  323. package/dist/speed-lines.js +65 -0
  324. package/dist/speed-lines.js.map +1 -0
  325. package/dist/spotlight.d.ts +84 -0
  326. package/dist/spotlight.d.ts.map +1 -0
  327. package/dist/spotlight.js +175 -0
  328. package/dist/spotlight.js.map +1 -0
  329. package/dist/strikes.d.ts +17 -0
  330. package/dist/strikes.d.ts.map +1 -0
  331. package/dist/strikes.js +30 -0
  332. package/dist/strikes.js.map +1 -0
  333. package/dist/super8.d.ts +78 -0
  334. package/dist/super8.d.ts.map +1 -0
  335. package/dist/super8.js +146 -0
  336. package/dist/super8.js.map +1 -0
  337. package/dist/technicolor.d.ts +32 -0
  338. package/dist/technicolor.d.ts.map +1 -0
  339. package/dist/technicolor.js +51 -0
  340. package/dist/technicolor.js.map +1 -0
  341. package/dist/tilt-shift.d.ts +60 -0
  342. package/dist/tilt-shift.d.ts.map +1 -0
  343. package/dist/tilt-shift.js +112 -0
  344. package/dist/tilt-shift.js.map +1 -0
  345. package/dist/toy.d.ts +110 -0
  346. package/dist/toy.d.ts.map +1 -0
  347. package/dist/toy.js +173 -0
  348. package/dist/toy.js.map +1 -0
  349. package/dist/valley-fog.d.ts +56 -0
  350. package/dist/valley-fog.d.ts.map +1 -0
  351. package/dist/valley-fog.js +94 -0
  352. package/dist/valley-fog.js.map +1 -0
  353. package/dist/weather-map.d.ts +132 -0
  354. package/dist/weather-map.d.ts.map +1 -0
  355. package/dist/weather-map.js +266 -0
  356. package/dist/weather-map.js.map +1 -0
  357. package/dist/white-model.d.ts +70 -0
  358. package/dist/white-model.d.ts.map +1 -0
  359. package/dist/white-model.js +94 -0
  360. package/dist/white-model.js.map +1 -0
  361. package/package.json +19 -40
  362. package/{cesium-post-process.js → src/cesium-post-process.js} +2 -0
  363. package/src/shaders/AnalogVideo.glsl +132 -0
  364. package/src/shaders/Beam.glsl +108 -0
  365. package/src/shaders/CloudsBlur.glsl +30 -0
  366. package/src/shaders/CloudsComposite.glsl +59 -0
  367. package/src/shaders/CloudsDensity.glsl +129 -0
  368. package/src/shaders/CloudsDepth.glsl +26 -0
  369. package/src/shaders/CloudsMarch.glsl +174 -0
  370. package/src/shaders/CloudsResolve.glsl +46 -0
  371. package/src/shaders/CloudsShadow.glsl +50 -0
  372. package/src/shaders/CloudsShadowMap.glsl +68 -0
  373. package/src/shaders/CloudsSlab.glsl +58 -0
  374. package/src/shaders/ColorIsolation.glsl +26 -0
  375. package/src/shaders/DepthEdges.glsl +81 -0
  376. package/src/shaders/DigitalVideo.glsl +65 -0
  377. package/src/shaders/DroneDisplay.glsl +337 -0
  378. package/src/shaders/Dufour.glsl +109 -0
  379. package/src/shaders/EyeFromDepth.glsl +36 -0
  380. package/src/shaders/Filmic.glsl +5 -0
  381. package/src/shaders/Fog.glsl +18 -0
  382. package/src/shaders/Frame.glsl +10 -0
  383. package/src/shaders/Hash.glsl +12 -0
  384. package/src/shaders/Height.glsl +25 -0
  385. package/src/shaders/Infrared.glsl +44 -0
  386. package/src/shaders/Jello.glsl +41 -0
  387. package/src/shaders/LensDistortion.glsl +24 -0
  388. package/src/shaders/Lightning.glsl +257 -0
  389. package/src/shaders/MotionBlur.glsl +71 -0
  390. package/src/shaders/MotionBlurVelocity.glsl +31 -0
  391. package/src/shaders/Noise.glsl +43 -0
  392. package/src/shaders/Normal.glsl +21 -0
  393. package/src/shaders/Phase.glsl +6 -0
  394. package/src/shaders/Precipitation.glsl +199 -0
  395. package/src/shaders/PrecipitationShaftBlur.glsl +21 -0
  396. package/src/shaders/PrecipitationShafts.glsl +84 -0
  397. package/src/shaders/PrecipitationWind.glsl +33 -0
  398. package/src/shaders/RainHaze.glsl +145 -0
  399. package/src/shaders/RainRings.glsl +64 -0
  400. package/src/shaders/SkyTable.glsl +23 -0
  401. package/src/shaders/SnowLine.glsl +97 -0
  402. package/src/shaders/SpeedLines.glsl +61 -0
  403. package/src/shaders/Spotlight.glsl +89 -0
  404. package/src/shaders/SpotlightBeam.glsl +49 -0
  405. package/src/shaders/SpotlightBeamBlur.glsl +27 -0
  406. package/src/shaders/SpotlightCone.glsl +37 -0
  407. package/src/shaders/Super8.glsl +90 -0
  408. package/src/shaders/Technicolor.glsl +30 -0
  409. package/src/shaders/TiltShift.glsl +34 -0
  410. package/src/shaders/Toy.glsl +46 -0
  411. package/src/shaders/ValleyFog.glsl +40 -0
  412. package/src/shaders/WeatherMap.glsl +33 -0
  413. package/src/shaders/WhiteModel.glsl +108 -0
  414. /package/{analog-video.js → src/analog-video.js} +0 -0
  415. /package/{blur.js → src/blur.js} +0 -0
  416. /package/{cloud-cover.js → src/cloud-cover.js} +0 -0
  417. /package/{cloud-map.js → src/cloud-map.js} +0 -0
  418. /package/{cloud-noise.js → src/cloud-noise.js} +0 -0
  419. /package/{clouds.js → src/clouds.js} +0 -0
  420. /package/{color-isolation.js → src/color-isolation.js} +0 -0
  421. /package/{depth-test.js → src/depth-test.js} +0 -0
  422. /package/{digital-video.js → src/digital-video.js} +0 -0
  423. /package/{drone-display.js → src/drone-display.js} +0 -0
  424. /package/{dufour.js → src/dufour.js} +0 -0
  425. /package/{effect.js → src/effect.js} +0 -0
  426. /package/{focus.js → src/focus.js} +0 -0
  427. /package/{frame-clock.js → src/frame-clock.js} +0 -0
  428. /package/{height.js → src/height.js} +0 -0
  429. /package/{infrared.js → src/infrared.js} +0 -0
  430. /package/{jello.js → src/jello.js} +0 -0
  431. /package/{lens-distortion.js → src/lens-distortion.js} +0 -0
  432. /package/{lightning.js → src/lightning.js} +0 -0
  433. /package/{local-frame.js → src/local-frame.js} +0 -0
  434. /package/{motion-blur.js → src/motion-blur.js} +0 -0
  435. /package/{precipitation.js → src/precipitation.js} +0 -0
  436. /package/{rain-rings.js → src/rain-rings.js} +0 -0
  437. /package/{shaders → src/shaders}/Alpenglow.js +0 -0
  438. /package/{shaders → src/shaders}/AnalogVideo.js +0 -0
  439. /package/{shaders → src/shaders}/Beam.js +0 -0
  440. /package/{shaders → src/shaders}/CloudsBlur.js +0 -0
  441. /package/{shaders → src/shaders}/CloudsComposite.js +0 -0
  442. /package/{shaders → src/shaders}/CloudsDensity.js +0 -0
  443. /package/{shaders → src/shaders}/CloudsDepth.js +0 -0
  444. /package/{shaders → src/shaders}/CloudsMarch.js +0 -0
  445. /package/{shaders → src/shaders}/CloudsResolve.js +0 -0
  446. /package/{shaders → src/shaders}/CloudsShadow.js +0 -0
  447. /package/{shaders → src/shaders}/CloudsShadowMap.js +0 -0
  448. /package/{shaders → src/shaders}/CloudsSlab.js +0 -0
  449. /package/{shaders → src/shaders}/ColorIsolation.js +0 -0
  450. /package/{shaders → src/shaders}/DepthEdges.js +0 -0
  451. /package/{shaders → src/shaders}/DigitalVideo.js +0 -0
  452. /package/{shaders → src/shaders}/DroneDisplay.js +0 -0
  453. /package/{shaders → src/shaders}/Dufour.js +0 -0
  454. /package/{shaders → src/shaders}/EyeFromDepth.js +0 -0
  455. /package/{shaders → src/shaders}/Filmic.js +0 -0
  456. /package/{shaders → src/shaders}/Flashlight.js +0 -0
  457. /package/{shaders → src/shaders}/Fog.js +0 -0
  458. /package/{shaders → src/shaders}/Frame.js +0 -0
  459. /package/{shaders → src/shaders}/Hash.js +0 -0
  460. /package/{shaders → src/shaders}/Height.js +0 -0
  461. /package/{shaders → src/shaders}/Infrared.js +0 -0
  462. /package/{shaders → src/shaders}/Jello.js +0 -0
  463. /package/{shaders → src/shaders}/LensDistortion.js +0 -0
  464. /package/{shaders → src/shaders}/Lightning.js +0 -0
  465. /package/{shaders → src/shaders}/MotionBlur.js +0 -0
  466. /package/{shaders → src/shaders}/MotionBlurVelocity.js +0 -0
  467. /package/{shaders → src/shaders}/Noise.js +0 -0
  468. /package/{shaders → src/shaders}/Normal.js +0 -0
  469. /package/{shaders → src/shaders}/Phase.js +0 -0
  470. /package/{shaders → src/shaders}/Precipitation.js +0 -0
  471. /package/{shaders → src/shaders}/PrecipitationShaftBlur.js +0 -0
  472. /package/{shaders → src/shaders}/PrecipitationShafts.js +0 -0
  473. /package/{shaders → src/shaders}/PrecipitationWind.js +0 -0
  474. /package/{shaders → src/shaders}/RainHaze.js +0 -0
  475. /package/{shaders → src/shaders}/RainRings.js +0 -0
  476. /package/{shaders → src/shaders}/Shockwave.js +0 -0
  477. /package/{shaders → src/shaders}/SkyTable.js +0 -0
  478. /package/{shaders → src/shaders}/SnowLine.js +0 -0
  479. /package/{shaders → src/shaders}/SpeedLines.js +0 -0
  480. /package/{shaders → src/shaders}/Spotlight.js +0 -0
  481. /package/{shaders → src/shaders}/SpotlightBeam.js +0 -0
  482. /package/{shaders → src/shaders}/SpotlightBeamBlur.js +0 -0
  483. /package/{shaders → src/shaders}/SpotlightCone.js +0 -0
  484. /package/{shaders → src/shaders}/Super8.js +0 -0
  485. /package/{shaders → src/shaders}/Technicolor.js +0 -0
  486. /package/{shaders → src/shaders}/TiltShift.js +0 -0
  487. /package/{shaders → src/shaders}/Toy.js +0 -0
  488. /package/{shaders → src/shaders}/Trails.js +0 -0
  489. /package/{shaders → src/shaders}/ValleyFog.js +0 -0
  490. /package/{shaders → src/shaders}/WeatherMap.js +0 -0
  491. /package/{shaders → src/shaders}/WhiteModel.js +0 -0
  492. /package/{snow-line.js → src/snow-line.js} +0 -0
  493. /package/{speed-lines.js → src/speed-lines.js} +0 -0
  494. /package/{spotlight.js → src/spotlight.js} +0 -0
  495. /package/{strikes.js → src/strikes.js} +0 -0
  496. /package/{super8.js → src/super8.js} +0 -0
  497. /package/{technicolor.js → src/technicolor.js} +0 -0
  498. /package/{tilt-shift.js → src/tilt-shift.js} +0 -0
  499. /package/{toy.js → src/toy.js} +0 -0
  500. /package/{valley-fog.js → src/valley-fog.js} +0 -0
  501. /package/{weather-map.js → src/weather-map.js} +0 -0
  502. /package/{white-model.js → src/white-model.js} +0 -0
@@ -0,0 +1,266 @@
1
+ import { Cartesian4, Math as CesiumMath } from '@cesium/core';
2
+ // @ts-expect-error the engine exports its textures, but does not type them
3
+ import { Texture } from '@cesium/engine';
4
+ const TWO_PI = CesiumMath.TWO_PI;
5
+ // the max map's texels are blocks of this many pixels of the map across
6
+ const POOL = 4;
7
+ /**
8
+ * Where it rains: an image whose red channel is the local intensity, 0 to 1,
9
+ * over a rectangle of longitudes and latitudes, north up, not crossing the
10
+ * antimeridian. Outside the rectangle there is none, so the image should
11
+ * fade to 0 at its edges.
12
+ * @typedef {{image: HTMLCanvasElement | ImageData | {width: number, height: number, data: Uint8ClampedArray}, rectangle: import('@cesium/core').Rectangle}} WeatherMapOptions
13
+ */
14
+ /**
15
+ * The pixels of an image, read once.
16
+ * @param {WeatherMapOptions['image']} image
17
+ */
18
+ export function imageData(image) {
19
+ return 'data' in image ? image : image.getContext('2d', { willReadFrequently: true })?.getImageData(0, 0, image.width, image.height);
20
+ }
21
+ /**
22
+ * A texture's source from an image: a canvas or an ImageData as it is, other pixels as an array,
23
+ * which Cesium flips as it flips an image.
24
+ * @param {HTMLCanvasElement | ImageData | {width: number, height: number, data: Uint8ClampedArray}} image
25
+ */
26
+ function textureSource(image) {
27
+ if (!('data' in image) || (typeof ImageData !== 'undefined' && image instanceof ImageData)) {
28
+ return image;
29
+ }
30
+ const { width, height, data } = image;
31
+ return { width, height, arrayBufferView: new Uint8Array(data.buffer, data.byteOffset, data.length) };
32
+ }
33
+ /**
34
+ * The highest value of each channel of an image, 0 to 1.
35
+ * @param {{data: Uint8ClampedArray} | undefined} data
36
+ */
37
+ function highest(data) {
38
+ const max = [0, 0, 0, 0];
39
+ const values = data?.data ?? [];
40
+ for (let i = 0; i < values.length; i += 4) {
41
+ for (let channel = 0; channel < 4; channel++) {
42
+ max[channel] = Math.max(max[channel], values[i + channel]);
43
+ }
44
+ }
45
+ return max.map((value) => value / 255);
46
+ }
47
+ /**
48
+ * The highest value of each channel of images of the same size around each block of POOL x POOL
49
+ * pixels: in the block and its 8 neighbors, as RGBA bytes. A ray sampled less than a block apart
50
+ * then finds every cell of rain it passes, however small.
51
+ * @param {Array<{width: number, height: number, data: Uint8ClampedArray} | undefined>} images
52
+ */
53
+ function maxPool(images) {
54
+ const { width, height } = /** @type {{width: number, height: number}} */ (images[0]);
55
+ const w = Math.ceil(width / POOL);
56
+ const h = Math.ceil(height / POOL);
57
+ const pooled = new Uint8Array(w * h * 4);
58
+ for (const image of images) {
59
+ if (!image) {
60
+ continue;
61
+ }
62
+ for (let y = 0; y < height; y++) {
63
+ for (let x = 0; x < width; x++) {
64
+ const i = 4 * (Math.floor(y / POOL) * w + Math.floor(x / POOL));
65
+ for (let channel = 0; channel < 4; channel++) {
66
+ pooled[i + channel] = Math.max(pooled[i + channel], image.data[4 * (y * width + x) + channel]);
67
+ }
68
+ }
69
+ }
70
+ }
71
+ const data = new Uint8Array(w * h * 4);
72
+ for (let y = 0; y < h; y++) {
73
+ for (let x = 0; x < w; x++) {
74
+ for (let channel = 0; channel < 4; channel++) {
75
+ let max = 0;
76
+ for (let dy = Math.max(y - 1, 0); dy <= Math.min(y + 1, h - 1); dy++) {
77
+ for (let dx = Math.max(x - 1, 0); dx <= Math.min(x + 1, w - 1); dx++) {
78
+ max = Math.max(max, pooled[4 * (dy * w + dx) + channel]);
79
+ }
80
+ }
81
+ data[4 * (y * w + x) + channel] = max;
82
+ }
83
+ }
84
+ }
85
+ return { width: w, height: h, data };
86
+ }
87
+ /**
88
+ * A map of the rain for the shaders, WeatherMap.glsl's uniforms, and its
89
+ * intensity at a point on the CPU, bilinear as the shaders sample it. Without
90
+ * a map, the intensity everywhere is the empty value: 1 for rain everywhere,
91
+ * 0 for none. A next map, over the same rectangle and of the same size, crossfades from the map to
92
+ * it by the blend, as the radar from one hour to the next.
93
+ */
94
+ export default class WeatherMap {
95
+ /**
96
+ * @param {number} empty the intensity everywhere without a map
97
+ */
98
+ constructor(empty) {
99
+ this.empty_ = empty;
100
+ /** @type {WeatherMapOptions | undefined} */
101
+ this.map_ = undefined;
102
+ /** @type {{width: number, height: number, data: Uint8ClampedArray} | undefined} */
103
+ this.data_ = undefined;
104
+ /** @type {WeatherMapOptions | undefined} */
105
+ this.nextMap_ = undefined;
106
+ /** @type {{width: number, height: number, data: Uint8ClampedArray} | undefined} */
107
+ this.nextData_ = undefined;
108
+ /**
109
+ * From the map, 0, to the next one, 1.
110
+ */
111
+ this.blend = 0;
112
+ /**
113
+ * The rectangle in the ellipsoid's texture coordinates: its west and
114
+ * south, and one over its width and height; the whole globe without a map.
115
+ */
116
+ this.bounds = new Cartesian4(0, 0, 1, 1);
117
+ /**
118
+ * The highest intensity on the map, 0 to 1: the empty value without a map; and the highest
119
+ * value of each of its channels.
120
+ */
121
+ this.maxIntensity = empty;
122
+ this.maxValues = [empty, empty, empty, empty];
123
+ // made when the shaders first need it: a stage given an image makes its texture a frame after
124
+ // it is set, and draws without one in between
125
+ /** @type {any} */
126
+ this.texture_ = undefined;
127
+ /** @type {any} */
128
+ this.nextTexture_ = undefined;
129
+ /** @type {{width: number, height: number, data: Uint8Array} | undefined} */
130
+ this.maxImage_ = undefined;
131
+ /** @type {any} */
132
+ this.maxTexture_ = undefined;
133
+ }
134
+ get map() {
135
+ return this.map_;
136
+ }
137
+ set map(value) {
138
+ this.map_ = value;
139
+ if (!value) {
140
+ this.data_ = undefined;
141
+ Cartesian4.fromElements(0, 0, 1, 1, this.bounds);
142
+ this.maxIntensity = this.empty_;
143
+ }
144
+ else {
145
+ const { image, rectangle } = value;
146
+ this.data_ = imageData(image);
147
+ Cartesian4.fromElements(rectangle.west / TWO_PI + 0.5, rectangle.south / CesiumMath.PI + 0.5, TWO_PI / (rectangle.east - rectangle.west), CesiumMath.PI / (rectangle.north - rectangle.south), this.bounds);
148
+ }
149
+ this.updateMaxIntensity_();
150
+ // made again from the new image when the shaders next need it
151
+ this.texture_ = this.texture_?.destroy();
152
+ this.clearMaxImage_();
153
+ }
154
+ get nextMap() {
155
+ return this.nextMap_;
156
+ }
157
+ set nextMap(value) {
158
+ this.nextMap_ = value;
159
+ this.nextData_ = value && imageData(value.image);
160
+ this.updateMaxIntensity_();
161
+ this.nextTexture_ = this.nextTexture_?.destroy();
162
+ this.clearMaxImage_();
163
+ }
164
+ clearMaxImage_() {
165
+ this.maxImage_ = undefined;
166
+ this.maxTexture_ = this.maxTexture_?.destroy();
167
+ }
168
+ /**
169
+ * The highest intensity around each block of the map's pixels, over the map and the next one,
170
+ * made when first needed: undefined without a map.
171
+ */
172
+ maxImage() {
173
+ if (this.map_ && !this.maxImage_) {
174
+ this.maxImage_ = maxPool([this.data_, this.nextData_]);
175
+ }
176
+ return this.maxImage_;
177
+ }
178
+ updateMaxIntensity_() {
179
+ const map = highest(this.data_);
180
+ const next = highest(this.nextMap_ ? this.nextData_ : undefined);
181
+ this.maxValues = this.map_ ? map.map((value, channel) => Math.max(value, next[channel])) : [this.empty_, this.empty_, this.empty_, this.empty_];
182
+ this.maxIntensity = this.maxValues[0];
183
+ }
184
+ /**
185
+ * The intensity at a point, 0 to 1, bilinear as the shaders sample it: the
186
+ * empty value without a map, 0 outside its rectangle.
187
+ * @param {number} longitude radians
188
+ * @param {number} latitude radians
189
+ */
190
+ intensityAt(longitude, latitude) {
191
+ if (!this.map_ || !this.data_) {
192
+ return this.empty_;
193
+ }
194
+ const { west, south, east, north } = this.map_.rectangle;
195
+ const u = (longitude - west) / (east - west);
196
+ const v = (latitude - south) / (north - south);
197
+ if (u < 0 || u > 1 || v < 0 || v > 1) {
198
+ return 0;
199
+ }
200
+ const intensity = this.sample_(this.data_, u, v);
201
+ if (!this.nextData_) {
202
+ return intensity;
203
+ }
204
+ return intensity + (this.sample_(this.nextData_, u, v) - intensity) * this.blend;
205
+ }
206
+ /**
207
+ * An image's intensity, bilinear, at a point of its rectangle, 0 to 1 from its west and south.
208
+ * @param {{width: number, height: number, data: Uint8ClampedArray}} image
209
+ * @param {number} u
210
+ * @param {number} v
211
+ */
212
+ sample_(image, u, v) {
213
+ const { width, height, data } = image;
214
+ // the image's rows go down from the north
215
+ const x = CesiumMath.clamp(u * width - 0.5, 0, width - 1);
216
+ const y = CesiumMath.clamp((1 - v) * height - 0.5, 0, height - 1);
217
+ const x0 = Math.floor(x);
218
+ const y0 = Math.floor(y);
219
+ const x1 = Math.min(x0 + 1, width - 1);
220
+ const y1 = Math.min(y0 + 1, height - 1);
221
+ const red = (/** @type {number} */ column, /** @type {number} */ row) => data[4 * (row * width + column)] / 255;
222
+ const upper = red(x0, y0) + (red(x1, y0) - red(x0, y0)) * (x - x0);
223
+ const lower = red(x0, y1) + (red(x1, y1) - red(x0, y1)) * (x - x0);
224
+ return upper + (lower - upper) * (y - y0);
225
+ }
226
+ /**
227
+ * The map's texture, a pixel of the empty value without a map.
228
+ * @param {any} context the scene's context
229
+ */
230
+ texture(context) {
231
+ if (!this.texture_) {
232
+ const value = 255 * this.empty_;
233
+ this.texture_ = new Texture({ context, source: textureSource(this.map_?.image ?? new ImageData(new Uint8ClampedArray([value, value, value, 255]), 1, 1)) });
234
+ }
235
+ return this.texture_;
236
+ }
237
+ /**
238
+ * The next map's texture, the map's without one.
239
+ * @param {any} context the scene's context
240
+ */
241
+ nextTexture(context) {
242
+ if (!this.nextMap_) {
243
+ return this.texture(context);
244
+ }
245
+ this.nextTexture_ ??= new Texture({ context, source: textureSource(this.nextMap_.image) });
246
+ return this.nextTexture_;
247
+ }
248
+ /**
249
+ * The max map's texture, a pixel of the empty value without a map.
250
+ * @param {any} context the scene's context
251
+ */
252
+ maxTexture(context) {
253
+ if (!this.maxTexture_) {
254
+ const value = 255 * this.empty_;
255
+ const { width, height, data } = this.maxImage() ?? { width: 1, height: 1, data: new Uint8Array([value, value, value, 255]) };
256
+ this.maxTexture_ = new Texture({ context, source: { width, height, arrayBufferView: data } });
257
+ }
258
+ return this.maxTexture_;
259
+ }
260
+ destroy() {
261
+ this.texture_ = this.texture_?.destroy();
262
+ this.nextTexture_ = this.nextTexture_?.destroy();
263
+ this.maxTexture_ = this.maxTexture_?.destroy();
264
+ }
265
+ }
266
+ //# sourceMappingURL=weather-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"weather-map.js","sourceRoot":"","sources":["../src/weather-map.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,IAAI,IAAI,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5D,2EAA2E;AAC3E,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAEvC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;AACjC,wEAAwE;AACxE,MAAM,IAAI,GAAG,CAAC,CAAC;AAEf;;;;;;GAMG;AAEH;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,KAAK;IAC7B,OAAO,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,EAAC,kBAAkB,EAAE,IAAI,EAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AACrI,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,KAAK;IAC1B,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,SAAS,KAAK,WAAW,IAAI,KAAK,YAAY,SAAS,CAAC,EAAE,CAAC;QAC3F,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;IACpC,OAAO,EAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC;AACrG,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CAAC,IAAI;IACnB,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7C,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,SAAS,OAAO,CAAC,MAAM;IACrB,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,8CAA8C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBAChE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;oBAC7C,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;gBACjG,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;gBAC7C,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;oBACrE,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;wBACrE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;oBAC3D,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B;;OAEG;IACH,YAAY,KAAK;QACf,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,4CAA4C;QAC5C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,mFAAmF;QACnF,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,4CAA4C;QAC5C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,mFAAmF;QACnF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B;;WAEG;QACH,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf;;;WAGG;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC;;;WAGG;QACH,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9C,8FAA8F;QAC9F,8CAA8C;QAC9C,kBAAkB;QAClB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,kBAAkB;QAClB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,4EAA4E;QAC5E,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,kBAAkB;QAClB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,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,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAC9B,UAAU,CAAC,YAAY,CACrB,SAAS,CAAC,IAAI,GAAG,MAAM,GAAG,GAAG,EAC7B,SAAS,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,GAAG,GAAG,EACrC,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,EAC1C,UAAU,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,EACnD,IAAI,CAAC,MAAM,CACZ,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,8DAA8D;QAC9D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,KAAK;QACf,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;QACjD,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,mBAAmB;QACjB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAChJ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,SAAS,EAAE,QAAQ;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QACD,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IACnF,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;QACjB,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;QACpC,0CAA0C;QAC1C,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAClE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,CAAC,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC;QAChH,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACnE,OAAO,KAAK,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,OAAO;QACb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,iBAAiB,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;QAC5J,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,OAAO;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,YAAY,KAAK,IAAI,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,OAAO;QAChB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;YAChC,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EAAC,CAAC;YACzH,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAC,EAAC,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;IACjD,CAAC;CACF"}
@@ -0,0 +1,70 @@
1
+ import { Cartesian2 } from '@cesium/core';
2
+ import Toy from './toy.js';
3
+ /**
4
+ * A white model's look, as an architect's plaster model or clay render: every color turned to its
5
+ * value, the values pressed into a narrow range of whites (the darkest left black: a section's
6
+ * poché), darker where surfaces meet, the edges lit and shaded and finely outlined as the toy's,
7
+ * the sky a pale gradient if asked. A `Toy` with another grading: its options and properties,
8
+ * `saturation` 0 (an accent's hue kept above it), `warm` the plaster's tint.
9
+ */
10
+ export default class WhiteModel extends Toy {
11
+ values_: [number, number];
12
+ poche_: number;
13
+ occlusion_: number;
14
+ radius_: number;
15
+ /**
16
+ * @param {import('@cesium/engine').CesiumWidget} viewer
17
+ * @param {{light?: number, shade?: number, bevel?: number, outline?: number, jump?: number, saturation?: number, warm?: [number, number, number], values?: [number, number], poche?: number, occlusion?: number, radius?: number, sky?: [import('@cesium/core').Color, import('@cesium/core').Color]}} [options]
18
+ */
19
+ constructor(viewer: import('@cesium/engine').CesiumWidget, options?: {
20
+ light?: number;
21
+ shade?: number;
22
+ bevel?: number;
23
+ outline?: number;
24
+ jump?: number;
25
+ saturation?: number;
26
+ warm?: [number, number, number];
27
+ values?: [number, number];
28
+ poche?: number;
29
+ occlusion?: number;
30
+ radius?: number;
31
+ sky?: [import('@cesium/core').Color, import('@cesium/core').Color];
32
+ });
33
+ /**
34
+ * @override
35
+ * @protected
36
+ */
37
+ protected shader_(): string;
38
+ /**
39
+ * @override
40
+ * @protected
41
+ */
42
+ protected uniforms_(): {
43
+ values: () => Cartesian2;
44
+ poche: () => number;
45
+ occlusion: () => number;
46
+ radius: () => number;
47
+ };
48
+ /**
49
+ * The darkest and the lightest values, from 0 to 1: the scene's black and its white.
50
+ */
51
+ get values(): [number, number];
52
+ set values(value: [number, number]);
53
+ /**
54
+ * The value under which a color keeps it rather than being pressed into the whites, fading into
55
+ * them about it: a section's poché, solid black; 0 to press every color.
56
+ */
57
+ get poche(): number;
58
+ set poche(value: number);
59
+ /**
60
+ * How much darker the surfaces get where they meet, in a corner or at a wall's foot, 0 for none.
61
+ */
62
+ get occlusion(): number;
63
+ set occlusion(value: number);
64
+ /**
65
+ * How wide the corners' shadow is, in meters, 48 pixels at the most.
66
+ */
67
+ get radius(): number;
68
+ set radius(value: number);
69
+ }
70
+ //# sourceMappingURL=white-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"white-model.d.ts","sourceRoot":"","sources":["../src/white-model.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,GAAG,MAAM,UAAU,CAAC;AAK3B;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,GAAG;IAelC,OAAO;IACP,MAAM;IACN,UAAU;IACV,OAAO;IAjBd;;;OAGG;IACH,YAAY,MAAM,EAHP,OAAO,gBAAgB,EAAE,YAGlB,EAAE,OAAO,AAFxB,CAA8S,EAAtS;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,CAAC,OAAO,cAAc,EAAE,KAAK,EAAE,OAAO,cAAc,EAAE,KAAK,CAAC,CAAA;KAErQ,EAc/B;IAED;;;OAGG;IACH,UAAA,OAAO,WAEN;IAED;;;OAGG;IACH,UAAA,SAAS;;;;;MAQR;IAED;;OAEG;IACH,IAAI,MAAM,qBAET;IAED,IAAI,MAAM,CAAC,KAAK,kBAAA,EAGf;IAED;;;OAGG;IACH,IAAI,KAAK,WAER;IAED,IAAI,KAAK,CAAC,KAAK,QAAA,EAGd;IAED;;OAEG;IACH,IAAI,SAAS,WAEZ;IAED,IAAI,SAAS,CAAC,KAAK,QAAA,EAGlB;IAED;;OAEG;IACH,IAAI,MAAM,WAET;IAED,IAAI,MAAM,CAAC,KAAK,QAAA,EAGf;CACF"}
@@ -0,0 +1,94 @@
1
+ import { Cartesian2 } from '@cesium/core';
2
+ import Toy from './toy.js';
3
+ import WhiteModelShader from './shaders/WhiteModel.js';
4
+ const valuesScratch = new Cartesian2();
5
+ /**
6
+ * A white model's look, as an architect's plaster model or clay render: every color turned to its
7
+ * value, the values pressed into a narrow range of whites (the darkest left black: a section's
8
+ * poché), darker where surfaces meet, the edges lit and shaded and finely outlined as the toy's,
9
+ * the sky a pale gradient if asked. A `Toy` with another grading: its options and properties,
10
+ * `saturation` 0 (an accent's hue kept above it), `warm` the plaster's tint.
11
+ */
12
+ export default class WhiteModel extends Toy {
13
+ /**
14
+ * @param {import('@cesium/engine').CesiumWidget} viewer
15
+ * @param {{light?: number, shade?: number, bevel?: number, outline?: number, jump?: number, saturation?: number, warm?: [number, number, number], values?: [number, number], poche?: number, occlusion?: number, radius?: number, sky?: [import('@cesium/core').Color, import('@cesium/core').Color]}} [options]
16
+ */
17
+ constructor(viewer, options = {}) {
18
+ // the toy's options, each the white model's default when not given, or given as undefined
19
+ super(viewer, {
20
+ ...options,
21
+ light: options.light ?? 0.08,
22
+ shade: options.shade ?? 0.12,
23
+ outline: options.outline ?? 0.25,
24
+ saturation: options.saturation ?? 0,
25
+ warm: options.warm ?? [1, 0.995, 0.985],
26
+ });
27
+ this.values_ = options.values ?? [0.35, 0.97];
28
+ this.poche_ = options.poche ?? 0.1;
29
+ this.occlusion_ = options.occlusion ?? 0.35;
30
+ this.radius_ = options.radius ?? 1.5;
31
+ }
32
+ /**
33
+ * @override
34
+ * @protected
35
+ */
36
+ shader_() {
37
+ return WhiteModelShader;
38
+ }
39
+ /**
40
+ * @override
41
+ * @protected
42
+ */
43
+ uniforms_() {
44
+ return {
45
+ ...super.uniforms_(),
46
+ values: () => Cartesian2.fromArray(this.values_, 0, valuesScratch),
47
+ poche: () => this.poche_,
48
+ occlusion: () => this.occlusion_,
49
+ radius: () => this.radius_,
50
+ };
51
+ }
52
+ /**
53
+ * The darkest and the lightest values, from 0 to 1: the scene's black and its white.
54
+ */
55
+ get values() {
56
+ return this.values_;
57
+ }
58
+ set values(value) {
59
+ this.values_ = value;
60
+ this.viewer.scene.requestRender();
61
+ }
62
+ /**
63
+ * The value under which a color keeps it rather than being pressed into the whites, fading into
64
+ * them about it: a section's poché, solid black; 0 to press every color.
65
+ */
66
+ get poche() {
67
+ return this.poche_;
68
+ }
69
+ set poche(value) {
70
+ this.poche_ = value;
71
+ this.viewer.scene.requestRender();
72
+ }
73
+ /**
74
+ * How much darker the surfaces get where they meet, in a corner or at a wall's foot, 0 for none.
75
+ */
76
+ get occlusion() {
77
+ return this.occlusion_;
78
+ }
79
+ set occlusion(value) {
80
+ this.occlusion_ = value;
81
+ this.viewer.scene.requestRender();
82
+ }
83
+ /**
84
+ * How wide the corners' shadow is, in meters, 48 pixels at the most.
85
+ */
86
+ get radius() {
87
+ return this.radius_;
88
+ }
89
+ set radius(value) {
90
+ this.radius_ = value;
91
+ this.viewer.scene.requestRender();
92
+ }
93
+ }
94
+ //# sourceMappingURL=white-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"white-model.js","sourceRoot":"","sources":["../src/white-model.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AAEvD,MAAM,aAAa,GAAG,IAAI,UAAU,EAAE,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,GAAG;IACzC;;;OAGG;IACH,YAAY,MAAM,EAAE,OAAO,GAAG,EAAE;QAC9B,0FAA0F;QAC1F,KAAK,CAAC,MAAM,EAAE;YACZ,GAAG,OAAO;YACV,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;YAChC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;YACnC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;SACxC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,OAAO;YACL,GAAG,KAAK,CAAC,SAAS,EAAE;YACpB,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,aAAa,CAAC;YAClE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM;YACxB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU;YAChC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO;SAC3B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,KAAK;QACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;IAED;;;OAGG;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,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,SAAS,CAAC,KAAK;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,KAAK;QACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geoblocks/cesium-post-process",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "license": "BSD-3-Clause",
5
5
  "type": "module",
6
6
  "repository": {
@@ -8,47 +8,26 @@
8
8
  "url": "https://github.com/geoblocks/cesium-helpers/",
9
9
  "directory": "packages/cesium-post-process"
10
10
  },
11
- "main": "cesium-post-process.js",
12
- "module": "cesium-post-process.js",
11
+ "main": "dist/cesium-post-process.js",
12
+ "module": "dist/cesium-post-process.js",
13
+ "types": "dist/cesium-post-process.d.ts",
14
+ "exports": {
15
+ ".": {
16
+ "source": "./src/cesium-post-process.js",
17
+ "types": "./dist/cesium-post-process.d.ts",
18
+ "default": "./dist/cesium-post-process.js"
19
+ }
20
+ },
13
21
  "sideEffects": false,
14
22
  "files": [
15
- "analog-video.js",
16
- "blur.js",
17
- "cesium-post-process.js",
18
- "cloud-cover.js",
19
- "cloud-map.js",
20
- "cloud-noise.js",
21
- "clouds.js",
22
- "color-isolation.js",
23
- "depth-test.js",
24
- "digital-video.js",
25
- "dufour.js",
26
- "drone-display.js",
27
- "effect.js",
28
- "focus.js",
29
- "frame-clock.js",
30
- "height.js",
31
- "infrared.js",
32
- "jello.js",
33
- "lens-distortion.js",
34
- "lightning.js",
35
- "local-frame.js",
36
- "motion-blur.js",
37
- "precipitation.js",
38
- "rain-rings.js",
39
- "snow-line.js",
40
- "speed-lines.js",
41
- "spotlight.js",
42
- "strikes.js",
43
- "super8.js",
44
- "technicolor.js",
45
- "tilt-shift.js",
46
- "toy.js",
47
- "valley-fog.js",
48
- "weather-map.js",
49
- "white-model.js",
50
- "shaders/*.js"
23
+ "dist",
24
+ "src",
25
+ "!src/**/*.test.js"
51
26
  ],
27
+ "scripts": {
28
+ "build": "tsc -p .",
29
+ "prepack": "npm run build"
30
+ },
52
31
  "publishConfig": {
53
32
  "access": "public"
54
33
  },
@@ -56,5 +35,5 @@
56
35
  "@cesium/core": ">=0.1.0",
57
36
  "@cesium/engine": ">=10"
58
37
  },
59
- "gitHead": "c9101c5e42f96f2ccc28cfb396dbe08c55e29a09"
38
+ "gitHead": "a6d8fdfe6b9ad266fd8a4593c38efd24e9a5546b"
60
39
  }
@@ -4,6 +4,7 @@ export {default as ColorIsolation} from './color-isolation.js';
4
4
  export {default as DigitalVideo} from './digital-video.js';
5
5
  export {default as Dufour} from './dufour.js';
6
6
  export {default as DroneDisplay} from './drone-display.js';
7
+ export {default as Effect} from './effect.js';
7
8
  export {default as Infrared} from './infrared.js';
8
9
  export {default as Jello} from './jello.js';
9
10
  export {default as LensDistortion} from './lens-distortion.js';
@@ -23,6 +24,7 @@ export {default as WhiteModel} from './white-model.js';
23
24
 
24
25
  // the shader chunks the depth-based effects share, and the uniforms of Height, for effects of your own
25
26
  export {default as EyeFromDepth} from './shaders/EyeFromDepth.js';
27
+ export {default as Hash} from './shaders/Hash.js';
26
28
  export {default as Height} from './shaders/Height.js';
27
29
  export {heightUniforms} from './height.js';
28
30
  export {localFromEye} from './local-frame.js';