Sticky projective textures

I’d like to project a texture onto a 3D scene. I’ve seen examples used with eg dynamic lightmaping. But how do I get the projection to ‘stick’ and not move if the scene moves?

I also want all the transformations to be done on the GPU (if supported) not on the CPU.