1. A method of generating images of an environment comprising: stitching together image data obtained at multiple points along boundaries of an image loop to generate an image for a viewpoint within the boundaries of the image loop, the boundaries of the image loop formed by intersecting image paths within the environment, the viewpoint and the image loop being on an observer plane.