Mesmerize is a picture viewer that creates an animated slideshow. You just need to point it at a directory with png and jpg files, and it will create this effect:
See a better version of it here.
usage: [--window|--full-screen] [--resolution=widthxheight|--resolution=max] [--display-picture-duration=duration_in_seconds]
[--opacity-animation-duration=duration_in_seconds] [--zoom-animation-duration=duration_in_seconds]
[--pan-animation-duration=duration_in_seconds] [--zoom-percentage=number_1_to_100]
[--pan-percentage=number_1_to_100] path_to_folder_with_images_jpg_and_png
Defaults:
--window
--resolution=max (1920x1080 is what works best on a pi 4)
--display-picture-duration=15
--opacity-animation-duration=4
--zoom-animation-duration=20
--pan-animation-duration=10
--zoom-percentage=5
--pan-percentage=5
To compile from source (make sure you have cmake installed):
$ git clone --recurse-submodules this repo
$ ./configure-debug.sh
$ cd build
$ make
If you run configure debug the shaders in the shaders' folder will be used (they are just text files you can edit).
In release mode the shaders that are hardcoded in Picture.cpp
are used instead.
To compile in debug mode:
$ ./configure.sh
$ cd build
$ make
If you want to run with extra debug info that shows fps and has controls to change image run make like this:
$ make CXXFLAGS=-DENABLE_IMGUI