• Stars
    star
    6,026
  • Rank 6,680 (Top 0.2 %)
  • Language
    Rust
  • Created about 7 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Creative Coding Framework for Rust.

nannou Actions Status Backers on Open Collective Sponsors on Open Collective

nannou_logo

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.

1 2 3

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

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 Crates.io docs.rs App, sketching, graphics, windowing and UI.
nannou_audio Crates.io docs.rs Audio hosts, devices and streams.
nannou_core Crates.io docs.rs Just-the-core for headless, embedded and libraries.
nannou_egui Crates.io docs.rs For creating egui UIs in nannou apps.
nannou_isf Crates.io docs.rs An Interactive Shader Format pipeline.
nannou_laser Crates.io docs.rs LASER devices, streams and path optimisation.
nannou_mesh Crates.io docs.rs API for composing meshes from channels.
nannou_osc Crates.io docs.rs Simple OSC sender and receiver.
nannou_wgpu Crates.io docs.rs 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 Crates.io A nannou project generator.
nannou_package Crates.io For packaging nannou apps for distribution.

Links

More Repositories

1

gantz

A library for creating and evaluating executable directed graphs at runtime.
Rust
113
star
2

ether-dream

A full implementation of the Ether Dream Laser DAC protocol in pure Rust.
Rust
32
star
3

nannou_timeline

A GUI widget designed for viewing and controlling data over time.
Rust
25
star
4

guide

A guide for nannou, including "Getting Started", "Tutorials" and more.
Rust
25
star
5

hotglsl

A simple crate for hotloading GLSL shaders as SPIR-V.
Rust
22
star
6

isf

Parsing, Deserialization and Serialization of ISF - the Interactive Shader Format. Implemented in pure Rust.
GLSL
20
star
7

nannou_laser

A cross-platform laser DAC API featuring detection, streaming and frame optimisation in Rust.
Rust
19
star
8

nannou_audio

The audio API for nannou, the creative coding framework.
Rust
9
star
9

citp

An implementation of CITP (Controller Interface Transport Protocol) in pure Rust.
Rust
8
star
10

cpal_wasm_example

Example project for compiling CPAL to WASM and publishing on the web
JavaScript
5
star
11

nannou_osc

The OSC API for Nannou, the creative coding framework.
Rust
4
star
12

nannou_isf

A suite of tools aimed at making it easy to build your own live ISF shader editing environment with nannou.
GLSL
3
star
13

ilda-idtf

A library for efficiently reading and writing the ILDA Image Data Transfer Format.
Rust
2
star
14

lasy

A small library dedicated to LASER path optimisation.
Rust
2
star
15

notosans

A simple crate providing several of Google's Noto Sans true type fonts as slices of bytes.
Rust
1
star
16

website

nannou.cc | website
JavaScript
1
star
17

old_nannou_website

The Nannou website and blog
JavaScript
1
star
18

alembic-master

CSS
1
star
19

nannou_conrod

nannou's deprecated conrod interoperation crates, `nannou_conrod` and `nannou_timeline`.
Rust
1
star