Nannou
A Creative Coding Framework for Rust.
Install / Use
/learn @nannou-org/NannouREADME
nannou


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. <sup>Named after this.</sup>
| | | |
| --- |:---:| ---:|
|
|
|
|
A Quick Note
It is still early days and there is a lot of work to be done. Feel free to help out!
The Guide
- Welcome!
- Why Nannou?
- Getting Started
- Tutorials
- Community Tutorials
- Developer Reference
- API Reference
- Showcases
- Changelog
- Contributors
- Code of Conduct
Examples
The following collection of examples are a great way to get familiar with nannou.
| Directory | Description |
| --- | --- |
| examples/ | A collection of examples demonstrating how to use nannou! |
| generative_design/ | Examples from Generative Gestaltung, ported from p5.js to nannou. |
| nature_of_code/ | 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>
where <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.
Libraries
The following nannou libraries are included within this repository.
| Library | Links | Description |
| --- | --- | --- |
| nannou |
| App, sketching, graphics, windowing and UI. |
|
nannou_audio |
| Audio hosts, devices and streams. |
|
nannou_core |
| Just-the-core for headless, embedded and libraries. |
|
nannou_egui |
| For creating egui UIs in nannou apps. |
|
nannou_isf |
| An Interactive Shader Format pipeline. |
|
nannou_laser |
| LASER devices, streams and path optimisation. |
|
nannou_mesh |
| API for composing meshes from channels. |
|
nannou_osc |
| Simple OSC sender and receiver. |
|
nannou_wgpu |
| WGPU helpers and extensions. |
Tools
A couple of tools are also included, though there some issues we would like to address before we can recommend using them just yet!
| Tool | Links | Description |
| --- | --- | --- |
| nannou_new | | A nannou project generator. |
|
nannou_package | | For packaging nannou apps for distribution. |
