1. A non-transitory computer-readable storage medium comprising an image display program that is executed by a computer of an image display apparatus that is configured to take an image of a virtual three-dimensional space in which a first object and a second object are present, by a virtual camera and render the virtual three-dimensional space, the image display program causing the computer to: generate a silhouette image for representing a silhouette of the first object when the first object overlaps at least a part of the second object and the overlapping portion of the first object is hidden by the second object when seen from the virtual camera, in which in the silhouette image, gradation information changes in accordance with a distance from the second object to each part of the first object, the silhouette image is textured independent of light from a light source in the virtual three-dimensional space; generate an image of the second object that is seen from the virtual camera; and synthesize the silhouette image on the image of the second object that is seen from the virtual camera by using the gradation information to shade the silhouette image darker at a portion thereof corresponding to a part of the first object closer to the second object, and lighter at a portion thereof corresponding to a part of the first object farther from the second object.