Crates.io | shadergraph |
lib.rs | shadergraph |
version | 0.1.0 |
source | src |
created_at | 2021-09-07 05:48:32.75098 |
updated_at | 2021-09-07 05:48:32.75098 |
description | Create evolving artistic images with hot-code-reloaded Lisp and GLSL. |
homepage | https://blog.tonari.no/shadergraph |
repository | https://github.com/tonarino/shadergraph |
max_upload_size | |
id | 447864 |
size | 7,178,602 |
shadergraph
Shadergraph is a tool for building hot-code-reloadable shader pipelines. For a tutorial for how to get started, consult the introductory blog post or the shadergraph lisp language documentation.
Once you've installed shadergraph via cargo install shadergraph
, test to see that it is installed properly by running:
shadergraph --help
This should print out some usage information. To create a new project, run:
shadergraph new path/to/project
This will create a new example project in the specified directory. To run a shadergraph, cd into the directory of a project and run:
shadergraph run
This should open a new window and start running your graph. Don't close the window if you want to make changes; instead, open the project in an editor of your choice - the graph will update on save.
If a build error is encountered while reloading, shadergraph
will log the error and continue executing the old graph.
You can pass input images and videos to shadergraph using the -i
flag. This flag takes a list of paths to photos/videos - you must pass the same number of input photos/videos as the number of (input ...)
s specified in shader.graph
.
Once you've got a nice shadergraph, to render out a png sequence, use the render
subcommand. This subcommand works exactly the same as run
, but requires an output directory. To render the game of life demo out into a gif, run:
mkdir out
shadergraph render demos/life -o out -s 30 -e 430
ffmpeg -i "out/frame-%4d.png" -framerate 30 life.gif
You should see something like this (it might be a little fancier):
Happy hacking!