C-Trend Live is a browser VJ rig for the world's webcams, named after Woody Vasulka's C-Trend (1974). Point it at any live EarthCam and the feed comes back as a wireframe relief, pushed around by knobs, keys, and a MIDI controller.

From the EarthCam catalog, I included 109 streams from 14 countries. You can flip between them by one click.
Inspiration
In 1974, Woody Vasulka recorded C-Trend by routing street footage through a Rutt/Etra video synthesizer. The Rutt/Etra reads each scanline's luminance as a vertical deflection on a CRT, so any flat video signal gets rebuilt as a 3D wireframe surface. Brightness becomes elevation. Cars driving past the camera turn into hills rolling across the screen.








Live cam
EarthCam publishes hundreds of public HLS streams. Tourist signs, traffic intersections, beaches, casinos, animal preserves. Any of them works. The synthesizer doesn't care what the camera is pointed at, only how bright each pixel happens to be.
How it works
The frame starts as 512 horizontal lines with 384 vertices each. Thick lines in WebGL aren't free: gl.LINES caps out at 1 pixel wide on most browsers, no matter what width you ask for. So the rig uses Three.js's LineSegments2, which draws each line as two thin triangles in screen space. The thickness becomes a real parameter, closer to a CRT trace than a hairline plot.
A vertex shader on the GPU handles the displacement. It samples the live HLS feed under each vertex, reads the brightness, and pushes the vertex outward along the surface normal by that amount. Bright pixels rise, dark pixels stay flat. The wireframe gets rebuilt every frame. A bloom pass and ACES tone mapping sit on top, in an HDR framebuffer, so the brightest scanlines glow without clipping.
Acknowledgement
Made for Recreating the Past at the MIT Media Lab, taught by Zach Lieberman. Thanks to Zach for introducing me to early artists engaging with technologies like Vasulka.

