Esta página se muestra en inglés. Una traducción al español está en curso.
ConfigsJul 13, 2026·3 min de lectura

nannou — Creative Coding Framework for Rust

An open-source creative coding framework for Rust that makes it easy to build generative art, audiovisual installations, and interactive simulations with GPU-accelerated graphics.

Listo para agents

Instalación lista para agent

Este activo puede instalarse después de elegir el runtime, revisar el plan y ejecutar el comando correspondiente.

Native · 98/100Política: permitir
Superficie agent
Cualquier agent MCP/CLI
Tipo
Skill
Instalación
Single
Confianza
Confianza: Established
Entrada
nannou
Comando de instalación directa
npx -y tokrepo@latest install 5bd64c88-7e73-11f1-9bc6-00163e2b0d79 --target codex

Ejecutar después de confirmar el plan con dry-run.

Introduction

nannou is an open-source creative coding framework for Rust, inspired by Processing and openFrameworks. It provides a batteries-included environment for artists and designers who want the performance and safety of Rust with a friendly API for 2D/3D graphics, audio, and interaction.

What nannou Does

  • Renders real-time 2D and 3D graphics via wgpu (WebGPU backend)
  • Provides a sketch-style API with model, update, and view lifecycle functions
  • Integrates audio I/O through CPAL for generative sound and music visualization
  • Supports GUI widgets, OSC communication, and laser output for installations
  • Ships examples covering particle systems, noise fields, shaders, and more

Architecture Overview

nannou wraps wgpu for cross-platform GPU rendering, winit for windowing, and CPAL for audio. The framework uses an event-driven application loop where the user defines a model struct holding state, an update function for logic, and a view function for drawing. This design keeps creative sketches concise while giving full access to Rust's ecosystem.

Self-Hosting & Configuration

  • Requires a stable Rust toolchain (1.65+); install via rustup
  • GPU drivers must support Vulkan, Metal, or DX12 for wgpu rendering
  • Add features in Cargo.toml: nannou_audio, nannou_osc, nannou_laser
  • Export frames to PNG sequences for video production with app.main_window().capture_frame()
  • Use nannou_egui crate for adding immediate-mode GUI panels to sketches

Key Features

  • wgpu rendering: modern GPU pipeline without OpenGL legacy
  • Audio-visual integration: synchronized sound and graphics in one framework
  • Hot-reload friendly: fast compile times for iterative creative work
  • Cross-platform: runs on macOS, Linux, and Windows
  • Rich example gallery: 100+ sketches demonstrating techniques

Comparison with Similar Tools

  • Processing — Java-based, larger community but slower runtime performance
  • openFrameworks — C++ toolkit with broader addon ecosystem
  • p5.js — browser-based, easier to share but limited by JS performance
  • Cinder — C++ creative framework, similar scope but no Rust safety guarantees
  • Bevy — Rust game engine with ECS; heavier architecture than nannou's sketch model

FAQ

Q: Do I need to know Rust to use nannou? A: Basic Rust knowledge is needed. The API is designed to be approachable, and the examples serve as learning material.

Q: Can I use nannou for live performances? A: Yes. It supports real-time audio input, OSC for MIDI controllers, and low-latency rendering suitable for live visuals.

Q: How does nannou compare to Bevy for creative coding? A: nannou is sketch-oriented with a simpler API. Bevy is a full game engine with an ECS architecture, better suited for complex interactive applications.

Q: Can I export video from nannou? A: nannou can save individual frames as images. Combine them into video with FFmpeg.

Sources

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados