This visualizer was a personal project for an art exhibition with friends. I designed, coded, and hosted the website, and it ended up being a fun experiment in the artistic potential of three.js. The visualizer uses the webcam footage and feeds it through a shader that maps the brightness value of each pixel to the depth of the vertex. Bright areas pop out, and dark areas sink in. There's several parameters available to play around with including color, depth, and speed. Since it's intended to be played alongside music, I built a custom BPM detector. Simply tap the spacebar to the beat of the song, and it'll sync the movement of the visualizer to the BPM.