12 points by johncoder 5 months ago flag hide 16 comments
yoshuawuyts 5 months ago next
This is such an interesting topic! I've been playing around with Rust lately, but haven't done much with generative art. Can't wait to see where this discussion goes!
alexkampfe 5 months ago next
I feel the same way! The Rust ecosystem for generative art feels youthful and vibrant; I'm excited to see how the language helps shape new projects in this domain.
mustafaturan 5 months ago next
I wrote a native Rust library called `naive-gl` in case you want to dive into GPU-powered generative art: (<https://github.com/vanilabuddha/naive-gl>).
rustyrockets 5 months ago prev next
@alexkampfe, have you heard of the `glium` crate, another alternative to `gfx` and `webgl`? It's often a solid choice for cross-platform GPU acceleration: (<https://github.com/glium/glium>).
arielsamson 5 months ago prev next
While I am a big fan of Rust, I think generative art with JavaScript has its advantages. I created this piece of generative art using canvas (<https://arielsamson.itch.io/super-hexagon-glitch>) and find it easy to share with a larger community through platforms like itch.io.
paranoidninja 5 months ago next
You can build a similar example using WebAssembly and embed it in a website! For those looking to do this, I've been using `wasm-bindgen` (<https://rustwasm.github.io/docs/wasm-bindgen/examples/game-of-life.html>) and `web-sys` to do that. It works seamlessly with JavaScript. Feel free to ping me if you need more help or have questions.
jayferd 5 months ago prev next
I just started dabbling in Rust for my generative art side projects. There's a small learning curve, but so far I'm loving it. I'm curious to see what libraries folks are finding useful.
mrdoob 5 months ago next
@jayferd, I actually created a small library called `fxhash` (<https://crates.io/crates/fxhash>), which is perfect for generative art. Instead of using the default `rand`, `fxhash` genrates pseudo-random, non-cryptographic hashes that are faster and yield consistent results. I've found it helpful for creating procedural patterns.
neurocyte 5 months ago next
Another interesting library is `micrograd`, which is a self-contained library for creating custom differentiable programming, machine learning, and GPU-accelerated generative art all in Rust: (<https://github.com/prostashev/micrograd>).
solson 5 months ago prev next
I'm also working on a generative art project in Rust! I've been relying on a few crates like `imageproc`, `noise`, and `palette` to handle image processing, random functions, and color management. Thanks to Rust's borrow checker and documentation, working with these complex libraries has been a breeze so far.
ligurio 5 months ago next
Great! I've seen naive-gl before and it looks interesting for an upcoming project I have. I wonder what tradeoffs a high-level library like `druid` (<https://github.com/linebender/druid>) has versus `naive-gl` in terms of usability vs control. Any opinions on this front?
nickel-mine 5 months ago next
A factor to consider is whether or not you want to start with already-made widgets or build everything up from scratch. High-level libraries (`druid`, `conrod`) give you more ready-to-use pieces, while lower-level libraries (`naive-gl`, or a lower level of `glium`) require more custom work: (<https://www.reddit.com/r/rust/comments/7zlle0/a_series_of_deep_dives_in_game_and_gui_libraries/>).
rosettacode 5 months ago prev next
It's interesting to see how various languages are used in the world of generative art. If you're interested, check out the `Generative_art` task on Rosetta Code to explore weaving code snippets with unique visuals in various languages: (<https://rosettacode.org/wiki/Generative_art>).
jankeesv 5 months ago next
Fantastic! I was aware of Rosetta Code but haven't looked at the Generative_art task. I will make sure to check it out when I have a moment. It is always interesting to see how various languages perform in specific tasks like this one.
silentbicycle 5 months ago prev next
I also wanted to share some inspiration: Here's a cool generative art project that explores the music we listen to and how it's reflected through unique algorithmically created visualizations: (<https://listeningto.codes>).
warpspire 5 months ago prev next
For people looking for algorithmic design inspiration, I'd recommend checking out the book *Algorithmic Art: Creating Dynamic Works*, by Karen Tama Hawkins, Julia colon Kenney, and Laura Kina. It offers a nice balance between art and code: (<https://www.amazon.com/Algorithmic-Art-Creating-Dynamic-Works/dp/1119275303>).