Feature mapviz (#61)

* Fix framerate issue for gifs.

* Fix aeson version on lts-11

* Improve transformation performance.

* Vastly improve performance for SVG serialization.

* Improve geo projection performance.

* Add reference to cartogram program.

* Add rasterSized function.

* Better clippaths.

* Use newer reanimate-svg package.

* Show time spent and time remaining when rendering.

* Support external images and multiple rasters.

* Improve performance of bounding box calculations.

* Evict macos cache.

Former-commit-id: 3eb65d85fc2bb7dd9d67486d2da34d024767717d
This commit is contained in:
David Himmelstrup 2020-03-15 19:35:07 +08:00 committed by GitHub
commit 6608fb7410
19 changed files with 780 additions and 301 deletions

View file

@ -6,7 +6,8 @@
module Main (main) where
import Reanimate
import Reanimate.Povray (povraySlow)
import Reanimate.Povray (povraySlow')
import Reanimate.Raster
import Codec.Picture
import Codec.Picture.Types
@ -32,15 +33,14 @@ main = reanimate $ parA bg $ sceneAnimation $ do
t <- spriteT
dur <- spriteDuration
pure $
povraySlow [] $
mkImage screenWidth screenHeight $ povraySlow' [] $
script (svgAsPngFile (texture (t/dur))) transZ getX getZ
wait 2
tweenVar zPos 9 (\t v -> fromToS v 8 (t/9))
tweenVar xRot 9 (\t v -> fromToS v 360 $ curveS 2 (t/9))
tweenVar zRot 9 (\t v -> fromToS v 360 $ curveS 2 (t/9))
fork $ tweenVar zPos 9 $ \v -> fromToS v 8
fork $ tweenVar xRot 9 $ \v -> fromToS v 360 . curveS 2
fork $ tweenVar zRot 9 $ \v -> fromToS v 360 . curveS 2
wait 10
tweenVar zPos 2 (\t v -> fromToS v 0 $ curveS 3 (t/2))
wait 2
tweenVar zPos 2 $ \v -> fromToS v 0 . curveS 3
where
bg = animate $ const $ mkBackgroundPixel $ PixelRGBA8 252 252 252 0xFF