1. A method for rendering a surface, comprising: (a) computing a region on the surface defined by a first transformation from a viewport to the surface; and (b) computing a second transformation that maps from the region to the viewport; (c) determining a portion of an image which intersects with the region; (d) applying the second transformation to the portion of the image which intersects with the region, to obtain a transformed image; and (e) rendering the transformed image in the viewport for display.