Ménage à Trois - F5 Festival

Role: Creative Coder

MPC NY was invited to create a piece for the F5 Festival around the love theme. Reminiscent of Paul Rand's IBM logo, our piece was an play on pictograms that spell love. My focus was on the creation of the heart (the interactive center piece).

Surrounded by two video playback displays, the middle one hosted a custom interactive application built in Cinder (C++/GLSL), with graphics generated in real-time. The heart shape is negative space formed by a vertical particle flow. With the constraints of a very short timeline, we reduced the interaction point to a single button. A button press triggers the generation of more particles. When a limit threshold is reached, the heart explodes in a sort of celebration confetti.

The 3d heart shape is defined analytically. In other words, an equation defines the heart surface which is later ray-traced in GLSL to drive attraction forces. This makes computations significantly easier and more efficient.

The ribbon and point sprite particle systems are both updated and rendered on the GPU (transform feedback, geometry shaders, etc). This allows for a greater particle count and a very smooth motion at 60fps, while maintaining an immediate response to the button press. Motion is driven by a combination of forces: wind, rotational forces, curl noise, and force impulses with custom easing.

Note that the development process was made significantly faster with live shader coding (thanks to Simon Geilfus and Richard Eakin).

trifecta.gif