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.
- Drawing 2D shapes
- Animating a circle
- Drawing images
- Drawing 3D shapes
- Drawing meshes
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
- An intro to OSC.
- Sending OSC.
- Receiving 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!