An open-source creative-coding toolkit for Rust.
nannou is a collection of code aimed at making it easy for artists to express themselves with simple, fast, reliable, portable code. Whether working on a 12-month installation or a 5 minute sketch, this framework aims to give artists easy access to the tools they need.
The project was started out of a desire for a creative coding framework inspired by Processing, OpenFrameworks and Cinder, but for Rust. Named after this.
A Quick Note
It is still early days and there is a lot of work to be done. Feel free to help out!
- Why Nannou?
- Getting Started
- Developer Reference
- API Reference
- Code of Conduct
The following collection of examples are a great way to get familiar with nannou.
||A collection of examples demonstrating how to use nannou!|
||Examples from Generative Gestaltung, ported from p5.js to nannou.|
||Examples from Nature of Code, ported from Processing to nannou.|
If you spot an example that interests you, you may run it with the following:
cargo run --release --example <example_name>
<example_name> is the example's file name without the
.rs. Note that the first run might take a while in order to build nannou first, but consecutive runs should be much quicker.
The following nannou libraries are included within this repository.
||App, sketching, graphics, windowing and UI.|
||Audio hosts, devices and streams.|
||An Interactive Shader Format pipeline.|
||LASER devices, streams and path optimisation.|
||Simple OSC sender and receiver.|
||A timeline widget for nannou GUIs.|
A couple of tools are also included, though there some issues we would like to address before we can recommend using them just yet!
||A nannou project generator.|
||For packaging nannou apps for distribution.|