A collection of wallpaper generators. Forked from bagyoni. Rewritten in C++.
- Install
libmagick++-dev
,base-devel
andcmake
- Clone this repository
- Build the project by typing
cmake . && make TARGET
in the project root with TARGET being one of the algorithms found as .c file insrc/
- The compiled program outputs the image given as argument, or
TARGET.png
as default if no argument has been given.
TARGET - Part of the Procedural Wallpaper Generator
Usage:
TARGET [OPTION...]
-s, --random-seed arg Random Seed (default: <random>)
-o, --out arg Output file (default: TARGET.png)
-H, --help Print a command-line help text
Image dimension options:
-h, --height arg Image Height (default: 1080)
-w, --width arg Image Width (default: 1920)
Clouds
Perlin noise fed into a sigmoid function. |
Fern
Barnsley fern with mutation. |
Flow
Perlin flow field. |
Islands
Perlin noise fed into a cutoff function. |
Landscape (original source)
Simulated erosion using a midpoint displacement technique. |
Lightning
Similar to a Brownian tree but faster to generate. |
Marrowlike (original source)
If a pixel is too dark, give it a random brightness. Scale to double size. Repeat. |
Mesh
Transformations of the complex plane. |
Tangles
Rec-tangles. |
Water
Very simple interference pattern generator. |
Wood
Modular Perlin noise stretched along the x axis. |
Zebra
The same complex function as in the Mesh program, but from a different perspective. |
- The landscape generator is shamelessly stolen from here: https://tyrellrummage.github.io/landscape/
- The marrowlike generator follows the recursive algorithm described here: http://pcg.wikidot.com/forum/t-79282/multiplicative-cascades-ish
- The fern generator uses a fractal image compression method that might be patented (I couldn't find much information about it)
All programs, except for those listed in the Disclaimers section or in their respective source file, are in the public domain. Feel free to use them as you like.