Only Installation at the Lowry


After seeing the video for 'Only' by NIN, I decided I really wanted to make that work in real-time. The very first version used an infrared camera and OpenCV within OpenFrameworks and was quite a laugh really. I learnt a lot while building it. When the Kinect came out, I figured a rewrite was needed and since I wanted to learn more hardcore C++, I decided to go with Cinder.

On the Tech side of things, I went through a lot of different ideas, with shadows, an early version of SSAO and even a 360 Panorama shot, taken with my trusty D100. In the end, I found that the best result was to use either a texture or a webcam feed sent into some GLSL refraction, coupled with a version of SSAO that uses Poisson Discs. Its the only implementation I've found that runs well enough.

Initially, I thought that using one mac, with the front and back screens stretched over two heads would work but sadly not. The framerate took a hit and doing fullscreen over two heads seemed difficult. In the end, I decided to send the raw data over a network link from the back screen, to the front. There was a small amount of latency but that actually added to the effect rather nicely.

Two Mac Pros were hired to run it (overkill really) but the FPS wasnt as great as I'd like. I'd thought about instancing and similar but couldnt make it work with Apple's goddamn crappy OpenGL drivers. This will be running again in 3 weeks time and its likely it'll be on a couple of Windows machines instead (thanks Cinder Windows peeps!).

The projector screen is quite special. It was made by one of the team, Andrew Robinson, who built a frame with 3 skins that stop the light from going straight through. The projectors were mounted quite high up so its possible to get very close to the screen. I'd incorporated Memo's Quadwarp algorithm into the program to keystone in software if needed but it turns out we didn't need to bother.

Plenty learnt as its my first piece really (at least, the first that I made on my own, software wise) but I had a lot of fun. Cheers Cinder guys and girls!