@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,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":"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"}
|
|
@@ -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.
|
|
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
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
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": "
|
|
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';
|