Features
Animate any parameter
Every parameter on every operator can be driven by a signal. Wire in a clock, an envelope, noise, a sensor reading, or the output of another operator, and it moves every frame.
Images and video
Load images and video, generate textures procedurally, and process them on the GPU: blend, blur, color correct, displace, and remap. Send the result to a fullscreen output.
3D models and geometry
Import 3D models, build geometry from primitives, and deform it per vertex. Assign materials and light the scene, all while the graph keeps running.
Live data viewers
Preview any texture, mesh, model, material, or signal inline while the graph runs.
Full undo
Every change to the graph can be undone, so you can experiment freely and step back whenever something doesn't work out.
Plain text project files
Project files are stored as JSON, so they work well with version control like git and are easy to inspect, diff, and share.
Performance
ZigZag is written entirely in C++. Texture and mesh processing happens fully on the GPU. It has very few dependencies, and both the graphics layer and the user interface have been custom-built for ZigZag. The result is a small download that starts instantly and stays responsive while the graph executes.