1. A method, performed by one or more computing devices, for dynamically subdividing a three-dimensional (3D) mesh, comprising: receiving a high-resolution image of an object, the high-resolution image being mapped to a 3D mesh of the object; detecting degrees of color variation in the high-resolution image; at a processor of the one or more computing devices, calculating weights for areas of the 3D mesh based on the degrees of color variation in the high-resolution image; subdividing one or more of the areas of the 3D mesh based on the calculated weights; and assigning color values from the high-resolution image to the 3D mesh.