(PC) vvvv is a hybrid visual/textual live-programming environment for easy prototyping and development. It is designed to facilitate the handling of large media environments with physical interfaces, real-time motion graphics, audio and video that can interact with many users simultaneously. vvvv provides tools that let you load/create meshes and ways to place textures on them, it even has autocalibration abilities.
vvvv is free for non-commercial use, commercial use requires a license.
here is a tutorial on what it takes to do projection mapping in vvvv: http://vvvv.org/contribution/vvvv.tutorials.mapping.3d