Small Shadertoy browser & viewer for Mac built in Rust.
This application uses the Shadertoy REST API to search for Shadertoys and then downloads them locally and converts them using shaderc-rs
and spirv-cross
to be natively rendered on Mac using metal-rs
.
The API queries are done through the shadertoy
crate, which is also part of this repository in src/shadertoy
First make sure you have Rust installed installed. Then building & running is easy:
```sh $ git clone https://github.com/repi/shadertoy-browser $ cd shadertoy-browser $ cargo build --release
$ cargo run --release -- -s car ```
Keys:
LEFT
and RIGHT
- switch between shadertoys.SPACE
- toggle grid view modeENTER
- open shadertoy.com for current shaderIf the screen is red that indicates the shader wasn't able to be built.
Optional command-line settings:
```text USAGE: shadertoy-browser [FLAGS] [OPTIONS]
FLAGS: -b, --buildall Build all shaders upfront. This is useful to stress test compilation, esp. together with --headless --help Prints help information -h, --headless Don't render, only download shadertoys -V, --version Prints version information
OPTIONS:
-k, --apikey
To use the Rust shadertoy API directly in another app or library, check out the shadertoy
crate, docs and README.
Licensed under either of the following, at your option:
Contributions are welcome! Please note that your contributions are assumed to be dual-licensed under Apache-2.0/MIT.