Could you please consider adding a UV layout mode render mode (to render and render pass top).
The idea is to output the gl position as the UV map (maybe optional layer parameter?), but leave all the other parameters as the world position for accurate lighting and other calculations (shadows gets messed up easily when you mess with position in vertex shader, I noticed).
The idea is that you then have a flat raster made from a render pass with accurate lighting from a given viewpoint. You can then remap that onto an object - probably the same object - to retarget it with cameras that represent projectors.
The other benefit is that you can mix between viewpoint rendered baked exports from TD or other apps and your renders in a TOP pipeline. This is common in a big projection mapping system.
There are currently two workarounds - a custom script SOP to stash UV coords and custom vertex shader to tweak GL positions, or doing a flat render and using a ‘render from camera viewpoint’ in the final render. This approach is severely flawed in that surfaces tilted away from the camera or far from the camera have terrible resolution (pixel smearing). Using UV layout can give you a decent resolution throughout the model (depending on how well the map was made).