@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.
- package/dist/analog-video.d.ts +71 -0
- package/dist/analog-video.d.ts.map +1 -0
- package/dist/analog-video.js +128 -0
- package/dist/analog-video.js.map +1 -0
- package/dist/blur.d.ts +13 -0
- package/dist/blur.d.ts.map +1 -0
- package/dist/blur.js +36 -0
- package/dist/blur.js.map +1 -0
- package/dist/cesium-post-process.d.ts +30 -0
- package/dist/cesium-post-process.d.ts.map +1 -0
- package/dist/cesium-post-process.js +31 -0
- package/dist/cesium-post-process.js.map +1 -0
- package/dist/cloud-cover.d.ts +28 -0
- package/dist/cloud-cover.d.ts.map +1 -0
- package/dist/cloud-cover.js +45 -0
- package/dist/cloud-cover.js.map +1 -0
- package/dist/cloud-map.d.ts +7 -0
- package/dist/cloud-map.d.ts.map +1 -0
- package/dist/cloud-map.js +118 -0
- package/dist/cloud-map.js.map +1 -0
- package/dist/cloud-noise.d.ts +13 -0
- package/dist/cloud-noise.d.ts.map +1 -0
- package/dist/cloud-noise.js +222 -0
- package/dist/cloud-noise.js.map +1 -0
- package/dist/clouds.d.ts +275 -0
- package/dist/clouds.d.ts.map +1 -0
- package/dist/clouds.js +642 -0
- package/dist/clouds.js.map +1 -0
- package/dist/color-isolation.d.ts +38 -0
- package/dist/color-isolation.d.ts.map +1 -0
- package/dist/color-isolation.js +61 -0
- package/dist/color-isolation.js.map +1 -0
- package/dist/depth-test.d.ts +9 -0
- package/dist/depth-test.d.ts.map +1 -0
- package/dist/depth-test.js +35 -0
- package/dist/depth-test.js.map +1 -0
- package/dist/digital-video.d.ts +47 -0
- package/dist/digital-video.d.ts.map +1 -0
- package/dist/digital-video.js +102 -0
- package/dist/digital-video.js.map +1 -0
- package/dist/drone-display.d.ts +70 -0
- package/dist/drone-display.d.ts.map +1 -0
- package/dist/drone-display.js +158 -0
- package/dist/drone-display.js.map +1 -0
- package/dist/dufour.d.ts +108 -0
- package/dist/dufour.d.ts.map +1 -0
- package/dist/dufour.js +201 -0
- package/dist/dufour.js.map +1 -0
- package/dist/effect.d.ts +33 -0
- package/dist/effect.d.ts.map +1 -0
- package/dist/effect.js +60 -0
- package/dist/effect.js.map +1 -0
- package/dist/focus.d.ts +11 -0
- package/dist/focus.d.ts.map +1 -0
- package/dist/focus.js +23 -0
- package/dist/focus.js.map +1 -0
- package/dist/frame-clock.d.ts +11 -0
- package/dist/frame-clock.d.ts.map +1 -0
- package/dist/frame-clock.js +57 -0
- package/dist/frame-clock.js.map +1 -0
- package/dist/height.d.ts +12 -0
- package/dist/height.d.ts.map +1 -0
- package/dist/height.js +22 -0
- package/dist/height.js.map +1 -0
- package/dist/infrared.d.ts +23 -0
- package/dist/infrared.d.ts.map +1 -0
- package/dist/infrared.js +36 -0
- package/dist/infrared.js.map +1 -0
- package/dist/jello.d.ts +52 -0
- package/dist/jello.d.ts.map +1 -0
- package/dist/jello.js +136 -0
- package/dist/jello.js.map +1 -0
- package/dist/lens-distortion.d.ts +33 -0
- package/dist/lens-distortion.d.ts.map +1 -0
- package/dist/lens-distortion.js +61 -0
- package/dist/lens-distortion.js.map +1 -0
- package/dist/lightning.d.ts +124 -0
- package/dist/lightning.d.ts.map +1 -0
- package/dist/lightning.js +301 -0
- package/dist/lightning.js.map +1 -0
- package/dist/local-frame.d.ts +38 -0
- package/dist/local-frame.d.ts.map +1 -0
- package/dist/local-frame.js +52 -0
- package/dist/local-frame.js.map +1 -0
- package/dist/motion-blur.d.ts +50 -0
- package/dist/motion-blur.d.ts.map +1 -0
- package/dist/motion-blur.js +108 -0
- package/dist/motion-blur.js.map +1 -0
- package/dist/precipitation.d.ts +146 -0
- package/dist/precipitation.d.ts.map +1 -0
- package/dist/precipitation.js +454 -0
- package/dist/precipitation.js.map +1 -0
- package/dist/rain-rings.d.ts +100 -0
- package/dist/rain-rings.d.ts.map +1 -0
- package/dist/rain-rings.js +181 -0
- package/dist/rain-rings.js.map +1 -0
- package/dist/shaders/Alpenglow.d.ts +3 -0
- package/dist/shaders/Alpenglow.d.ts.map +1 -0
- package/dist/shaders/Alpenglow.js +3 -0
- package/dist/shaders/Alpenglow.js.map +1 -0
- package/dist/shaders/AnalogVideo.d.ts +3 -0
- package/dist/shaders/AnalogVideo.d.ts.map +1 -0
- package/dist/shaders/AnalogVideo.js +3 -0
- package/dist/shaders/AnalogVideo.js.map +1 -0
- package/dist/shaders/Beam.d.ts +3 -0
- package/dist/shaders/Beam.d.ts.map +1 -0
- package/dist/shaders/Beam.js +3 -0
- package/dist/shaders/Beam.js.map +1 -0
- package/dist/shaders/CloudsBlur.d.ts +3 -0
- package/dist/shaders/CloudsBlur.d.ts.map +1 -0
- package/dist/shaders/CloudsBlur.js +3 -0
- package/dist/shaders/CloudsBlur.js.map +1 -0
- package/dist/shaders/CloudsComposite.d.ts +3 -0
- package/dist/shaders/CloudsComposite.d.ts.map +1 -0
- package/dist/shaders/CloudsComposite.js +3 -0
- package/dist/shaders/CloudsComposite.js.map +1 -0
- package/dist/shaders/CloudsDensity.d.ts +3 -0
- package/dist/shaders/CloudsDensity.d.ts.map +1 -0
- package/dist/shaders/CloudsDensity.js +3 -0
- package/dist/shaders/CloudsDensity.js.map +1 -0
- package/dist/shaders/CloudsDepth.d.ts +3 -0
- package/dist/shaders/CloudsDepth.d.ts.map +1 -0
- package/dist/shaders/CloudsDepth.js +3 -0
- package/dist/shaders/CloudsDepth.js.map +1 -0
- package/dist/shaders/CloudsMarch.d.ts +3 -0
- package/dist/shaders/CloudsMarch.d.ts.map +1 -0
- package/dist/shaders/CloudsMarch.js +3 -0
- package/dist/shaders/CloudsMarch.js.map +1 -0
- package/dist/shaders/CloudsResolve.d.ts +3 -0
- package/dist/shaders/CloudsResolve.d.ts.map +1 -0
- package/dist/shaders/CloudsResolve.js +3 -0
- package/dist/shaders/CloudsResolve.js.map +1 -0
- package/dist/shaders/CloudsShadow.d.ts +3 -0
- package/dist/shaders/CloudsShadow.d.ts.map +1 -0
- package/dist/shaders/CloudsShadow.js +3 -0
- package/dist/shaders/CloudsShadow.js.map +1 -0
- package/dist/shaders/CloudsShadowMap.d.ts +3 -0
- package/dist/shaders/CloudsShadowMap.d.ts.map +1 -0
- package/dist/shaders/CloudsShadowMap.js +3 -0
- package/dist/shaders/CloudsShadowMap.js.map +1 -0
- package/dist/shaders/CloudsSlab.d.ts +3 -0
- package/dist/shaders/CloudsSlab.d.ts.map +1 -0
- package/dist/shaders/CloudsSlab.js +3 -0
- package/dist/shaders/CloudsSlab.js.map +1 -0
- package/dist/shaders/ColorIsolation.d.ts +3 -0
- package/dist/shaders/ColorIsolation.d.ts.map +1 -0
- package/dist/shaders/ColorIsolation.js +3 -0
- package/dist/shaders/ColorIsolation.js.map +1 -0
- package/dist/shaders/DepthEdges.d.ts +3 -0
- package/dist/shaders/DepthEdges.d.ts.map +1 -0
- package/dist/shaders/DepthEdges.js +3 -0
- package/dist/shaders/DepthEdges.js.map +1 -0
- package/dist/shaders/DigitalVideo.d.ts +3 -0
- package/dist/shaders/DigitalVideo.d.ts.map +1 -0
- package/dist/shaders/DigitalVideo.js +3 -0
- package/dist/shaders/DigitalVideo.js.map +1 -0
- package/dist/shaders/DroneDisplay.d.ts +3 -0
- package/dist/shaders/DroneDisplay.d.ts.map +1 -0
- package/dist/shaders/DroneDisplay.js +3 -0
- package/dist/shaders/DroneDisplay.js.map +1 -0
- package/dist/shaders/Dufour.d.ts +3 -0
- package/dist/shaders/Dufour.d.ts.map +1 -0
- package/dist/shaders/Dufour.js +3 -0
- package/dist/shaders/Dufour.js.map +1 -0
- package/dist/shaders/EyeFromDepth.d.ts +3 -0
- package/dist/shaders/EyeFromDepth.d.ts.map +1 -0
- package/dist/shaders/EyeFromDepth.js +3 -0
- package/dist/shaders/EyeFromDepth.js.map +1 -0
- package/dist/shaders/Filmic.d.ts +3 -0
- package/dist/shaders/Filmic.d.ts.map +1 -0
- package/dist/shaders/Filmic.js +3 -0
- package/dist/shaders/Filmic.js.map +1 -0
- package/dist/shaders/Flashlight.d.ts +3 -0
- package/dist/shaders/Flashlight.d.ts.map +1 -0
- package/dist/shaders/Flashlight.js +3 -0
- package/dist/shaders/Flashlight.js.map +1 -0
- package/dist/shaders/Fog.d.ts +3 -0
- package/dist/shaders/Fog.d.ts.map +1 -0
- package/dist/shaders/Fog.js +3 -0
- package/dist/shaders/Fog.js.map +1 -0
- package/dist/shaders/Frame.d.ts +3 -0
- package/dist/shaders/Frame.d.ts.map +1 -0
- package/dist/shaders/Frame.js +3 -0
- package/dist/shaders/Frame.js.map +1 -0
- package/dist/shaders/Hash.d.ts +3 -0
- package/dist/shaders/Hash.d.ts.map +1 -0
- package/dist/shaders/Hash.js +3 -0
- package/dist/shaders/Hash.js.map +1 -0
- package/dist/shaders/Height.d.ts +3 -0
- package/dist/shaders/Height.d.ts.map +1 -0
- package/dist/shaders/Height.js +3 -0
- package/dist/shaders/Height.js.map +1 -0
- package/dist/shaders/Infrared.d.ts +3 -0
- package/dist/shaders/Infrared.d.ts.map +1 -0
- package/dist/shaders/Infrared.js +3 -0
- package/dist/shaders/Infrared.js.map +1 -0
- package/dist/shaders/Jello.d.ts +3 -0
- package/dist/shaders/Jello.d.ts.map +1 -0
- package/dist/shaders/Jello.js +3 -0
- package/dist/shaders/Jello.js.map +1 -0
- package/dist/shaders/LensDistortion.d.ts +3 -0
- package/dist/shaders/LensDistortion.d.ts.map +1 -0
- package/dist/shaders/LensDistortion.js +3 -0
- package/dist/shaders/LensDistortion.js.map +1 -0
- package/dist/shaders/Lightning.d.ts +3 -0
- package/dist/shaders/Lightning.d.ts.map +1 -0
- package/dist/shaders/Lightning.js +3 -0
- package/dist/shaders/Lightning.js.map +1 -0
- package/dist/shaders/MotionBlur.d.ts +3 -0
- package/dist/shaders/MotionBlur.d.ts.map +1 -0
- package/dist/shaders/MotionBlur.js +3 -0
- package/dist/shaders/MotionBlur.js.map +1 -0
- package/dist/shaders/MotionBlurVelocity.d.ts +3 -0
- package/dist/shaders/MotionBlurVelocity.d.ts.map +1 -0
- package/dist/shaders/MotionBlurVelocity.js +3 -0
- package/dist/shaders/MotionBlurVelocity.js.map +1 -0
- package/dist/shaders/Noise.d.ts +3 -0
- package/dist/shaders/Noise.d.ts.map +1 -0
- package/dist/shaders/Noise.js +3 -0
- package/dist/shaders/Noise.js.map +1 -0
- package/dist/shaders/Normal.d.ts +3 -0
- package/dist/shaders/Normal.d.ts.map +1 -0
- package/dist/shaders/Normal.js +3 -0
- package/dist/shaders/Normal.js.map +1 -0
- package/dist/shaders/Phase.d.ts +3 -0
- package/dist/shaders/Phase.d.ts.map +1 -0
- package/dist/shaders/Phase.js +3 -0
- package/dist/shaders/Phase.js.map +1 -0
- package/dist/shaders/Precipitation.d.ts +3 -0
- package/dist/shaders/Precipitation.d.ts.map +1 -0
- package/dist/shaders/Precipitation.js +3 -0
- package/dist/shaders/Precipitation.js.map +1 -0
- package/dist/shaders/PrecipitationShaftBlur.d.ts +3 -0
- package/dist/shaders/PrecipitationShaftBlur.d.ts.map +1 -0
- package/dist/shaders/PrecipitationShaftBlur.js +3 -0
- package/dist/shaders/PrecipitationShaftBlur.js.map +1 -0
- package/dist/shaders/PrecipitationShafts.d.ts +3 -0
- package/dist/shaders/PrecipitationShafts.d.ts.map +1 -0
- package/dist/shaders/PrecipitationShafts.js +3 -0
- package/dist/shaders/PrecipitationShafts.js.map +1 -0
- package/dist/shaders/PrecipitationWind.d.ts +3 -0
- package/dist/shaders/PrecipitationWind.d.ts.map +1 -0
- package/dist/shaders/PrecipitationWind.js +3 -0
- package/dist/shaders/PrecipitationWind.js.map +1 -0
- package/dist/shaders/RainHaze.d.ts +3 -0
- package/dist/shaders/RainHaze.d.ts.map +1 -0
- package/dist/shaders/RainHaze.js +3 -0
- package/dist/shaders/RainHaze.js.map +1 -0
- package/dist/shaders/RainRings.d.ts +3 -0
- package/dist/shaders/RainRings.d.ts.map +1 -0
- package/dist/shaders/RainRings.js +3 -0
- package/dist/shaders/RainRings.js.map +1 -0
- package/dist/shaders/Shockwave.d.ts +3 -0
- package/dist/shaders/Shockwave.d.ts.map +1 -0
- package/dist/shaders/Shockwave.js +3 -0
- package/dist/shaders/Shockwave.js.map +1 -0
- package/dist/shaders/SkyTable.d.ts +3 -0
- package/dist/shaders/SkyTable.d.ts.map +1 -0
- package/dist/shaders/SkyTable.js +3 -0
- package/dist/shaders/SkyTable.js.map +1 -0
- package/dist/shaders/SnowLine.d.ts +3 -0
- package/dist/shaders/SnowLine.d.ts.map +1 -0
- package/dist/shaders/SnowLine.js +3 -0
- package/dist/shaders/SnowLine.js.map +1 -0
- package/dist/shaders/SpeedLines.d.ts +3 -0
- package/dist/shaders/SpeedLines.d.ts.map +1 -0
- package/dist/shaders/SpeedLines.js +3 -0
- package/dist/shaders/SpeedLines.js.map +1 -0
- package/dist/shaders/Spotlight.d.ts +3 -0
- package/dist/shaders/Spotlight.d.ts.map +1 -0
- package/dist/shaders/Spotlight.js +3 -0
- package/dist/shaders/Spotlight.js.map +1 -0
- package/dist/shaders/SpotlightBeam.d.ts +3 -0
- package/dist/shaders/SpotlightBeam.d.ts.map +1 -0
- package/dist/shaders/SpotlightBeam.js +3 -0
- package/dist/shaders/SpotlightBeam.js.map +1 -0
- package/dist/shaders/SpotlightBeamBlur.d.ts +3 -0
- package/dist/shaders/SpotlightBeamBlur.d.ts.map +1 -0
- package/dist/shaders/SpotlightBeamBlur.js +3 -0
- package/dist/shaders/SpotlightBeamBlur.js.map +1 -0
- package/dist/shaders/SpotlightCone.d.ts +3 -0
- package/dist/shaders/SpotlightCone.d.ts.map +1 -0
- package/dist/shaders/SpotlightCone.js +3 -0
- package/dist/shaders/SpotlightCone.js.map +1 -0
- package/dist/shaders/Super8.d.ts +3 -0
- package/dist/shaders/Super8.d.ts.map +1 -0
- package/dist/shaders/Super8.js +3 -0
- package/dist/shaders/Super8.js.map +1 -0
- package/dist/shaders/Technicolor.d.ts +3 -0
- package/dist/shaders/Technicolor.d.ts.map +1 -0
- package/dist/shaders/Technicolor.js +3 -0
- package/dist/shaders/Technicolor.js.map +1 -0
- package/dist/shaders/TiltShift.d.ts +3 -0
- package/dist/shaders/TiltShift.d.ts.map +1 -0
- package/dist/shaders/TiltShift.js +3 -0
- package/dist/shaders/TiltShift.js.map +1 -0
- package/dist/shaders/Toy.d.ts +3 -0
- package/dist/shaders/Toy.d.ts.map +1 -0
- package/dist/shaders/Toy.js +3 -0
- package/dist/shaders/Toy.js.map +1 -0
- package/dist/shaders/Trails.d.ts +3 -0
- package/dist/shaders/Trails.d.ts.map +1 -0
- package/dist/shaders/Trails.js +3 -0
- package/dist/shaders/Trails.js.map +1 -0
- package/dist/shaders/ValleyFog.d.ts +3 -0
- package/dist/shaders/ValleyFog.d.ts.map +1 -0
- package/dist/shaders/ValleyFog.js +3 -0
- package/dist/shaders/ValleyFog.js.map +1 -0
- package/dist/shaders/WeatherMap.d.ts +3 -0
- package/dist/shaders/WeatherMap.d.ts.map +1 -0
- package/dist/shaders/WeatherMap.js +3 -0
- package/dist/shaders/WeatherMap.js.map +1 -0
- package/dist/shaders/WhiteModel.d.ts +3 -0
- package/dist/shaders/WhiteModel.d.ts.map +1 -0
- package/dist/shaders/WhiteModel.js +3 -0
- package/dist/shaders/WhiteModel.js.map +1 -0
- package/dist/snow-line.d.ts +117 -0
- package/dist/snow-line.d.ts.map +1 -0
- package/dist/snow-line.js +201 -0
- package/dist/snow-line.js.map +1 -0
- package/dist/speed-lines.d.ts +36 -0
- package/dist/speed-lines.d.ts.map +1 -0
- package/dist/speed-lines.js +65 -0
- package/dist/speed-lines.js.map +1 -0
- package/dist/spotlight.d.ts +84 -0
- package/dist/spotlight.d.ts.map +1 -0
- package/dist/spotlight.js +175 -0
- package/dist/spotlight.js.map +1 -0
- package/dist/strikes.d.ts +17 -0
- package/dist/strikes.d.ts.map +1 -0
- package/dist/strikes.js +30 -0
- package/dist/strikes.js.map +1 -0
- package/dist/super8.d.ts +78 -0
- package/dist/super8.d.ts.map +1 -0
- package/dist/super8.js +146 -0
- package/dist/super8.js.map +1 -0
- package/dist/technicolor.d.ts +32 -0
- package/dist/technicolor.d.ts.map +1 -0
- package/dist/technicolor.js +51 -0
- package/dist/technicolor.js.map +1 -0
- package/dist/tilt-shift.d.ts +60 -0
- package/dist/tilt-shift.d.ts.map +1 -0
- package/dist/tilt-shift.js +112 -0
- package/dist/tilt-shift.js.map +1 -0
- package/dist/toy.d.ts +110 -0
- package/dist/toy.d.ts.map +1 -0
- package/dist/toy.js +173 -0
- package/dist/toy.js.map +1 -0
- package/dist/valley-fog.d.ts +56 -0
- package/dist/valley-fog.d.ts.map +1 -0
- package/dist/valley-fog.js +94 -0
- package/dist/valley-fog.js.map +1 -0
- package/dist/weather-map.d.ts +132 -0
- package/dist/weather-map.d.ts.map +1 -0
- package/dist/weather-map.js +266 -0
- package/dist/weather-map.js.map +1 -0
- package/dist/white-model.d.ts +70 -0
- package/dist/white-model.d.ts.map +1 -0
- package/dist/white-model.js +94 -0
- package/dist/white-model.js.map +1 -0
- package/package.json +19 -40
- package/{cesium-post-process.js → src/cesium-post-process.js} +2 -0
- package/src/shaders/AnalogVideo.glsl +132 -0
- package/src/shaders/Beam.glsl +108 -0
- package/src/shaders/CloudsBlur.glsl +30 -0
- package/src/shaders/CloudsComposite.glsl +59 -0
- package/src/shaders/CloudsDensity.glsl +129 -0
- package/src/shaders/CloudsDepth.glsl +26 -0
- package/src/shaders/CloudsMarch.glsl +174 -0
- package/src/shaders/CloudsResolve.glsl +46 -0
- package/src/shaders/CloudsShadow.glsl +50 -0
- package/src/shaders/CloudsShadowMap.glsl +68 -0
- package/src/shaders/CloudsSlab.glsl +58 -0
- package/src/shaders/ColorIsolation.glsl +26 -0
- package/src/shaders/DepthEdges.glsl +81 -0
- package/src/shaders/DigitalVideo.glsl +65 -0
- package/src/shaders/DroneDisplay.glsl +337 -0
- package/src/shaders/Dufour.glsl +109 -0
- package/src/shaders/EyeFromDepth.glsl +36 -0
- package/src/shaders/Filmic.glsl +5 -0
- package/src/shaders/Fog.glsl +18 -0
- package/src/shaders/Frame.glsl +10 -0
- package/src/shaders/Hash.glsl +12 -0
- package/src/shaders/Height.glsl +25 -0
- package/src/shaders/Infrared.glsl +44 -0
- package/src/shaders/Jello.glsl +41 -0
- package/src/shaders/LensDistortion.glsl +24 -0
- package/src/shaders/Lightning.glsl +257 -0
- package/src/shaders/MotionBlur.glsl +71 -0
- package/src/shaders/MotionBlurVelocity.glsl +31 -0
- package/src/shaders/Noise.glsl +43 -0
- package/src/shaders/Normal.glsl +21 -0
- package/src/shaders/Phase.glsl +6 -0
- package/src/shaders/Precipitation.glsl +199 -0
- package/src/shaders/PrecipitationShaftBlur.glsl +21 -0
- package/src/shaders/PrecipitationShafts.glsl +84 -0
- package/src/shaders/PrecipitationWind.glsl +33 -0
- package/src/shaders/RainHaze.glsl +145 -0
- package/src/shaders/RainRings.glsl +64 -0
- package/src/shaders/SkyTable.glsl +23 -0
- package/src/shaders/SnowLine.glsl +97 -0
- package/src/shaders/SpeedLines.glsl +61 -0
- package/src/shaders/Spotlight.glsl +89 -0
- package/src/shaders/SpotlightBeam.glsl +49 -0
- package/src/shaders/SpotlightBeamBlur.glsl +27 -0
- package/src/shaders/SpotlightCone.glsl +37 -0
- package/src/shaders/Super8.glsl +90 -0
- package/src/shaders/Technicolor.glsl +30 -0
- package/src/shaders/TiltShift.glsl +34 -0
- package/src/shaders/Toy.glsl +46 -0
- package/src/shaders/ValleyFog.glsl +40 -0
- package/src/shaders/WeatherMap.glsl +33 -0
- package/src/shaders/WhiteModel.glsl +108 -0
- /package/{analog-video.js → src/analog-video.js} +0 -0
- /package/{blur.js → src/blur.js} +0 -0
- /package/{cloud-cover.js → src/cloud-cover.js} +0 -0
- /package/{cloud-map.js → src/cloud-map.js} +0 -0
- /package/{cloud-noise.js → src/cloud-noise.js} +0 -0
- /package/{clouds.js → src/clouds.js} +0 -0
- /package/{color-isolation.js → src/color-isolation.js} +0 -0
- /package/{depth-test.js → src/depth-test.js} +0 -0
- /package/{digital-video.js → src/digital-video.js} +0 -0
- /package/{drone-display.js → src/drone-display.js} +0 -0
- /package/{dufour.js → src/dufour.js} +0 -0
- /package/{effect.js → src/effect.js} +0 -0
- /package/{focus.js → src/focus.js} +0 -0
- /package/{frame-clock.js → src/frame-clock.js} +0 -0
- /package/{height.js → src/height.js} +0 -0
- /package/{infrared.js → src/infrared.js} +0 -0
- /package/{jello.js → src/jello.js} +0 -0
- /package/{lens-distortion.js → src/lens-distortion.js} +0 -0
- /package/{lightning.js → src/lightning.js} +0 -0
- /package/{local-frame.js → src/local-frame.js} +0 -0
- /package/{motion-blur.js → src/motion-blur.js} +0 -0
- /package/{precipitation.js → src/precipitation.js} +0 -0
- /package/{rain-rings.js → src/rain-rings.js} +0 -0
- /package/{shaders → src/shaders}/Alpenglow.js +0 -0
- /package/{shaders → src/shaders}/AnalogVideo.js +0 -0
- /package/{shaders → src/shaders}/Beam.js +0 -0
- /package/{shaders → src/shaders}/CloudsBlur.js +0 -0
- /package/{shaders → src/shaders}/CloudsComposite.js +0 -0
- /package/{shaders → src/shaders}/CloudsDensity.js +0 -0
- /package/{shaders → src/shaders}/CloudsDepth.js +0 -0
- /package/{shaders → src/shaders}/CloudsMarch.js +0 -0
- /package/{shaders → src/shaders}/CloudsResolve.js +0 -0
- /package/{shaders → src/shaders}/CloudsShadow.js +0 -0
- /package/{shaders → src/shaders}/CloudsShadowMap.js +0 -0
- /package/{shaders → src/shaders}/CloudsSlab.js +0 -0
- /package/{shaders → src/shaders}/ColorIsolation.js +0 -0
- /package/{shaders → src/shaders}/DepthEdges.js +0 -0
- /package/{shaders → src/shaders}/DigitalVideo.js +0 -0
- /package/{shaders → src/shaders}/DroneDisplay.js +0 -0
- /package/{shaders → src/shaders}/Dufour.js +0 -0
- /package/{shaders → src/shaders}/EyeFromDepth.js +0 -0
- /package/{shaders → src/shaders}/Filmic.js +0 -0
- /package/{shaders → src/shaders}/Flashlight.js +0 -0
- /package/{shaders → src/shaders}/Fog.js +0 -0
- /package/{shaders → src/shaders}/Frame.js +0 -0
- /package/{shaders → src/shaders}/Hash.js +0 -0
- /package/{shaders → src/shaders}/Height.js +0 -0
- /package/{shaders → src/shaders}/Infrared.js +0 -0
- /package/{shaders → src/shaders}/Jello.js +0 -0
- /package/{shaders → src/shaders}/LensDistortion.js +0 -0
- /package/{shaders → src/shaders}/Lightning.js +0 -0
- /package/{shaders → src/shaders}/MotionBlur.js +0 -0
- /package/{shaders → src/shaders}/MotionBlurVelocity.js +0 -0
- /package/{shaders → src/shaders}/Noise.js +0 -0
- /package/{shaders → src/shaders}/Normal.js +0 -0
- /package/{shaders → src/shaders}/Phase.js +0 -0
- /package/{shaders → src/shaders}/Precipitation.js +0 -0
- /package/{shaders → src/shaders}/PrecipitationShaftBlur.js +0 -0
- /package/{shaders → src/shaders}/PrecipitationShafts.js +0 -0
- /package/{shaders → src/shaders}/PrecipitationWind.js +0 -0
- /package/{shaders → src/shaders}/RainHaze.js +0 -0
- /package/{shaders → src/shaders}/RainRings.js +0 -0
- /package/{shaders → src/shaders}/Shockwave.js +0 -0
- /package/{shaders → src/shaders}/SkyTable.js +0 -0
- /package/{shaders → src/shaders}/SnowLine.js +0 -0
- /package/{shaders → src/shaders}/SpeedLines.js +0 -0
- /package/{shaders → src/shaders}/Spotlight.js +0 -0
- /package/{shaders → src/shaders}/SpotlightBeam.js +0 -0
- /package/{shaders → src/shaders}/SpotlightBeamBlur.js +0 -0
- /package/{shaders → src/shaders}/SpotlightCone.js +0 -0
- /package/{shaders → src/shaders}/Super8.js +0 -0
- /package/{shaders → src/shaders}/Technicolor.js +0 -0
- /package/{shaders → src/shaders}/TiltShift.js +0 -0
- /package/{shaders → src/shaders}/Toy.js +0 -0
- /package/{shaders → src/shaders}/Trails.js +0 -0
- /package/{shaders → src/shaders}/ValleyFog.js +0 -0
- /package/{shaders → src/shaders}/WeatherMap.js +0 -0
- /package/{shaders → src/shaders}/WhiteModel.js +0 -0
- /package/{snow-line.js → src/snow-line.js} +0 -0
- /package/{speed-lines.js → src/speed-lines.js} +0 -0
- /package/{spotlight.js → src/spotlight.js} +0 -0
- /package/{strikes.js → src/strikes.js} +0 -0
- /package/{super8.js → src/super8.js} +0 -0
- /package/{technicolor.js → src/technicolor.js} +0 -0
- /package/{tilt-shift.js → src/tilt-shift.js} +0 -0
- /package/{toy.js → src/toy.js} +0 -0
- /package/{valley-fog.js → src/valley-fog.js} +0 -0
- /package/{weather-map.js → src/weather-map.js} +0 -0
- /package/{white-model.js → src/white-model.js} +0 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { PostProcessStage } from '@cesium/engine';
|
|
2
|
+
import Effect from './effect.js';
|
|
3
|
+
/**
|
|
4
|
+
* The shader's hash, in [0, 1), so that the values computed here per frame and
|
|
5
|
+
* those computed there per pixel come from one family.
|
|
6
|
+
* @param {number} x
|
|
7
|
+
* @param {number} y
|
|
8
|
+
* @return {number}
|
|
9
|
+
*/
|
|
10
|
+
export declare function hash(x: number, y: number): number;
|
|
11
|
+
/**
|
|
12
|
+
* How the signal fares at a time, all the picture over: how weak it is, 0 to 1
|
|
13
|
+
* (it wavers around the interference, and is 1 only without a signal); and,
|
|
14
|
+
* in the frames where the receiver loses the sync, where the picture tears, as
|
|
15
|
+
* a fraction of its height from the top, or -1.
|
|
16
|
+
* @param {number} seconds
|
|
17
|
+
* @param {number} interference 0 to 1
|
|
18
|
+
* @return {{weak: number, tear: number}}
|
|
19
|
+
*/
|
|
20
|
+
export declare function signalAt(seconds: number, interference: number): {
|
|
21
|
+
weak: number;
|
|
22
|
+
tear: number;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* An analog FPV video feed: a soft, washed-out PAL picture with its color
|
|
26
|
+
* bleeding sideways, which, as the signal weakens, loses its color, washes
|
|
27
|
+
* out, fills with colored streaks along the video lines and tears when the
|
|
28
|
+
* sync is lost, down to the dark snow of a receiver without a signal. The
|
|
29
|
+
* picture moves, so while active the scene renders at 25 frames per second,
|
|
30
|
+
* also in requestRenderMode.
|
|
31
|
+
*/
|
|
32
|
+
export default class AnalogVideo extends Effect {
|
|
33
|
+
noise_: number;
|
|
34
|
+
interference_: number;
|
|
35
|
+
weak_: number;
|
|
36
|
+
tear_: number;
|
|
37
|
+
onPreRender_: () => void;
|
|
38
|
+
/**
|
|
39
|
+
* @param {import('@cesium/engine').CesiumWidget} viewer
|
|
40
|
+
* @param {{noise?: number, interference?: number}} [options]
|
|
41
|
+
*/
|
|
42
|
+
constructor(viewer: import('@cesium/engine').CesiumWidget, options?: {
|
|
43
|
+
noise?: number;
|
|
44
|
+
interference?: number;
|
|
45
|
+
});
|
|
46
|
+
/** @override */
|
|
47
|
+
createStage_(): PostProcessStage;
|
|
48
|
+
/**
|
|
49
|
+
* @override
|
|
50
|
+
* @param {import('@cesium/engine').Scene} scene
|
|
51
|
+
*/
|
|
52
|
+
activated_(scene: import('@cesium/engine').Scene): void;
|
|
53
|
+
/**
|
|
54
|
+
* @override
|
|
55
|
+
* @param {import('@cesium/engine').Scene} scene
|
|
56
|
+
*/
|
|
57
|
+
deactivating_(scene: import('@cesium/engine').Scene): void;
|
|
58
|
+
/**
|
|
59
|
+
* Grain, 0 to 1.
|
|
60
|
+
*/
|
|
61
|
+
get noise(): number;
|
|
62
|
+
set noise(value: number);
|
|
63
|
+
/**
|
|
64
|
+
* How weak the signal is, 0 to 1: a few streaks when it is low, the color
|
|
65
|
+
* lost from about 0.4, then a washed-out picture under more and more streaks,
|
|
66
|
+
* torn when the sync is lost; 1 for no signal at all, the receiver's snow.
|
|
67
|
+
*/
|
|
68
|
+
get interference(): number;
|
|
69
|
+
set interference(value: number);
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=analog-video.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analog-video.d.ts","sourceRoot":"","sources":["../src/analog-video.js"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,MAAM,MAAM,aAAa,CAAC;AAejC;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAJX,MAIW,EAAE,CAAC,EAHd,MAGc,GAFb,MAAM,CAWjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAJrB,MAIqB,EAAE,YAAY,EAHnC,MAGmC,GAFlC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAYvC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,MAAM;IAOtC,MAAM;IACN,aAAa;IAEb,KAAK;IACL,KAAK;IACL,YAAY;IAXnB;;;OAGG;IACH,YAAY,MAAM,EAHP,OAAO,gBAAgB,EAAE,YAGlB,EAAE,OAAO,AAFxB,CAA0D,EAAlD;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAEjB,EAY/B;IAED,gBAAgB;IAChB,YAAY,qBAUX;IAED;;;OAGG;IACH,UAAU,CAAC,KAAK,EAFL,OAAO,gBAAgB,EAAE,KAEpB,QAIf;IAED;;;OAGG;IACH,aAAa,CAAC,KAAK,EAFR,OAAO,gBAAgB,EAAE,KAEjB,QAGlB;IAED;;OAEG;IACH,IAAI,KAAK,WAER;IAED,IAAI,KAAK,CAAC,KAAK,QAAA,EAEd;IAED;;;;OAIG;IACH,IAAI,YAAY,WAEf;IAED,IAAI,YAAY,CAAC,KAAK,QAAA,EAErB;CACF"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { Math as CesiumMath } from '@cesium/core';
|
|
2
|
+
import { PostProcessStage } from '@cesium/engine';
|
|
3
|
+
import Effect from './effect.js';
|
|
4
|
+
import { acquireFrames, releaseFrames } from './frame-clock.js';
|
|
5
|
+
import AnalogVideoShader from './shaders/AnalogVideo.js';
|
|
6
|
+
import Hash from './shaders/Hash.js';
|
|
7
|
+
// PAL video runs at 25 frames per second, as in AnalogVideo.glsl
|
|
8
|
+
const FRAME_RATE = 25;
|
|
9
|
+
// the strength of the signal fades in and out at this rate, in changes per second
|
|
10
|
+
const FADE_RATE = 0.4;
|
|
11
|
+
// the sync is lost for a frame or two now and then, up to this many times per second when the
|
|
12
|
+
// signal is weak
|
|
13
|
+
const TEAR_RATE = 1.5;
|
|
14
|
+
const fract = (/** @type {number} */ x) => x - Math.floor(x);
|
|
15
|
+
/**
|
|
16
|
+
* The shader's hash, in [0, 1), so that the values computed here per frame and
|
|
17
|
+
* those computed there per pixel come from one family.
|
|
18
|
+
* @param {number} x
|
|
19
|
+
* @param {number} y
|
|
20
|
+
* @return {number}
|
|
21
|
+
*/
|
|
22
|
+
export function hash(x, y) {
|
|
23
|
+
let px = fract(x * 0.1031);
|
|
24
|
+
let py = fract(y * 0.1031);
|
|
25
|
+
let pz = px;
|
|
26
|
+
const dot = px * (py + 33.33) + py * (pz + 33.33) + pz * (px + 33.33);
|
|
27
|
+
px += dot;
|
|
28
|
+
py += dot;
|
|
29
|
+
pz += dot;
|
|
30
|
+
return fract((px + py) * pz);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* How the signal fares at a time, all the picture over: how weak it is, 0 to 1
|
|
34
|
+
* (it wavers around the interference, and is 1 only without a signal); and,
|
|
35
|
+
* in the frames where the receiver loses the sync, where the picture tears, as
|
|
36
|
+
* a fraction of its height from the top, or -1.
|
|
37
|
+
* @param {number} seconds
|
|
38
|
+
* @param {number} interference 0 to 1
|
|
39
|
+
* @return {{weak: number, tear: number}}
|
|
40
|
+
*/
|
|
41
|
+
export function signalAt(seconds, interference) {
|
|
42
|
+
const fade = seconds * FADE_RATE;
|
|
43
|
+
const t = fract(fade);
|
|
44
|
+
const wander = hash(Math.floor(fade), 5) + (hash(Math.floor(fade) + 1, 5) - hash(Math.floor(fade), 5)) * t * t * (3 - 2 * t);
|
|
45
|
+
const weak = interference >= 1 ? 1 : interference * (0.75 + 0.25 * wander);
|
|
46
|
+
// a tear lasts two frames: decided once for each pair
|
|
47
|
+
const pair = Math.floor((seconds * FRAME_RATE) / 2) % 1000;
|
|
48
|
+
const chance = (2 * TEAR_RATE / FRAME_RATE) * CesiumMath.clamp((interference - 0.3) / 0.5, 0, 1);
|
|
49
|
+
const tear = interference < 1 && hash(pair, 11) < chance ? 0.2 + 0.6 * hash(pair, 13) : -1;
|
|
50
|
+
return { weak, tear };
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* An analog FPV video feed: a soft, washed-out PAL picture with its color
|
|
54
|
+
* bleeding sideways, which, as the signal weakens, loses its color, washes
|
|
55
|
+
* out, fills with colored streaks along the video lines and tears when the
|
|
56
|
+
* sync is lost, down to the dark snow of a receiver without a signal. The
|
|
57
|
+
* picture moves, so while active the scene renders at 25 frames per second,
|
|
58
|
+
* also in requestRenderMode.
|
|
59
|
+
*/
|
|
60
|
+
export default class AnalogVideo extends Effect {
|
|
61
|
+
/**
|
|
62
|
+
* @param {import('@cesium/engine').CesiumWidget} viewer
|
|
63
|
+
* @param {{noise?: number, interference?: number}} [options]
|
|
64
|
+
*/
|
|
65
|
+
constructor(viewer, options = {}) {
|
|
66
|
+
super(viewer);
|
|
67
|
+
this.noise_ = options.noise ?? 0.5;
|
|
68
|
+
this.interference_ = options.interference ?? 0.15;
|
|
69
|
+
// the uniforms updated once per frame
|
|
70
|
+
this.weak_ = 0;
|
|
71
|
+
this.tear_ = -1;
|
|
72
|
+
this.onPreRender_ = () => {
|
|
73
|
+
const signal = signalAt(performance.now() / 1000, this.interference_);
|
|
74
|
+
this.weak_ = signal.weak;
|
|
75
|
+
this.tear_ = signal.tear;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/** @override */
|
|
79
|
+
createStage_() {
|
|
80
|
+
return new PostProcessStage({
|
|
81
|
+
fragmentShader: Hash + AnalogVideoShader,
|
|
82
|
+
uniforms: {
|
|
83
|
+
time: () => performance.now() / 1000,
|
|
84
|
+
noise: () => this.noise_,
|
|
85
|
+
weak: () => this.weak_,
|
|
86
|
+
tear: () => this.tear_,
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* @override
|
|
92
|
+
* @param {import('@cesium/engine').Scene} scene
|
|
93
|
+
*/
|
|
94
|
+
activated_(scene) {
|
|
95
|
+
scene.preRender.addEventListener(this.onPreRender_);
|
|
96
|
+
// a new picture only with each video frame, not with each frame of the display
|
|
97
|
+
acquireFrames(scene, FRAME_RATE);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* @override
|
|
101
|
+
* @param {import('@cesium/engine').Scene} scene
|
|
102
|
+
*/
|
|
103
|
+
deactivating_(scene) {
|
|
104
|
+
releaseFrames(scene, FRAME_RATE);
|
|
105
|
+
scene.preRender.removeEventListener(this.onPreRender_);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Grain, 0 to 1.
|
|
109
|
+
*/
|
|
110
|
+
get noise() {
|
|
111
|
+
return this.noise_;
|
|
112
|
+
}
|
|
113
|
+
set noise(value) {
|
|
114
|
+
this.noise_ = value;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* How weak the signal is, 0 to 1: a few streaks when it is low, the color
|
|
118
|
+
* lost from about 0.4, then a washed-out picture under more and more streaks,
|
|
119
|
+
* torn when the sync is lost; 1 for no signal at all, the receiver's snow.
|
|
120
|
+
*/
|
|
121
|
+
get interference() {
|
|
122
|
+
return this.interference_;
|
|
123
|
+
}
|
|
124
|
+
set interference(value) {
|
|
125
|
+
this.interference_ = value;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=analog-video.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analog-video.js","sourceRoot":"","sources":["../src/analog-video.js"],"names":[],"mappings":"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"}
|
package/dist/blur.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PostProcessStageComposite } from '@cesium/engine';
|
|
2
|
+
/**
|
|
3
|
+
* A Gaussian blur in two passes, as PostProcessStageLibrary.createBlurStage()
|
|
4
|
+
* builds it, with its own name: the library names every blur czm_blur, and a
|
|
5
|
+
* collection holds one stage per name, so two effects with a library blur
|
|
6
|
+
* break each other when one is removed.
|
|
7
|
+
* @param {string} name of the composite; the passes are named after it
|
|
8
|
+
* @param {number} [textureScale=1] resolution of the passes relative to the viewport: a wide blur
|
|
9
|
+
* costs a quarter at half resolution, with a step half as long for the same spread
|
|
10
|
+
* @return {PostProcessStageComposite} with `sigma` and `stepSize` uniforms shared by both passes
|
|
11
|
+
*/
|
|
12
|
+
export default function createBlur(name: string, textureScale?: number): PostProcessStageComposite;
|
|
13
|
+
//# sourceMappingURL=blur.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blur.d.ts","sourceRoot":"","sources":["../src/blur.js"],"names":[],"mappings":"AAAA,OAAO,EAAmB,yBAAyB,EAA6B,MAAM,gBAAgB,CAAC;AAIvG;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,IAAI,EAL5B,MAK4B,EAAE,YAAY,AAJlD,CAEA,EAFQ,MAI8C,GAF7C,yBAAyB,CA0BpC"}
|
package/dist/blur.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { PostProcessStage, PostProcessStageComposite, PostProcessStageSampleMode } from '@cesium/engine';
|
|
2
|
+
// @ts-expect-error the engine exports its shader sources, but does not type them
|
|
3
|
+
import { _shadersGaussianBlur1D as GaussianBlur1D } from '@cesium/engine';
|
|
4
|
+
/**
|
|
5
|
+
* A Gaussian blur in two passes, as PostProcessStageLibrary.createBlurStage()
|
|
6
|
+
* builds it, with its own name: the library names every blur czm_blur, and a
|
|
7
|
+
* collection holds one stage per name, so two effects with a library blur
|
|
8
|
+
* break each other when one is removed.
|
|
9
|
+
* @param {string} name of the composite; the passes are named after it
|
|
10
|
+
* @param {number} [textureScale=1] resolution of the passes relative to the viewport: a wide blur
|
|
11
|
+
* costs a quarter at half resolution, with a step half as long for the same spread
|
|
12
|
+
* @return {PostProcessStageComposite} with `sigma` and `stepSize` uniforms shared by both passes
|
|
13
|
+
*/
|
|
14
|
+
export default function createBlur(name, textureScale = 1) {
|
|
15
|
+
const passes = ['x', 'y'].map((axis, direction) => new PostProcessStage({
|
|
16
|
+
name: `${name}_${axis}`,
|
|
17
|
+
fragmentShader: `#define USE_STEP_SIZE\n${GaussianBlur1D}`,
|
|
18
|
+
uniforms: { delta: 1, sigma: 2, stepSize: 1, direction },
|
|
19
|
+
sampleMode: PostProcessStageSampleMode.LINEAR,
|
|
20
|
+
textureScale,
|
|
21
|
+
}));
|
|
22
|
+
const shared = (/** @type {string} */ uniform) => ({
|
|
23
|
+
get: () => passes[0].uniforms[uniform],
|
|
24
|
+
set: (/** @type {number} */ value) => {
|
|
25
|
+
for (const pass of passes) {
|
|
26
|
+
pass.uniforms[uniform] = value;
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
return new PostProcessStageComposite({
|
|
31
|
+
name,
|
|
32
|
+
stages: passes,
|
|
33
|
+
uniforms: Object.defineProperties({}, { sigma: shared('sigma'), stepSize: shared('stepSize') }),
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=blur.js.map
|
package/dist/blur.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blur.js","sourceRoot":"","sources":["../src/blur.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,yBAAyB,EAAE,0BAA0B,EAAC,MAAM,gBAAgB,CAAC;AACvG,iFAAiF;AACjF,OAAO,EAAC,sBAAsB,IAAI,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAExE;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,CAAC;IACvD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAC3B,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAClB,IAAI,gBAAgB,CAAC;QACnB,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE;QACvB,cAAc,EAAE,0BAA0B,cAAc,EAAE;QAC1D,QAAQ,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAC;QACtD,UAAU,EAAE,0BAA0B,CAAC,MAAM;QAC7C,YAAY;KACb,CAAC,CACL,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,qBAAqB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjD,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtC,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,EAAE;YACnC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC1B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;YACjC,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IACH,OAAO,IAAI,yBAAyB,CAAC;QACnC,IAAI;QACJ,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,EAAC,CAAC;KAC9F,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export { default as AnalogVideo } from './analog-video.js';
|
|
2
|
+
export { default as Clouds } from './clouds.js';
|
|
3
|
+
export { default as ColorIsolation } from './color-isolation.js';
|
|
4
|
+
export { default as DigitalVideo } from './digital-video.js';
|
|
5
|
+
export { default as Dufour } from './dufour.js';
|
|
6
|
+
export { default as DroneDisplay } from './drone-display.js';
|
|
7
|
+
export { default as Effect } from './effect.js';
|
|
8
|
+
export { default as Infrared } from './infrared.js';
|
|
9
|
+
export { default as Jello } from './jello.js';
|
|
10
|
+
export { default as LensDistortion } from './lens-distortion.js';
|
|
11
|
+
export { default as Lightning } from './lightning.js';
|
|
12
|
+
export { default as MotionBlur } from './motion-blur.js';
|
|
13
|
+
export { default as Precipitation } from './precipitation.js';
|
|
14
|
+
export { default as RainRings } from './rain-rings.js';
|
|
15
|
+
export { default as SnowLine } from './snow-line.js';
|
|
16
|
+
export { default as SpeedLines } from './speed-lines.js';
|
|
17
|
+
export { default as Spotlight } from './spotlight.js';
|
|
18
|
+
export { default as Super8 } from './super8.js';
|
|
19
|
+
export { default as Technicolor } from './technicolor.js';
|
|
20
|
+
export { default as TiltShift } from './tilt-shift.js';
|
|
21
|
+
export { default as Toy } from './toy.js';
|
|
22
|
+
export { default as ValleyFog } from './valley-fog.js';
|
|
23
|
+
export { default as WhiteModel } from './white-model.js';
|
|
24
|
+
export { default as EyeFromDepth } from './shaders/EyeFromDepth.js';
|
|
25
|
+
export { default as Hash } from './shaders/Hash.js';
|
|
26
|
+
export { default as Height } from './shaders/Height.js';
|
|
27
|
+
export { heightUniforms } from './height.js';
|
|
28
|
+
export { localFromEye } from './local-frame.js';
|
|
29
|
+
export { default as Normal } from './shaders/Normal.js';
|
|
30
|
+
//# sourceMappingURL=cesium-post-process.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cesium-post-process.d.ts","sourceRoot":"","sources":["../src/cesium-post-process.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,GAAG,EAAC,MAAM,UAAU,CAAC;AACxC,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export { default as AnalogVideo } from './analog-video.js';
|
|
2
|
+
export { default as Clouds } from './clouds.js';
|
|
3
|
+
export { default as ColorIsolation } from './color-isolation.js';
|
|
4
|
+
export { default as DigitalVideo } from './digital-video.js';
|
|
5
|
+
export { default as Dufour } from './dufour.js';
|
|
6
|
+
export { default as DroneDisplay } from './drone-display.js';
|
|
7
|
+
export { default as Effect } from './effect.js';
|
|
8
|
+
export { default as Infrared } from './infrared.js';
|
|
9
|
+
export { default as Jello } from './jello.js';
|
|
10
|
+
export { default as LensDistortion } from './lens-distortion.js';
|
|
11
|
+
export { default as Lightning } from './lightning.js';
|
|
12
|
+
export { default as MotionBlur } from './motion-blur.js';
|
|
13
|
+
export { default as Precipitation } from './precipitation.js';
|
|
14
|
+
export { default as RainRings } from './rain-rings.js';
|
|
15
|
+
export { default as SnowLine } from './snow-line.js';
|
|
16
|
+
export { default as SpeedLines } from './speed-lines.js';
|
|
17
|
+
export { default as Spotlight } from './spotlight.js';
|
|
18
|
+
export { default as Super8 } from './super8.js';
|
|
19
|
+
export { default as Technicolor } from './technicolor.js';
|
|
20
|
+
export { default as TiltShift } from './tilt-shift.js';
|
|
21
|
+
export { default as Toy } from './toy.js';
|
|
22
|
+
export { default as ValleyFog } from './valley-fog.js';
|
|
23
|
+
export { default as WhiteModel } from './white-model.js';
|
|
24
|
+
// the shader chunks the depth-based effects share, and the uniforms of Height, for effects of your own
|
|
25
|
+
export { default as EyeFromDepth } from './shaders/EyeFromDepth.js';
|
|
26
|
+
export { default as Hash } from './shaders/Hash.js';
|
|
27
|
+
export { default as Height } from './shaders/Height.js';
|
|
28
|
+
export { heightUniforms } from './height.js';
|
|
29
|
+
export { localFromEye } from './local-frame.js';
|
|
30
|
+
export { default as Normal } from './shaders/Normal.js';
|
|
31
|
+
//# sourceMappingURL=cesium-post-process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cesium-post-process.js","sourceRoot":"","sources":["../src/cesium-post-process.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,OAAO,IAAI,KAAK,EAAC,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,GAAG,EAAC,MAAM,UAAU,CAAC;AACxC,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEvD,uGAAuG;AACvG,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type CloudShadow = {
|
|
2
|
+
texture: () => any;
|
|
3
|
+
center: import('@cesium/core').Cartesian3;
|
|
4
|
+
extent: () => number;
|
|
5
|
+
base: () => number;
|
|
6
|
+
top: () => number;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* @param {import('@cesium/engine').Scene} scene
|
|
10
|
+
* @param {CloudShadow} shadow
|
|
11
|
+
*/
|
|
12
|
+
export declare function acquireCloudCover(scene: import('@cesium/engine').Scene, shadow: CloudShadow): void;
|
|
13
|
+
/**
|
|
14
|
+
* @param {import('@cesium/engine').Scene} scene
|
|
15
|
+
* @param {CloudShadow} shadow
|
|
16
|
+
*/
|
|
17
|
+
export declare function releaseCloudCover(scene: import('@cesium/engine').Scene, shadow: CloudShadow): void;
|
|
18
|
+
/**
|
|
19
|
+
* Whether clouds are drawn in the scene.
|
|
20
|
+
* @param {import('@cesium/engine').Scene} scene
|
|
21
|
+
*/
|
|
22
|
+
export declare function hasCloudCover(scene: import('@cesium/engine').Scene): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* The shadow map of the clouds drawn in the scene, the last activated's, or undefined without.
|
|
25
|
+
* @param {import('@cesium/engine').Scene} scene
|
|
26
|
+
*/
|
|
27
|
+
export declare function cloudShadow(scene: import('@cesium/engine').Scene): CloudShadow | undefined;
|
|
28
|
+
//# sourceMappingURL=cloud-cover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-cover.d.ts","sourceRoot":"","sources":["../src/cloud-cover.js"],"names":[],"mappings":"AAOG,YAAwI,WAAW,GAAzI;IAAC,OAAO,EAAE,MAAM,GAAG,CAAC;IAAC,MAAM,EAAE,OAAO,cAAc,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,MAAM,CAAA;CAAC,CAAa;AAMtJ;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAH5B,OAAO,gBAAgB,EAAE,KAGG,EAAE,MAAM,EAFpC,WAEoC,QAE9C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAH5B,OAAO,gBAAgB,EAAE,KAGG,EAAE,MAAM,EAFpC,WAEoC,QAO9C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAFxB,OAAO,gBAAgB,EAAE,KAED,WAElC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAFtB,OAAO,gBAAgB,EAAE,KAEH,2BAEhC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Seen from above, Clouds draws the clouds over the rain under them, which Precipitation then
|
|
2
|
+
// leaves to them: the scenes where clouds are drawn, by the active Clouds, with their shadow maps,
|
|
3
|
+
// through which Precipitation lights its haze.
|
|
4
|
+
/**
|
|
5
|
+
* A shadow map of the clouds: its texture, undefined until it is drawn, the ground point it is
|
|
6
|
+
* centered on, its side, and the base and the top of the slab it covers.
|
|
7
|
+
* @typedef {{texture: () => any, center: import('@cesium/core').Cartesian3, extent: () => number, base: () => number, top: () => number}} CloudShadow
|
|
8
|
+
*/
|
|
9
|
+
/** @type {WeakMap<import('@cesium/engine').Scene, CloudShadow[]>} */
|
|
10
|
+
const covers = new WeakMap();
|
|
11
|
+
/**
|
|
12
|
+
* @param {import('@cesium/engine').Scene} scene
|
|
13
|
+
* @param {CloudShadow} shadow
|
|
14
|
+
*/
|
|
15
|
+
export function acquireCloudCover(scene, shadow) {
|
|
16
|
+
covers.set(scene, [...(covers.get(scene) ?? []), shadow]);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @param {import('@cesium/engine').Scene} scene
|
|
20
|
+
* @param {CloudShadow} shadow
|
|
21
|
+
*/
|
|
22
|
+
export function releaseCloudCover(scene, shadow) {
|
|
23
|
+
const shadows = (covers.get(scene) ?? []).filter((other) => other !== shadow);
|
|
24
|
+
if (shadows.length > 0) {
|
|
25
|
+
covers.set(scene, shadows);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
covers.delete(scene);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Whether clouds are drawn in the scene.
|
|
33
|
+
* @param {import('@cesium/engine').Scene} scene
|
|
34
|
+
*/
|
|
35
|
+
export function hasCloudCover(scene) {
|
|
36
|
+
return covers.has(scene);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The shadow map of the clouds drawn in the scene, the last activated's, or undefined without.
|
|
40
|
+
* @param {import('@cesium/engine').Scene} scene
|
|
41
|
+
*/
|
|
42
|
+
export function cloudShadow(scene) {
|
|
43
|
+
return covers.get(scene)?.at(-1);
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=cloud-cover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-cover.js","sourceRoot":"","sources":["../src/cloud-cover.js"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,mGAAmG;AACnG,+CAA+C;AAE/C;;;;GAIG;AAEH,qEAAqE;AACrE,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;AAE7B;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAK,EAAE,MAAM;IAC7C,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAK,EAAE,MAAM;IAC7C,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;IAC9E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAK;IACjC,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAK;IAC/B,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The clouds' map of a map of the rain, over the same rectangle, made once for each image.
|
|
3
|
+
* @param {import('./weather-map.js').WeatherMapOptions} map
|
|
4
|
+
* @returns {import('./weather-map.js').WeatherMapOptions}
|
|
5
|
+
*/
|
|
6
|
+
export default function createCloudMap(map: import('./weather-map.js').WeatherMapOptions): import('./weather-map.js').WeatherMapOptions;
|
|
7
|
+
//# sourceMappingURL=cloud-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-map.d.ts","sourceRoot":"","sources":["../src/cloud-map.js"],"names":[],"mappings":"AAkFA;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,GAAG,EAH/B,OAAO,kBAAkB,EAAE,iBAGI,GAF7B,OAAO,kBAAkB,EAAE,iBAAiB,CAqCxD"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { Math as CesiumMath } from '@cesium/core';
|
|
2
|
+
import { imageData } from './weather-map.js';
|
|
3
|
+
// The clouds' map, from a map of the rain: a radar sees the rain, "not the small cloud droplets and
|
|
4
|
+
// ice crystals that make up the rest of the cloud" (UBC ATSC 201), so the clouds are derived from
|
|
5
|
+
// it rather than drawn where it rains. Red is the rain, as it is; green is the coverage, the rain
|
|
6
|
+
// spread into a cloud shield wider than it; blue is the type of the clouds, from a flat deck over
|
|
7
|
+
// drizzle to towers over heavy rain, the precipitation turning the map "to cumulonimbus clouds"
|
|
8
|
+
// (Schneider 2015).
|
|
9
|
+
// the cloud shield reaches this far beyond the rain, in meters, its edge soft over about as much: 5
|
|
10
|
+
// to 15 km wide
|
|
11
|
+
const SHIELD_SPREAD = 5000;
|
|
12
|
+
// the rain rate, in mm/h, at intensity 1, the map's intensity being sqrt(R / RAIN_RATE), as
|
|
13
|
+
// RainHaze.glsl's
|
|
14
|
+
const RAIN_RATE = 10;
|
|
15
|
+
// the deck at this rain rate and below, in mm/h, towers at this one and above, about 40 dBZ (UBC
|
|
16
|
+
// ATSC 201): the type is remap(log(R), log(0.5), log(10), 0, 1)
|
|
17
|
+
const DECK_RATE = 0.5;
|
|
18
|
+
const TOWER_RATE = 10;
|
|
19
|
+
// meters, for the size of the map's pixels
|
|
20
|
+
const EARTH_RADIUS = 6371000;
|
|
21
|
+
// a Gaussian is approximated by this many box blurs, each a running sum whatever its width
|
|
22
|
+
const BOXES = 3;
|
|
23
|
+
/** @type {WeakMap<object, import('./weather-map.js').WeatherMapOptions>} */
|
|
24
|
+
const cloudMaps = new WeakMap();
|
|
25
|
+
/**
|
|
26
|
+
* Blurs values in place along rows (step 1) or columns (step width) by a box of a radius, a running
|
|
27
|
+
* sum, the edges held.
|
|
28
|
+
* @param {Float32Array} values
|
|
29
|
+
* @param {number} width
|
|
30
|
+
* @param {number} height
|
|
31
|
+
* @param {number} radius
|
|
32
|
+
* @param {boolean} rows
|
|
33
|
+
*/
|
|
34
|
+
function boxBlur(values, width, height, radius, rows) {
|
|
35
|
+
const [count, length, step, stride] = rows ? [height, width, 1, width] : [width, height, width, 1];
|
|
36
|
+
const line = new Float32Array(length);
|
|
37
|
+
for (let i = 0; i < count; i++) {
|
|
38
|
+
const start = i * stride;
|
|
39
|
+
for (let j = 0; j < length; j++) {
|
|
40
|
+
line[j] = values[start + j * step];
|
|
41
|
+
}
|
|
42
|
+
let sum = 0;
|
|
43
|
+
for (let j = -radius; j <= radius; j++) {
|
|
44
|
+
sum += line[CesiumMath.clamp(j, 0, length - 1)];
|
|
45
|
+
}
|
|
46
|
+
for (let j = 0; j < length; j++) {
|
|
47
|
+
values[start + j * step] = sum / (2 * radius + 1);
|
|
48
|
+
sum += line[Math.min(j + radius + 1, length - 1)] - line[Math.max(j - radius, 0)];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Dilates values in place along rows or columns: the highest within a radius.
|
|
54
|
+
* @param {Float32Array} values
|
|
55
|
+
* @param {number} width
|
|
56
|
+
* @param {number} height
|
|
57
|
+
* @param {number} radius
|
|
58
|
+
* @param {boolean} rows
|
|
59
|
+
*/
|
|
60
|
+
function dilate(values, width, height, radius, rows) {
|
|
61
|
+
const [count, length, step, stride] = rows ? [height, width, 1, width] : [width, height, width, 1];
|
|
62
|
+
const line = new Float32Array(length);
|
|
63
|
+
for (let i = 0; i < count; i++) {
|
|
64
|
+
const start = i * stride;
|
|
65
|
+
for (let j = 0; j < length; j++) {
|
|
66
|
+
line[j] = values[start + j * step];
|
|
67
|
+
}
|
|
68
|
+
for (let j = 0; j < length; j++) {
|
|
69
|
+
let max = 0;
|
|
70
|
+
for (let k = Math.max(j - radius, 0); k <= Math.min(j + radius, length - 1); k++) {
|
|
71
|
+
max = Math.max(max, line[k]);
|
|
72
|
+
}
|
|
73
|
+
values[start + j * step] = max;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* The clouds' map of a map of the rain, over the same rectangle, made once for each image.
|
|
79
|
+
* @param {import('./weather-map.js').WeatherMapOptions} map
|
|
80
|
+
* @returns {import('./weather-map.js').WeatherMapOptions}
|
|
81
|
+
*/
|
|
82
|
+
export default function createCloudMap(map) {
|
|
83
|
+
const known = cloudMaps.get(map.image);
|
|
84
|
+
if (known) {
|
|
85
|
+
return known;
|
|
86
|
+
}
|
|
87
|
+
const { width, height, data } = /** @type {{width: number, height: number, data: Uint8ClampedArray}} */ (imageData(map.image));
|
|
88
|
+
const { west, south, east, north } = map.rectangle;
|
|
89
|
+
const pixel = 0.5 * EARTH_RADIUS * (((east - west) * Math.cos(0.5 * (south + north))) / width + (north - south) / height);
|
|
90
|
+
// the rain dilated by the spread, in pixels, then softened by a Gaussian of half of it, the
|
|
91
|
+
// radius of each box for its standard deviation
|
|
92
|
+
const spread = Math.max(Math.round(SHIELD_SPREAD / pixel), 1);
|
|
93
|
+
const sigma = 0.5 * spread;
|
|
94
|
+
const radius = Math.max(Math.round(0.5 * (Math.sqrt((12 * sigma * sigma) / BOXES + 1) - 1)), 1);
|
|
95
|
+
const shield = new Float32Array(width * height);
|
|
96
|
+
for (let i = 0; i < width * height; i++) {
|
|
97
|
+
shield[i] = data[4 * i] > 0 ? 1 : 0;
|
|
98
|
+
}
|
|
99
|
+
dilate(shield, width, height, spread, true);
|
|
100
|
+
dilate(shield, width, height, spread, false);
|
|
101
|
+
for (let box = 0; box < BOXES; box++) {
|
|
102
|
+
boxBlur(shield, width, height, radius, true);
|
|
103
|
+
boxBlur(shield, width, height, radius, false);
|
|
104
|
+
}
|
|
105
|
+
const cloud = new Uint8ClampedArray(width * height * 4);
|
|
106
|
+
for (let i = 0; i < width * height; i++) {
|
|
107
|
+
const intensity = data[4 * i] / 255;
|
|
108
|
+
const rate = RAIN_RATE * intensity * intensity;
|
|
109
|
+
cloud[4 * i] = data[4 * i];
|
|
110
|
+
cloud[4 * i + 1] = Math.round(255 * shield[i]);
|
|
111
|
+
cloud[4 * i + 2] = rate > DECK_RATE ? Math.round((255 * Math.log(rate / DECK_RATE)) / Math.log(TOWER_RATE / DECK_RATE)) : 0;
|
|
112
|
+
cloud[4 * i + 3] = 255;
|
|
113
|
+
}
|
|
114
|
+
const cloudMap = { image: { width, height, data: cloud }, rectangle: map.rectangle };
|
|
115
|
+
cloudMaps.set(map.image, cloudMap);
|
|
116
|
+
return cloudMap;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=cloud-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-map.js","sourceRoot":"","sources":["../src/cloud-map.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The noise as RGBA bytes, x fastest, then y, then z.
|
|
3
|
+
* @param {number} [size] voxels along each side
|
|
4
|
+
*/
|
|
5
|
+
export default function createCloudNoise(size?: number): Uint8Array<ArrayBuffer>;
|
|
6
|
+
/**
|
|
7
|
+
* The noise over the clouds' map as RGBA bytes, x fastest: a square that tiles, MAP_TILE_CELLS
|
|
8
|
+
* cells of the map across, with gradient noise over JITTER_CELLS in red and green and over
|
|
9
|
+
* COVERAGE_CELLS in blue.
|
|
10
|
+
* @param {number} [size] texels along each side
|
|
11
|
+
*/
|
|
12
|
+
export declare function createMapNoise(size?: number): Uint8Array<ArrayBuffer>;
|
|
13
|
+
//# sourceMappingURL=cloud-noise.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-noise.d.ts","sourceRoot":"","sources":["../src/cloud-noise.js"],"names":[],"mappings":"AA+IA;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,IAAI,AAF1C,CACF,EADU,MAEuC,2BAiCjD;AAyBD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,AAFhC,CACF,EADU,MAE8B,2BAkBxC"}
|