A projection mapping project, made in TouchDesigner, for Luna Lounge. Features include psychedelic warping and distortion effects, audio reactivity, and physically-accurate real-time rendering.
Skills:
Realtime rendering
TouchDesigner
Max/MSP
OSC & TouchOSC
Particle systems
Reactive audio and visual system integration.
Roles:
Creative technologist
Projection mapping lead
Sound designer (generative)
Technical direction
Participant experience design
TouchDesigner Node Graph
Features
Realtime rendering in TouchDesigner
Physically accurate modeling:
Wrote a custom GL Oren-Nayar shader
Using NASA published lunar DEM data for texture and elevation (bump mapping)
Interactive control to “spin” the moon
Phase speed control
Light vs dark side phase weighting
Dual-tone “dark side” lighting with random motion of lights
3D geometric distortion effects
Random spinning and transform effects to “jitter” the moon
2D effects including feedback-style warping and compositing
Audio reactive effect to “pulse” to the bass of line-in audio
Shader
Initial attempts at rendering the moon didn’t look quite right to the eye. The edges of the sphere were too dark, it appeared obviously curved and spherical. It turns out that a standard Lambertian (or diffuse Phong) shader won’t do the trick, the fine dust particles of the moon’s surface reflect light in a non-linear way, giving the moon its characteristic “flat” appearance. To accurately model the moon’s reflectance function, I implemented the Oren-Nayar reflectance model as custom GL shader code within TouchDesigner.