A method of virtually trying on eyeglasses includes capturing a plurality of images of a users face, obtaining locations of a plurality of feature points on the users face in the plurality of images, and using the locations of the plurality of feature points in the plurality of images to create a standard three-dimensional model of the user. Next, a selection is received from the user of a pair of virtual eyeglasses, the selected pair of virtual eyeglasses having a corresponding three-dimensional model depicting the size and shape of the selected pair of virtual eyeglasses. After this, a modified three-dimensional model of the user having the selected pair of virtual eyeglasses superimposed on the users face is created according to the standard three-dimensional model of the user and the corresponding three-dimensional model of the selected pair of virtual eyeglasses. The result is then displayed for the user to see.