MESHCAL: GEOMETRY CORRECTION WITH JITTER

[code] Max/MSP/Jitter (5), GPL

Creating the Contemporary Issues Forum at the National Museum of American Jewish History was a great challenge for my Jitter skills — the installation features no fewer than twelve cameras and a host of interactive modes.

As you can imagine, there was a lot of geometry correction going on. Because video was being re-projected back onto the recording surface, not only did the projected image have to match the geometry of the wall, but it also had to internally align to the post-it notes on the wall. Geometry correction solutions that I found online and in the forums would address the plane alignment, but not the internal deformation of the image, which is necessary to account for the camera and projector lenses.

jit.gl.mesh to the rescue. Using opengl planes and a transformation matrix, I built an object, dubbed meshcal, that allows adjustment of both the corners of a plane and horizontal and vertical axes across a grid.

The code let us pull off the magic trick of having projected people seemingly interact with physical objects on the wall in an endless record and project cycle. Hopefully this can be of use of others needing fine-tuned geometry correction for a similar situation, or seeking to get deeper into jit.gl.mesh, which can get pretty hairy.