UV Mapper Tools

While working on the Trompe L'Oeil project I came to the conclusion that traditional mapping techniques would not suffice for the complex geometry and convoluted optical path I had to deal with for that project. I developed an alternative calibration technique and have been using it in other projects since.

UV Stitcher

While creating and working with the UV Mapper toolset, it dawned on me that the same techniques can be used to apply perspective transformations to videos. By combining multiple video streams, it could be ideally suited for stitching panoramic video.

UV Stitcher was a commercial offshoot of the UV Mapper Tools, specifically aimed at stitching multiple videos into a new video. It is a compact and high performance tool; native to the platform it runs on, massively multithreaded and fully hardware accelerated.

The initial implementation of the technique used an Adobe Director movie for calibration, and a Quartz Composer patch for warping the projected material. I have since been re-implementing the tools in C++ using the libCinder framework, and released them as open source software.

The software is currently still in flux, but will shortly be made availble. In the mean time, the sources are available on github:


The tools can be used free of charge, in commercial or non-commercial applications. The source code is available under the Modified BSD license.

In a nutshell, this means you are free to use the software and its source code in your projects. If you use the source code in another software project, you are required to add attribution to the author(s). You are encouraged to share the your source code under a similar fashion, but it is not a requirement.

If you use the software regularly, you may consider making a donation so I can afford to continue making these plugins and making them available. If you use the source code in a commercial application, I would love to receive a copy, but again this is not a requirement.


First proof of concept calibration using Director


Start of rewrite effort using libCinder


UV Stitcher offshoot.


Move to Qt in collaboration with Stichting Z25.org