We present a new method for recovering the 3D shape of a featureless smooth surface from three or more calibrated images. The main contribution of this paper is the ability to handle general images which are taken from unconstrained viewpoints and unconstrained illumination directions. To the best of our knowledge, no other method is currently capable of handling such images, since correspondence between such images is hard to compute. Our method combines geometric and photometric information in order to recover a dense correspondence between the images and successfully computes an accurate 3D shape of the surface. The method is based on a single pass and local computation and does not make use of global optimization over the whole surface. While we assume a Lambertian reflectance function, our method can be easily modified to handle more general reflectance models as long as it is possible to recover local normals from photometric information. Experimental results are presented for simulated and real images.