Tutorials

In the previous chapter we prepared everything needed to start our own Nannou project! In this chapter, we will take a more focused look at all of the different features we can add to our Nannou project.

If you are new to Nannou or Rust we recommend starting with the "Basics" tutorials before going on. If you are feeling more confident, feel free to choose your own adventure through the following tutorials depending on what you want to add to your project!

Rust Basics

Tutorials for learning the basics of Rust with nannou.

Nannou Basics

A suite of tutorials for getting familiar with the Nannou environment.

Drawing

Working with Nannou's Draw API - a simple approach of coding graphics.

Windowing

Walk-throughs for creating and working with one or more windows.

  • Building a custom window
  • Creating multiple windows
  • Drawing to different windows
  • Fullscreen on startup
  • Automatically positioning windows

GUI

How to create a GUI (Graphical User Interface) for you Nannou project.

NOTE: It might be best to wait for #383 before addressing these.

  • Creating a UI
  • Exploring available UI widgets
  • Multi-window UI

Audio

A suite of guides for working with audio in Nannou.

  • Setting up audio output
  • Setting up audio input
  • Selecting specific audio devices
  • Playing an audio file
  • Basic audio synthesis
  • Many channel audio streams
  • Feeding audio input to output
  • Visualising audio

Video

Loading, playing and recording video in Nannou.

  • Drawing video
  • Recording a window to video
  • Manipulating video playback

WGPU

Understanding the lower level that underlies all graphics in Nannou.

  • What is WGPU?
  • The graphics pipeline
  • Compute shaders
  • Fragment shaders
  • Vertex shaders

Projection Mapping

Getting started with using Nannou for projection mapping.

  • Basic quad-warping.

LASERs

Detecting and outputting to LASER DACs on a network.

  • Connecting to a LASER.
  • Detecting LASER DACs.
  • Tweaking LASER interpolation and optimisations.

OSC

DMX

Working with DMX over the network via sACN.

  • Working with the sacn crate.

Serial over USB

Working with Serial data in a cross-platform manner.

  • Reading USB serial data.
  • Writing USB serial data.


If you were unable to find what you were looking for above, or if you have an idea for a tutorial not yet present, please feel free to create an issue or a pull request!