SIGGRAPH 2001 Course 24 Notes

Real-Time Shading

September 11, 2001: update to chapter 13

Course Abstract:

Procedural shading, long valued for off-line rendering and production animation, is just becoming possible on interactive graphics hardware. A wide spectrum of interactive applications are poised to use it -- scientific visualization, product design, game development, and more. This course (formerly titled "Approaches for Procedural Shading on Graphics Hardware") explains the variety of techniques behind shading on current and future graphics hardware. These range from full procedural shading on advanced specialized hardware to limited, yet still surprisingly flexible, shading on unextended OpenGL, to the latest in PC graphics accelerators. Participants will see several of the systems in action and will learn the basic techniques in a series of technology overviews. The course will conclude with a panel session allowing the speakers and audience to discuss the relative merits and pitfalls of the different methods.

Speaker Biographies

Marc Olano
Member of Technical Staff

Marc Olano is the technical lead and compiler architect for the OpenGL Shader project at SGI. Olano received his Ph.D. in computer science from the University of North Carolina in Chapel Hill under Anselmo Lastra. His dissertation was on a shading language for the PixelFlow graphics system, the first full procedural shading language to run on graphics hardware. In addition to his work on shading algorithms for current and future graphics hardware, he has also done research on shading models, rendering algorithms, model simplification and scientific visualization.

John C. Hart
Associate Professor
Department of Computer Science
University of Illinois, Urbana-Champaign

John C. Hart has worked with Evans & Sutherland on advanced shading techniques for consumer graphics cards, focusing on real-time procedural solid texturing. He received his MS (1989) and Ph.D. (1991) from the EVL at UIC, where he worked on rendering procedurally-generated fractal models on the AT&T Pixel Machine. He currently serves on the SIGGRAPH 2001 Papers Committee and on the editorial board of ACM Transactions on Graphics. Hart served five years on the SIGGRAPH Executive Committee, and as an Executive Producer for the documentary "The Story of Computer Graphics."

Wolfgang Heidrich
Assistant Professor
Department of Computer Science
The University of British Columbia

Wolfgang Heidrich is an Assistant Professor at the University of British Columbia. Before then he was a Research Associate at the Graphics Group of the Max-Planck-Institute for Computer Science in Saarbrucken, Germany, where he chaired the activities on image-based and hardware-accelerated rendering. He received a PhD in Computer Science from the University of Erlangen this April, a Master of Mathematics from the University of Waterloo in 1996, and a Diploma in Computer Science from the University of Erlangen in 1995. His research interests include hardware-accelerated and image-based rendering, global illumination, and interactive computer graphics.

Erik Lindholm
3D Architect

Erik Lindholm is a member of the architecture group at NVIDIA, specializing in vertex/geometry processing. Prior to this he worked on high end graphics system development at SGI. He received his M.A.Sc. degree in Electrical Engineering from the University of British Columbia, Canada.

Bill Mark
Research Associate
Computer Graphics Laboratory
Stanford University

Bill Mark is a research associate in the computer graphics laboratory at Stanford University. He is co-developing a system for real-time programmable shading, and is the project manager for the Stanford Immersive Television project. He received his Ph.D. from the University of North Carolina in May 1999. At UNC he explored the use of image-based rendering techniques to accelerate conventional rendering ("post-rendering warping"). He has also co-developed a software library for force-feedback devices, and taught a one-semester undergraduate course in computer architecture and implementation.

Michael McCool
Associate Professor University of Waterloo

Michael McCool is currently an Associate Professor at the Computer Graphics Lab within the Department of Computer Science at the University of Waterloo. Current research interests include high-quality real-time rendering, global and local illumination, hardware shaders and other hardware algorithms, reconfigurable computing, interval and Monte Carlo methods and applications, end-user programming and metaprogramming, and image and signal processing.

Ken Perlin
Associate Professor
Department of Computer Science

