How to warp the output for curved screen projection?

I would like to use one or more projectors to project onto a curved screen (maybe even a dome).
For this I need to warp the output for each projector. Maybe I have to combine the output of several camera to create a fisheye like output.
How can this be done?