“A language for shading and lighting calculations” by Hanrahan and Lawson

  • ©Patrick (Pat) Hanrahan and Jim Lawson




    A language for shading and lighting calculations

Session/Category Title: Lighting and Shading




    A shading language provides a means to extend the shading and lighting formulae used by a rendering system. This paper discusses the design of a new shading language based on previous work of Cook and Perlin. This language has various types of shaders for light sources and surface reflectances, point and color data types, control flow constructs that support the casting of outgoing and the integration of incident light, a clearly specified interface to the rendering system using global state variables, and a host of useful built-in functions. The design issues and their impact on the implementation are also discussed.


    1. The RenderMan Interface, PIXAR (December 1989).
    2. B ARR, ALAN H., “Decal Projections,” A CM SIGGRAPH “84 Course Notes 15: Mathematics of Computer Graphics, (1984).
    3. BENTLEY, JON, “Little Languages,” pp. 83-100 in More Programming Pearls, Addison-Wesley, Reading, Massachusetts (1988).
    4. BIER, ERIC A. AND KENNETH R. SLOAN JR., “Two-Part Texture Mapping,” 1EEL Computer Graphics and Applications 6(9) pp. 40-53 (September 1986).
    5. BLINN, JAMES F., “Simulation of Wrinkled Surfaces,” Computer Graphics 12(3) pp. 286-292 (August 1978).
    6. COOK, ROBERT L., “Shade Trees,” Computer Graphics 18(3) pp. 223-231 (July 1984).
    7. COOK, ROBERT L., “Stochastic Sampling in Computer Graphics,” ACM Transactions on Graphics 5(1)pp. 51-72 (January 1986).
    8. COOK, ROBERT L., LOREN CARPENTER, AND EDWIN CAT- MULL, “The Reyes Image Rendering Architecture,” Computer Graphics 21(4) pp. 95-102 (July 1987).
    9. DILL, JOHN C., “An Application of Color Graphics to the Display of Surface Curvature,” Computer Graphics 15(3) pp. 153-161 (August 1981).
    10. FLEISCHER, KURT AND ANDREW WITKIN, “A Modeling Testbed,” Graphics Interface “88, pp. 127-137 (June 1988).
    11. GREENE, NED, “Environment Mapping and Other Applications of World Projections,” IEEE Computer Graphics and Applications 6(11) pp. 108-114 (November 1986).
    12. HALL, ROY A., “Color Reproduction and Illumination Models,” pp. 194-238 in Techniques for Computer Graphics, ed. R. A. Earnshaw,Springer-Verlag (1987).
    13. HALL, RoY A., Illumination and Color in Computer Generated Imagery, Springer-Verlag, New York (1989).
    14. KAJIYA, JAMES T., “Anisotropic Reflection Models,” Computer Graphics 19(3) pp. 15-22 (July 1985).
    15. KAJIYA, JAMES T., “The Rendering Equation,” Computer Graphics 20(4) pp. 143-149 (August 1986).
    16. KAJIYA, JAMES T. AND TIMOTHY L. KAY, “Rendering Fur with Three Dimensional Textures,” Computer Graphics 23(3) pp. 271-280 (July 1989).
    17. KERNIGHAN, BRIAN W. AND DENNIS M. RrrCHIE, The C Programming Language, Prentice-Hall (1978).
    18. LEWIS, JOHN P., “Algorithms for Solid Noise Synthesis,” Computer Graphics 23(3) pp. 263-270 (July 1989).
    19. MASSALIN, HENRY, “Superoptimizer: A Look at the Smallest Program,” Proceedings of ASPLOS (Architectural Support for Programming Languages and Operating Systems), pp. 122-127 (October 1987).
    20. MILLER, (3ENE S. AND C. ROBERT HOFFMAN, “Illumination and Reflection Maps: Simulated Objects in Simulated and Real Environments,” in Siggraph “84 Course Notes: Advanced Computer Graphics Animation, (July 1984).
    21. MILLER, GAVIN S. P., “From Wire-Frames to Furry Animals,” Graphics Interface ’88, pp. 138-145 (1988).
    22. NORTON, ALAN, ALYN P. ROCKWOOD, AND PHILIP T. SKOL- MOSKI, “Clamping: A Method of Antialiasing Textured Surfaces by Bandwidth Limiting in Object Space,” Computer Graphics 16(3)pp. 1-8 (August 1982).
    23. PEACHEY, DARWYN, “Texture On Demand,” (submitted for publication), (1990).
    24. PERLIN, KEN, “An Image Synthesizer,” Computer Graphics 19(3) pp. 287-296 (July 1985).
    25. PERLIN, KEN AND ERIC M. HOFFERT, “Hypertexture,” Computer Graphics 23(3) pp. 253-262 (July 1989).
    26. PORTER, THOMAS AND TOM DUFF, “Compositing Digital Images,” Computer Graphics 18(3)pp. 253-260 (July 1984).
    27. STEELE, GUY L., Common Lisp, Digital Press, Burlington, MA (1984).
    28. UPSTILL, STEVE, The RenderMan Companion, Addison- Wesley (1989).
    29. VERBECK, CHANNING P. AND DONALD e. GREENBERG, “A Comprehensive Light-Source Description for Computer Graphics,” IEEE Transactions on Computer Graphics and Applications 4(7) pp. 66-75 (July 1984).
    30. WHITYED, TURNER, “All Improved Illumination Model for Shaded Display,” Communications of the ACM 23 pp. 343-349 (1980).
    31. WHITIXD, ~R ArID DAVID M. WEIMER, “A Software Testbed for the Development of 3D Raster Graphics Systems,” ACM Transactions on Graphics 1(1)pp. 44-58 (January 1982).

ACM Digital Library Publication:

Overview Page: