wgshadertoy
generative-art
wgshadertoy | generative-art | |
---|---|---|
3 | 3 | |
85 | 41 | |
- | - | |
8.3 | 2.5 | |
4 months ago | 7 months ago | |
Rust | Rust | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
wgshadertoy
-
Pixel shader format WGS is released and can be deployed on both native and Web
There is a desktop application WgShadertoy helps you write wgs files.
-
A Shadertoy-liked shader playground with WGSL supported
If you are interested in this, try it out. You can find pre-built packages for your OS from here.
-
A WGSL playground inspired by Shadertoy, backend by wgpu-rs
I made this project: wgshadertoy, a Shadertoy-liked pixel shader playground, but written in WGSL, instead of GLSL.
generative-art
-
What I've learned about flow fields so far
Thanks! Some splits are randomly generated by traversing the line and each point has a small chance (5% or so) to create a split and change color. I've tried other techniques as well where lines change color by which region of the the canvas they are in etc.
I even wrote a small UI using Rust and egui to render the drawings in real-time just to play around with that specific part. It looks like this https://imgur.com/a/Zfp1ls3 and is open source https://github.com/damoonrashidi/generative-art/tree/develop...
-
Roast my Rust
Repo can be found here, and some places in particular that I'm assuming are bad are my pointmap implementation where I couldn't really figure out how top make it take a single generic for the struct that is then used for the new function as well (the is totally superfluous but I couldn't really figure out how to make it work without it). Also not sure if this map a value from range A to range B is supposed to look like this, because it felt very verbose.
-
OpenRNDR or Processing?
I tried openrndr when I started learning kotlin and really liked it. The APIs were pretty close to what I was doing myself before I discovered it. Granted it felt like I abused the framework a bit since all I wanted to get out of it was a jpg or SVG. But ye, could highly recommend, great product. Here's a link to the stuff I made with it https://github.com/damoonrashidi/generative-art but it's all "learning kotlin" stuff so code quality wise it's a bit lacking I'd guess, and it's probably not very idiomatic.
What are some alternatives?
bevy_shadertoy_wgsl - A Shadertoy clone for the Bevy game engine. The glsl language is replaced by wgsl.
rusty_art - Creative coding and optical illusions in Rust.
silicate - Pure Rust GPU image compositor for Procreate file format.
libpd-rs - Safe rust abstractions over libpd.
wgs - WGSL based pixel shader format that can run on native and Web.
wrend - A framework-agnostic Rust/WASM + WebGL2 Rendering library, compatible with calling from both Rust and JavaScript on the web.
wgs-player - WGS player for the Web
astro-nannou-starter - A minimal boilerplate for Astro / Vite with the Nannou creative framework (Rust → WASM). Supports multiple sketches + hot-reload.
wgshader-examples - Examples for wgshadertoy
rustmas - Christmas lights controller capable of displaying 3D animations
golrs - Game Of Life using webgpu, written in Rust
generative-art - My personal project for generative art.