https://github.com/fralonra/wgshadertoy
A WGSL playground inspired by Shadertoy.
https://github.com/fralonra/wgshadertoy
creative-coding egui generative-art shadertoy webgpu wgpu wgsl
Last synced: about 2 months ago
JSON representation
A WGSL playground inspired by Shadertoy.
- Host: GitHub
- URL: https://github.com/fralonra/wgshadertoy
- Owner: fralonra
- License: mit
- Created: 2022-10-18T03:22:23.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-01-08T10:12:15.000Z (almost 2 years ago)
- Last Synced: 2025-03-16T01:32:43.553Z (7 months ago)
- Topics: creative-coding, egui, generative-art, shadertoy, webgpu, wgpu, wgsl
- Language: Rust
- Homepage:
- Size: 1.18 MB
- Stars: 102
- Watchers: 3
- Forks: 6
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
WgShadertoy


A [WGSL](https://www.w3.org/TR/WGSL/) playground inspired by [Shadertoy](https://www.shadertoy.com/).
## Installation
### Windows
Check out the [latest release](https://github.com/fralonra/wgshadertoy/releases) for a `msi` installer.
### MacOS
Available on [MacPorts](https://ports.macports.org/port/wgshadertoy/):
```
sudo port install wgshadertoy
```### Linux
Available on [Flathub](https://flathub.org/apps/io.github.fralonra.WgShadertoy).
For Arch Linux users, `wgshadertoy` is also available on AUR:
```
yay -S wgshadertoy
```## Wgs format
The application use a binary format [`wgs`](https://github.com/fralonra/wgs) to save and load shaders and textures.
It helps to share your shaders amoung people.
You can find examples in [wgs's repo](https://github.com/fralonra/wgs/tree/master/examples).
## Limits
- The amount of the texture you can upload is [the max bind group count of your device](https://docs.rs/wgpu/latest/wgpu/struct.Limits.html#structfield.max_bind_groups) - 1.
- Won't show any hints on invalid shaders. They just won't compile.## Contributing
- [Translations](./i18n/README.md)
## Credits
- [wgpu](https://github.com/gfx-rs/wgpu) for rendering.
- [egui](https://github.com/emilk/egui) for UI.
- [binrw](https://github.com/jam1garner/binrw) for binary data read/write.
- [shadertoy](https://github.com/adamnemecek/shadertoy) for the wonderful vertex shader.