Video Projector Effect26 May 2009
My goal here was to approximate the look of a video projection hitting a 'non-planar surface' or otherwise intersecting objects in a 3d scene.
The underlying logic wasn't too painful. The UV coordinates of each vertex are all that need to be solved for. There's a linear relationship between the position and orientation of the 'projector', and the world space position and UV coordinates of each vertex in the scene -- requiring just algebra, which is nice, because that's about all the math I know. JiglibFlash is being used for the physics action.
In its current implementation, the projector is limited to looking straight down the z-axis. I have a feeling that the most elegant approach for all this would be to extend Camera3D or to piggyback on top of the plumbing of the Papervision framework in some other way (apologies for the mixed metaphor). Should I develop the 'Projection Manager' to handle arbitrary projector orientation, I'll post the source along with an updated example.