/cuneus

Code WGSL shaders & export HQ frames: powered by wgpu and has hot reload for shaders

Primary LanguageRustMIT LicenseMIT

Shader Binary Release crates.io

cuneus sdf

A tool for experimenting with WGSL shaders, it uses wgpu for rendering, egui for the UI and winit for windowing :-)

Current Features

  • Hot shader reloading
  • Compute & Fragment shader support
  • Multi-pass, atomics etc
  • Interactive parameter adjustment, ez media imports through egui
  • Easily use HDR textures via UI
  • 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

Cuneus IDE Interface

Keys

  • F full screen/minimal screen, H hide egui

Usage

  • If you want to try your own shaders, check out the usage.md.
  • Optional Media Support: GStreamer dependencies are optional - use --no-default-features for lightweight builds with pure GPU compute shaders.
  • When using cuneus as a dependency (via cargo add):
    • Add bytemuck = { version = "1", features = ["derive"] } to dependencies (derive macros can't be re-exported)
    • Copy build.rs to your project root to configure GStreamer paths (only needed for media features)
    • then simply use use cuneus::prelude::*;

Run examples

  • cargo run --release --bin *file*

  • Or download on the releases

  • Or, as the best method, use tui browser via ratatui (thanks to davehorner):

    cargo run --example tui_browser

Gallery

Sinh vertices Satan

Code

Code

Code
PathTracing Mandelbulb Lich Galaxy

Code

Code

Code
Buddhabrot FFT(Butterworth filter) Clifford

Code

Code

Code
orbits hilbert room genuary6

Code

Code

Code
water path tracer audio visualizer

Code

Code

Code
Poe2:loading tree voronoi

Code

Code

Code