TouchDesigner is a high-level real-time video programming environment, with hardware-accelerated 3d and 2d graphics generation and manipulation tools, flexible data handling, and a plethora of I/O options. It is a powerful tool that lends itself to data visualization, interactive graphics and art pieces, custom VJ software building and projection mapping. Projection mapping is the art of manipulating video such that when it is projected onto a surface it does not appear distorted, and instead fits the planes and form of the surface.