The author uses models of visual perception to remove nonperceptible components of a 3 D computer graphics scene and optimize the system ’ s performance

generate far more detail than users can perceive. For example, the Digital Michelangelo project at Stanford University has produced a collection of 3D laser-scanned models of various Michelangelo works. The largest of these models, the David, consists of approximately 2 billion polygons and requires 32 Gbytes of storage. Rendering all these polygons at once would produce many imperceptible details. Perceptual models can therefore help improve our virtual simulations by letting us optimize the content we present to the user, removing imperceptible details and saving the computational resources that would have been otherwise wasted. For example, we can perceive less detail in the peripheral field of our vision. Therefore, a computer graphics system that expends resources to compute the exact shape and shading of detail we can’t see wastes time. This is an extremely important issue that, if ignored, can adversely affect the user. Various user studies have shown that lag or extreme variance in frame rate can reduce users’ ability to perform certain tasks and, in head-tracked systems, can cause nausea and motion sickness. Therefore, when rendering a computer image, what you can’t see can hurt you if precious CPU cycles are wasted on those imperceptible features. Of course, we’ve known this for some time. However, researchers have done little work to apply contemporary models of visual perception to this problem and provide principled criteria for modulating the level of detail (LOD) in a computer graphics scene. I address this concern here and provide implementation results that answer these questions: How much detail can we remove from the scene without the user noticing, and how much added benefit can these optimizations actually bring? (See the sidebar “Related Work” for other approaches.) Perceptual models The human eye is a wondrously adaptable organ that can resolve a candle flame more than half a mile away, adjust to light differences across ten orders of magnitude, and resolve a difference in relative depth between two adjacent objects of 1 mm at 1 m distance. However, with these capabilities come several limitations. First, there’s a compression of the signals the eye receives, with around 130 million photoreceptors per eye that filter their outputs into roughly 1 million retinal ganglion cells—the inputs to the brain that form the optic nerve. Second, these retinal cells aren’t in a regular grid pattern like a computer screen. Instead, there’s a concentration of cells tuned to high detail in the center of the retina, with fewer and more coarsely tuned cells toward the retina’s edges. Thus, to see an object in high detail, we rotate our eyes until light from that object falls directly on our most sensitive region of the retina, the fovea. In addition to this, our eyes are less sensitive to detail that moves rapidly across the retina, as well as a host of other factors including the level of background illumination, pupil size, exposure time, the viewer’s level of light adaptation, optical deficiencies such as myopia, and age. (The sidebar “What About The Blind Spot? ” describes and considers the effect of several other perceptual factors.) So how do we measure how much detail the eye can resolve? The vision sciences normally express this with respect to a measure of stimulus size called spatial frequency, defined in units of cycles per degree (c/deg). We then use the unitless measure contrast to assess the stimulus’ intensity relative to its surroundings. Since the early 1960s, researchers have performed psychophysical studies to discover which combinations of spatial frequency and contrast are detectible by the eye and which are imperceptible. They’ve done this by presenting a pattern of light and dark bars called a contrast grating, where the spatial frequency and contrast may vary. In this case, spatial frequency is a measure of the bars’ width (size), and contrast is a measure of how discernible the bars are (relative intensity). By graphing