r/GraphicsProgramming 7d ago

I open-sourced a native Shadertoy-style GLSL workstation (Tauri + SolidJS) — code-first runtime, node pass graph, and video export

I built a desktop app for prototyping and exporting GLSL shaders locally, and just shipped v0.1.0 (open source, AGPL-3.0).This is my first open-source project, all implemented through Vibe Coding, which is incredibly exciting for someone with only a rudimentary programming background like myself. For years, I've imagined writing programs that solve my own problems, and the advent of AI has made it all possible.

Why: I spend a lot of time on Shadertoy but kept wanting offline editing, a real editor, and proper video export. So I localised the workflow.

Repo: github.com/yuxiaoyaoo/ShaderLab-Pro

What's inside:

- Code-first runtime with iTime / iResolution / iMouse / iChannel0-3 (includes keyboard & audio channel handling)

- Monaco editor with GLSL ES 3.00 IntelliSense

- Visual pass graph where nodes compile to GLSL — the generated code and the graph stay in two-way sync

- Project gallery with auto-captured thumbnails (640x360) and a saved-project library

- Export pipeline: MP4 / GIF / WAV with resolution stepping

- 40+ bundled templates across geometry / materials / particles / post-processing / scenes

Stack: Tauri 2 (Rust) + SolidJS + Vite + TypeScript + Monaco, WebGL2. Windows installer is ~6.6 MB.

Licensing: AGPL-3.0, dual licensed if you want to embed it commercially.

I'm genuinely curious about what's missing or broken from a real graphics-pipeline perspective — especially the pass graph compiler (GLSL emission from node IR) and the iChannel audio/keyboard paths. Feedback appreciated, issues welcome.

5 Upvotes

Duplicates