1. A computer-readable storage medium having stored thereon an image display program that is executed by a computer of an image display apparatus that takes an image of a virtual three-dimensional space in which a first object and a second object are present, by a virtual camera and renders the virtual three-dimensional space, the image display program causing the computer to operate as: silhouette image generation means for, when the first object overlaps at least a part of the second object present on a near side of the first object when seen from the virtual camera, generating a silhouette image for representing a silhouette of the first object, in which silhouette image, gradation information changes in accordance with a distance from the second object to each part of the first object; second object rendering means for generating an image of the second object that is seen from the virtual camera; and synthesis means for synthesizing the silhouette image on the image of the second object that is seen from the virtual camera, such that the silhouette image is darker at a portion thereof corresponding to a part of the first object closer to the second object.