Multi-view Inverse Rendering: Reconstructing 3D Shape and Reflectance with a Camera and Light Source