summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2021-11-01 23:09:48 -0400
committerTavian Barnes <tavianator@tavianator.com>2021-11-01 23:09:48 -0400
commit798a7a6193cb0dda18788034941275bb9f75ec56 (patch)
tree8fdb24e123726f17eeacb796437b74866c3ad04c
parent591dbb7c532f2e794488b7ffaebb372e00f0c261 (diff)
downloadkd-forest-798a7a6193cb0dda18788034941275bb9f75ec56.tar.xz
Add a README
-rw-r--r--README.md33
1 files changed, 33 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d819024
--- /dev/null
+++ b/README.md
@@ -0,0 +1,33 @@
+k-d forests
+===========
+
+An implementation of [k-d forests](https://tavianator.com/2020/porting_kd_forests.html).
+
+This code generates images containing every possible color, in the style of [this Code Golf answer](http://codegolf.stackexchange.com/a/22326) by József Fejes.
+Colors are placed on the image one by one, next to the closest pixel already filled in.
+
+Images
+------
+
+The full 24-bit, 4096×4096 image is generated by default, which takes a while:
+
+ $ cargo run --release
+ Generating a 4096x4096 image (16777216 pixels)
+ 100.00% | 159 kpx/s | max frontier size: 267592
+
+To try it out quickly, generate an image with reduced bit depth:
+
+ $ cargo run --release -- -b19
+ Generating a 1024x512 image (524288 pixels)
+ 100.00% | 285 kpx/s | max frontier size: 18719
+
+There are many flags that control the order colors are placed, and how the location for each color is selected.
+Pass `--help` to see the available options.
+
+Video
+-----
+
+To make a video of the generation process, pass the `-a`/`--animate` flag, and pipe the output into `ffmpeg`.
+For example:
+
+ $ cargo run --release -- -b23 -w3840 -h2160 -a | ffmpeg -f image2pipe -r 60 -i - -c:v libx265 -x265-params lossless=1 kd-forest.mkv