https://github.com/altunenes/cuneus
Code WGSL shaders & export HQ frames: powered by wgpu and has hot reload for shaders
https://github.com/altunenes/cuneus
algorithmic-art art creative-coding egui fragment-shader gstreamer illusions rust-lang shaders wgpu wgsl winit
Last synced: about 2 months ago
JSON representation
Code WGSL shaders & export HQ frames: powered by wgpu and has hot reload for shaders
- Host: GitHub
- URL: https://github.com/altunenes/cuneus
- Owner: altunenes
- License: mit
- Created: 2024-12-25T21:42:32.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-04-04T17:40:58.000Z (about 2 months ago)
- Last Synced: 2025-04-04T18:34:45.774Z (about 2 months ago)
- Topics: algorithmic-art, art, creative-coding, egui, fragment-shader, gstreamer, illusions, rust-lang, shaders, wgpu, wgsl, winit
- Language: Rust
- Homepage:
- Size: 462 KB
- Stars: 55
- Watchers: 2
- Forks: 4
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/altunenes/cuneus/actions/workflows/release.yaml) [](https://crates.io/crates/Cuneus)
A tool for experimenting with WGSL shaders, it uses `wgpu` for rendering, `egui` for the UI, `winit` for windowing, and `notify` for hot-reload. :-)
### Current Features
- Hot shader reloading
- Multi-pass, atomics etc
- Interactive parameter adjustment, ez Texture loading through egui
- Easily use your own videos as textures (thanks to the `gstreamer`)
- Audio/Visual synchronization: Spectrum and BPM detection via `gstreamer`
- Export HQ frames via egui## Current look
## Keys
- `F` full screen/minimal screen, `H` hide egui
#### Usage
- If you want to try your own shaders, check out the [usage.md](usage.md).
#### Run examples
- `cargo run --release --bin *file*`
- Or download on the [releases](https://github.com/altunenes/cuneus/releases)
- Or, as the best method, use tui browser via ratatui (thanks to `davehorner`):
`cargo run --example tui_browser`# Gallery
| **Sinh** | **Signed Distance** | **Satan** |
|:---:|:---:|:---:|
|
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/sinh.rs) |
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/sdvert.rs) |
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/satan.rs) || **Mandelbulb** | **Lich** | **Galaxy** |
|:---:|:---:|:---:|
|
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/mandelbulb.rs) |
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/lich.rs) |
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/galaxy.rs) || **Xmas** | **Droste** | **Clifford** |
|:---:|:---:|:---:|
|
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/xmas.rs) |
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/droste.rs) |
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/clifford.rs) || **orbits** | **hilbert room** | **genuary6** |
|:---:|:---:|:---:|
|
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/orbits.rs) |
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/hilbert.rs) |
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/genuary2025_6.rs) || **rorschach** | **nebula** | **audio visualizer** |
|:---:|:---:|:---:|
|
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/rorschach.rs) |
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/nebula.rs) |
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/audiovis.rs) || **Poe2:loading** | **tree** | **voronoi** |
|:---:|:---:|:---:|
|
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/poe2.rs) |
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/tree.rs) |
[Code](https://github.com/altunenes/cuneus/blob/main/src/bin/voronoi.rs) |