Emoji Madness

A native macOS generative visualizer rendering animated 3D emoji fields with Metal — bloom, afterglow, motion blur, and hue drift. Born as a Three.js prototype.

swiftmetalgenerative-artprivate

Emoji Madness is a generative visualizer that arranges hundreds of emoji into animated 3D fields — grids, spheres, tori, a Möbius band, a heart, and other patterns — built to be watched or captured as short recorded clips. It started as a browser prototype in Three.js/WebGL and has since been rewritten as a native macOS app in SwiftUI with a Metal 3 renderer, porting every pattern and movement type from the prototype rather than just its look.

The renderer builds a single texture atlas — roughly 660 glyphs via Core Text and Apple Color Emoji — once at launch, then instances every emoji from it each frame. Visual effects run as a small GPU post-processing chain: a bright-pass-and-blur bloom, an afterglow pass that blends each frame against a decaying history texture for motion trails, per-instance motion blur that stretches each emoji’s quad along its velocity, and a hue/saturation drift pass for slow color cycling. The camera orbits on drag. An optional microphone-reactive mode maps bass to emoji size, mid frequencies to motion, and treble to bloom intensity. Recording exports H.264/HEVC .mov clips via AVFoundation, and named presets save and load as JSON.

Status: source private, single-platform (macOS 14+). This is an actively developed personal project rather than a released product — there’s no public build or install path yet.