Recipe 55: MirrorHouse

    General Principles

    • Using 3D cameras and feedback to create complex patterns
    • Working with multiple objects and capturing to textures


    This patch takes 4 different camera views of the same 3D scene and maps it onto 4 different videoplanes. By altering the relationship between the cameras and their output planes, we can get some pretty stunning feedback. The result is exquisite and complex repetitive visual patterns without any inputs, similar to a house of mirrors or kaleidoscope.


    • jit.anim.node


    To begin with, we have 4 objects arranged in a cross pattern and each rotated inward 45 degrees. For each videoplane, there is a feeding textures to it. Each of these cameras has capturing turned on, and is outputting a texture of the scene. By default, these cameras are in the same position and rotation, but move the pictsliders and you'll be able to spread them out and reorient the cameras.
    The texture output of the objects is passed through a object with a color scale-bias effect loaded. The provides some basic color manipulation, but is also necessary to add another texture capture stage so that the feedback doesn't glitch out. OpenGL doesn't like it when you try to capture to a texture that you are also rendering in the scene. Passing the texture through avoids that situation.
    Finally, we have another in the scene with no capturing happening, just to render it onscreen.

    • Nov 30 2012 | 2:59 pm
      This is an awesome patch, and I had a great time basing a class project off of this patch, so thank you for that Andrew. One question though, how can I save this as a functioning application? My problem is that when I export this as an application, the application can't access the "cc.scalebias.jxs" shader file. I tried including it from its proper place (where it was automatically installed when I installed Max). Have you ever tried to export a standalone application from this Mirrorhouse patch? If so, how did you deal with the cc.scalebias.jxs issue? I'd love to be able to show this to friends and family, but without a way to successfully create an application from this, I'm dead in the water.
    • Jun 02 2013 | 12:50 am
      I'm trying to blend a sketch like this with a video source back and forth using xfade. I'm having trouble putting the right input into the xfade. Do I need to have the static going to a matrix and then to the xfade? HELP!
    • Nov 03 2015 | 3:14 pm
      How can I turn this into a video with MIDI input?