Appel [3] and then Bouknight and Kelley [5] have demonstrated solutions to the shadow problem which are discussed in this paper in the context of a classification scheme for shadow algorithms. Three classes of solution are currently identifiable (there may be further undiscovered classes). Appel, Bouknight and Kelley have shown solutions of one class and algorithms suggesting the other two classes have been proposed but not yet implemented.The first class of algorithm, demonstrated by Appel, Bouknight and Kelley, detects shadow boundaries as the image is produced by a raster-scan. The edges of cast shadows are found by projecting potential shadowing polygon edges onto the surface being scanned. Shadow edges thus formed are then projected onto the image plane. Upon crossing a shadow edge, the color of a scan segment is changed appropriately.A second class of algorithm involves two passes through a hidden-surface algorithm, or perhaps a single pass through each of two differing algorithms. The first pass distinguishes shadowed and unshadowed surfaces and divides partially shadowed surfaces by determining hidden surfaces from a viewpoint coincident with the light source. The colors of shadowed surfaces are then modified and a second pass operates on the augmented data from the observer's viewpoint.The third class of shadow algorithm involves calculating the surface enclosing the volume of space swept out by the shadow of an object, its umbra. The umbra surface is then added to the data and treated as an invisible surface which, when pierced, causes a transition into or out of an object shadow.A more complete explanation of the three classes follows with suggested implementations in each class. These will be preceded by remarks on modeling of the light source and followed by an attempted comparison of the practical difficulties in implementing the three approaches.
MODELING THE LIGHT SOURCELight sources are generally modeled as either points or directions. However, an actual light ABSTRACT Shadows are advocated for improved comprehension and enhanced realism in computer-synthesized images. A classification of shadow algorithms delineates three approaches: shadow computation during scanout; division of object surfaces into shadowed and unshadowed areas prior to removal of hidden surfaces; and inclusion of shadow volumes in the object data. The classes are related to existing shadow algorithms and implementations within each class are sketched. A brief comparison of the three approaches suggests that the last approach has the most appealing characteristics.