5 ms·
This is a library and CLI for Rust to write generative fine art for print. I wrote this because writing generative art for print has unique problems that I fou
by roxven 7y ago
This is a library and CLI for Rust to write generative fine art for print.
I wrote this because writing generative art for print has unique problems that I found myself solving over and over again in standard graphics packages.
For example, a general purpose graphics library should probably compile shaders ahead of time, since compiling them at runtime is slow. When writing art, I want to see them update as I change them so I can brainstorm.
Source code is here: https://github.com/turnage/valora https://github.com/turnage/valora
Features
* Repeatable works at arbitrary resolutions without changing the work
* Type-checked color space management with https://docs.rs/palette https://docs.rs/palette
* Managed rngs for repeatable works and controlled rng trees
* Support for using a different, custom GLSL shader for each vector path
* GLSL live coding with "#include" support
* An ergonomic derive-based GLSL uniforms interface
* Animation support for brainstorming and cumulative pieces
Here is a shader written with this: https://www.instagram.com/p/Bh4iIbwgjom/ https://www.instagram.com/p/Bh4iIbwgjom/
Here is a vector work written with this: https://www.instagram.com/p/B6wN_sSHtYp/ https://www.instagram.com/p/B6wN_sSHtYp/
- Ciantic 7y agoWhat do you mean with GLSL live coding? Because you need to recompile after all. I've been wondering where are the non-destructive painting programs, which does not rasterize organic brushes or strokes. Your attempt could work as a base to build one if it can work realtime sufficiently fast.
- roxven 7y agoIf you have a valora work running and change the GLSL on disk, it will recompile and update in the next frame without your having to relaunch or any inconvenience like that.
- gameswithgo 7y agoshaders. opengl does recompile them but all while your os executable is running. its a very useful and easy thing to set up live shader reloading. much quicker cycles to experiment.
- pengaru 7y agoPresumably they mean something like https://shadertoy.com https://shadertoy.com but native, like the demo scene's Bonzomatic. https://github.com/Gargaj/Bonzomatic https://github.com/Gargaj/Bonzomatic
- mkl 7y agoIs there a Valora gallery somewhere? Your links here show that it's far more capable than the linked tutorial suggests. BTW following the link to your site in your Instagram profile leads to an HTTPS error.
- simias 7y agoGreat work! Do you think it could be suited to do "glitch art" on existing images? I've done things like that in Rust in the past using completely handwritten GL code, for instance: https://axellemanfrini.com/media/Editorial/281115_4_GlitchPlease-3350.jpg https://axellemanfrini.com/media/Editorial/281115_4_GlitchPl... but it's always a bit cumbersome to reinvent the wheel. Just having shaders auto-reload would be a big time saver actually.