Frustrum Projection

I have a small dynamic component that allows me to simulate a projector. I think there should be an easier way of projecting the resulting grid onto a surface that doesn’t involve intersecting the model, creating another surface, adding a texture, then applying that texture. Any ideas? Is this where I have to delve into the world of Ruby? The afore mentioned process is not very “real-time”!