Skip to content

Nannou Workshop

Joshua Batty edited this page Jun 1, 2018 · 11 revisions

Introduction

The Nannou Creative Coding Framework 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. Nannou was created by MindBuffer for this purpose and released as open source in the hope it can be useful to other artists and technologists.

Topics Covered in this Workshop

Basic

  • Brief overview or Rust, goals, benefits and differences to other languages
  • Getting setup with VS-Code and installing the correct plugins to use for Rust
  • Cargo and Crates.io
  • Basic rust primitives
  • Void and return functions
  • Rust documentation
  • Cargo doc for automatically generating documentation for your project
  • Examples for graphics, audio, communication (OSC, Artnet), gui

Advanced:

  • Types and Modules
  • Safety and Immutability by default
  • Generating FFI code to link C++ libraries

Upcoming Nannou Development:

  • Advanced graphics (Shaders, FBOs, Vulkan, GP-GPU, RLSL)
  • Gantz Graph
  • User Interface builder

Getting Started

Nannou is built using the Rust programming language. Thus, the first step is to download and install Rustup on your machine. To do so, open up the terminal, copy and paste the below text into the terminal and hit enter. ''' curl https://sh.rustup.rs -sSf | sh '''

We recommend using VS-Code as your editor and IDE for Nannou development. Currently it seems to have the best support for the Rust language including syntax highlighting, auto-complete and code formatting etc... It also comes with a handy integrated unix terminal and file navigation system. Below are steps we recommend for getting started with Nannou development using VS-Code.

  1. Download VS-Code for your OS.

Examples

  • Nannou new
  • Simple draw
  • Builder patterns
  • Events and how the Nannou Model compares to openFrameworks / Processing
  • Simple Audio
  • Simple Gui
  • Simple OSC communication
  • Artnet to Capture
  • Etherdream and Laser output
  • Nature of Code examples (go through some examples with the Processing code side by side)
  • Generative Gestaltung

Further Resources:

Clone this wiki locally