Crate nannou[][src]

Expand description

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 laser installation or a 5 minute sketch, this framework aims to give artists easy access to the tools they need.

If you’re new to nannou, we recommend checking out the examples to get an idea of how nannou applications are structured and how the API works.


pub use find_folder;
pub use lyon;
pub use winit;
pub use self::app::App;
pub use self::app::LoopMode;
pub use self::draw::Draw;
pub use self::event::Event;
pub use self::frame::Frame;


Items related to the App type and the application context in general.

Color items, including everything from rgb, hsb/l/v, lap, alpha, luma and more, provided by the palette crate.

A simple API for drawing 2D and 3D graphics.

A suite of common interpolation functions often referred to as “easing” and “tweening” functions. This API is provided by the pennereq crate.

Application, event loop and window event definitions and implementations.

Items related to the Frame type, describing a single frame of graphics for a single window.

Types, functions and other items related to geometry. This module is the source of all graphics and lazer primitives and aids work in 2D and 3D space.


Items related to working with images. Currently, this module simply re-exports the renown image crate which supports reading and writing PNG, JPEG, GIF, WEBP, BMP and more.

An extension of the std::io module. Includes functions for safely saving and loading files from any serializable types, along with functions specifically for working with JSON and TOML.

A mathematical foundation for nannou including point and vector types and a range of helper/utility functions.

An API for composing Meshs. Meshs may be composed of different sets of channels including position, color, texture-coordinate and normals. Note that this is quite a low-level representation. For a higher-level, graphics-related mesh API, see the draw module.

Items related to noise generation, API offered via the noise-rs crate.

A collection of commonly used items that we recommend importing for ease of use.

Items related to randomness and random number generators. Also provides some high-level helper functions.

Small tracked parts of the application state. Includes window, keys, mouse, and time - each of which are stored in the App.

Text layout logic.

Extensions and utilities for working with time.

Items related to wgpu and its integration in nannou!

The nannou Window API.


Begin building the App.

Shorthand for building a simple app that has no model, handles no events and simply draws to a single window.