Ken Perlin is an Associate Professor in the Department of Computer Science and the director of the Media Research Laboratory at the Courant Institute of Mathematical Sciences of New York University. He is also the director of the NYU Center of Advanced Technology, sponsored by the New York State Science and Technology Foundation. He received his Ph.D. in Computer Science at the Courant Institute and his B.A. in Theoretical Mathematics at Harvard University. In 1991 he was a recipient of a Presidential Young Investigator Award. In 1997 he received a Technical Achievement Award from the Academy of Motion Picture Arts and Sciences for his noise and turbulence procedural texturing techniques, which are widely used in feature films and television.

Dr. Perlin was Head of Software Development at R/GREENBERG Associates in New York, NY from 1984 through 1987. Prior to that, from 1979 to 1984, he was the System Architect for computer generated animation at Mathematical Applications Group, Inc., Elmsford, NY. He has served on the Board of Directors of the New York chapter of ACM/SIGGRAPH.


Chapter 1:Introduction
Marc Olano pdf html
Chapter 2:In the beginning: The Pixel Stream Editor
Ken Perlin pdf html
Chapter 3:PixelFlow Shading
Jon Leech, "OpenGL Extensions and Restrictions for PixelFlow", Technical Report TR98-019, Department of Computer Science, University of North Carolina at Chapel Hill, 1997.
©1997 UNC, Chapel Hill. Included here by permission.
Marc Olano, "PixelFlow Shading Language" pdf
Marc Olano, "Implementing PixelFlow Shading" pdf html
Chapter 4:Sampling Procedural Shaders
Wolfgang Heidrich pdf
Chapter 5:Hardware Shading Effects
Wolfgang Heidrich pdf
Chapter 6:Shading Through Multi-Pass Rendering
Mark S. Peercy, Marc Olano, John Airey, P. Jeffery Ungar, "Interactive Multi-Pass Programmable Shading", Proceedings of SIGGRAPH 2000 (New Orleans, Louisiana, July 23-28, 2000). In Computer Graphics, Annual Conference Series, ACM SIGGRAPH, 2000.
©1999 ACM, included here by permission.
Marc Olano, "Interactive Shading Language (ISL) Language Description", In OpenGL Shader 2.2 distribution, SGI, 2001.
©2000 SGI, included here by permission.
pdf html
Chapter 7:Vertex Programs and Texture Shaders
Erik Lindholm pdf
Chapter 8:Stanford Real-Time Programmable Shading System
Bill Mark, "Stanford Real-time Procedural Shading System" pdf
Bill Mark, "Shading System Immediate-Mode API v2.1"
Kekoa Proudfoot, "Stanford Real-Time Shading Language"
Chapter 9:Noise Hardware
Ken Perlin pdf html
Chapter 10:Procedural Solid Texturing
John C. Hart, Nate Carr, Masaki Kameya, Stephen A. Tibbitts, Terrance J. Coleman, "Antialiased Parameterized Solid Texturing Simplified for Consumer-Level Hardware Implementation", Proceedings of the 1999 Eurographics/SIGGRAPH Workshop on Graphics Hardware.
©1999 ACM, included here by permission.
Nathan A. Carr and John C. Hart, "Real-Time Procedural Solid Texturing" pdf
John C. Hart, "Perlin Noise Pixel Shaders" pdf
Chapter 11:Multi-Pass RenderMan
Marc Olano pdf html
Chapter 12:SMASH
Michael McCool, "SMASH: A Next-Generation API for Programmable Graphics Accelerators", Technical Report CS-2000-14, Department of Computer Science, University of Waterloo, April, 2001 pdf
Chapter 13:ATI shading extensions
Evan Hart and Jason L. Mitchell, "Hardware Shading with EXT_vertex_shader and EXT_fragment_shader" pdf
Chapter 14:Analysis of Shading Pipelines
John C. Hart and Peter K. Doenges, "A Framework for Analyzing Real-Time Advanced Shading Techniques" pdf
Chapter 15:Bibliography
A Collection of Useful References pdf