This project was made to learn & experiment with Rust.
It's based on a youtube video about a 'generalized rainbow smoke algorithm' by Generative Garden.
The original algorithm (by József Fejes) was developed in order to construct images using every value of a set of colors exactly once, where the set was chosen as the RGB colorspace cube. The 'generalized' version uses an image to define the set of colors, and again constructs an image that uses each entry of the set (e.g. each pixel) exactly once.
The version in this repo uses an image like the 'generalized' implementation, but doesn't strictly try to use every pixel once. More information about the implementation can be found in the src folder readme.
Building & running requires cargo. Assuming it's installed, use:
cargo run --releaseThis creates an executable file (under target/release). The executable can be run in a terminal with a -h or --help flag to show various launch options, including an option to change the output image sizing.
