“A shading language on graphics hardware: the pixelflow shading system” by Olano and Lastra

  • ©Marc Olano and Anselmo Lastra




    A shading language on graphics hardware: the pixelflow shading system



    Over the years, there have been two main branches of computer graphics image-synthesis research; one focused on interactivity, the other on image quality. Procedural shading is a powerful tool, commonly used for creating high-quality images and production animation. A key aspect of most procedural shading is the use of a shading language, which allows a high-level description of the color and shading of each surface. However, shading languages have been beyond the capabilities of the interactive graphics hardware community. We have created a parallel graphics multi-computer, PixelFlow, that can render images at 30 frames per second using a shading language. This is the first system to be able to support a shading language in real-time. In this paper, we describe some of the techniques that make this possible.


    1. Preston Briggs, Register Allocation via Graph Coloring, PhD Dissertation, Department of Computer Science, Rice University, Houston, Texas, 1992.
    2. Robert L. Cook, “Shade Trees”, Proceedings of SIGGRAPH 84 (Minneapolis, Minnesota, July 23-27, 1984). In Computer Graphics, v18n3. ACM SIGGRAPH, July 1984. pp. 223-231.
    3. Robert L. Cook, “The Reyes Image Rendering Architecture”, Proceedings of SIGGRAPH 87 (Anaheim, California, July 27-31, 1987). In Computer Graphics, v21n4. ACM SIGGRAPH, July 1987. pp. 95-102.
    4. Michael Deering, Stephanie Winner, Bic Schediwy, Chris Duffy and Neil Hunt, “The Triangle Processor and Normal Vector Shader: A VLSI System for High Performance Graphics”, Proceedings of SIG- GRAPH 88 (Atlanta, Georgia, August 1-5, 1988). In Computer Graphics, v22n4, ACM SIGGRAPH, August 1988. pp. 21-30.
    5. Henry G. Dietz, “Common Subexpression Induction”, Proceedings of the 1992 International Conference on Parallel Processing (Saint Charles, Illinois, August 1992). pp. 174-182.
    6. David Ellsworth, “Parallel Architectures and Algorithms for Real-time Synthesis of High-quality Images using Deferred Shading”. Workshop on Algorithms and Parallel VLSI Architectures (Pont-g- Mousson, France, June 12, 1990).
    7. John Eyles, Steven Molnar, John Poulton, Trey Greet, Anselmo Lastra, Nick England and Lee Westover, “PixelFlow: The Realization”, Proceedings of the 1997 SIGGRAPH/Eurographics Workshop on Graphics Hardware (Los Angeles, California, August 3-4, 1992). ACM SIGGRAPH, August 1997. pp. 57-68.
    8. Larry Gritz and James K. Hahn, “BMRT: A Global Illumination Implementation of the RenderMan Standard”, Journal of Graphics Tools, vln3, 1996. pp. 29-47.
    9. Brian Guenter, Todd B. Knoblock and Erik Ruf, “Specializing Shaders”, Proceedings of SIGGRAPH 95 (Los Angeles, California, August 6-11, 1995). In Computer Graphics Proceedings, Annual Conference Series, ACM SIGGRAPH, 1995. pp. 343-348.
    10. Pat Hanrahan and Jim Lawson, “A Language for Shading and Lighting Calculations”, Proceedings of SIGGRAPH 90 (Dallas, Texas, August 6-10, 1990). In Computer Graphics, v24n4. ACM SIG- GRAPH, August 1990. pp. 289-298.
    11. B. Hill, Th. Roger and F. W. Vorhagen, “Comparative Analysis of the Quantization of Color Spaces on the Basis of the CIELAB Color- Difference Formula”, ACM Transactions on Graphics, vl 6n2. ACM, April 1997. pp. 109-154.
    12. Anselmo Lastra, Steven Molnar, Marc Olano and Yulan Wang, “Real-time Programmable Shading”, Proceedings of the 1995 Symposium on Interactive 3D Graphics (Monterey, California, April 9-12, 1995). ACM SIGGRAPH, 1995. pp. 59-66.
    13. Jon Leech, “OpenGL Extensions and Restrictions for PixelFlow”, Technical Report TR98-019, Department of Computer Science, University of North Carolina at Chapel Hill.
    14. MasPar Computer Corporation, MasPar Parallel Application Language (MPL) User Guide, 1990.
    15. Nelson L. Max, “Vectorized Procedural Models for Natural Terrain: Waves and Islands in the Sunset”, Proceedings of SIGGRAPH 81 (Dallas, Texas, July 1981). In Computer Graphics, v15n3. ACM SIGGRAPH, August 1981. pp. 317-324.
    16. Steven Molnar, John Eyles and John Poulton, “PixelFlow: Highspeed Rendering Using Image Composition”, Proceedings of SIG- GRAPH 92 (Chicago, Illinois, July 26-31, 1992). In Computer Graphics, v26n2. ACM SIGGRAPH, July 1992. pp. 231-240.
    17. Steven Muchnick, Compiler Design and Implementation. Morgan Kaufmann, San Francisco, CA, 1997.
    18. Jackie Neider, Tom Davis and Mason Woo, OpenGL Programming Guide: the official guide to learning OpenGL release 1., Addison-Wesley, 1993.
    19. Marc Olano, A Programmable Pipeline for Graphics Hardware, PhD Dissertation, Department of Computer Science, University of North Carolina at Chapel Hill, 1998.
    20. Ken Perlin, “An Image Synthesizer”, Proceedings of SIGGRAPH 85 (San Francisco, California, July 22-26, 1985). In Computer Graphics, v19n3. ACM SIGGRAPH, July 1985. pp. 287-296.
    21. Pixar Animation Studios, PhotoRealistic RenderMan 3.7 Shading Language Extensions. Pixar animation studios, March 1997.
    22. John Rhoades, Greg Turk, Andrew Bell, Andrei State, Ulrich Neumann and Amitabh Varshney, “Real-time procedural textures”, Proceedings of the 1992 Symposium on Interactive 3D Graphics (Cambridge, Massachusetts, March 29-April 1, 1992). In Computer Graphics special issue. ACM SIGGRAPH, March 1992. pp. 95-100.
    23. Philipp Slusallek, Thomas Pflaum and Hans-Peter Seidel, “Implementing RenderMan-Practice, Problems and Enhancements”, Proceedings of Eurographics ’94. In Computer Graphics Forum, v13n3, 1994. pp. 443-454.
    24. Thinking Machines Corporation, Connection Machine Model CM-2 Technical Summary. Thinking Machines Corporation, Version 5.1, May 1989.
    25. Steve Upstill, The RenderMan Companion, Addison-Wesley, 1990.
    26. T. Whitted and D. M. Weimer, “A software test-bed for the development of 3-D raster graphics systems”, Proceedings of SIG- GRAPH 81 (Dallas, Texas, July 1981). In Computer Graphics, v15n3. ACM SIGGRAPH, August 1981. pp. 271-277.

ACM Digital Library Publication:

Overview Page: