| Assistant Professor Department of Computer Science and Electrical Engineering UMBC  | 
    
Kurt Akeley
| Graphics Architect NVIDIA Corp.  | 
    
John C. Hart
| Associate Professor  Department of Computer Science University of Illinois, Urbana-Champaign  | 
    
Wolfgang Heidrich
| Assistant Professor  Department of Computer Science The University of British Columbia  | 
    
Bill Mark
| Assistant Professor Department of Computer Sciences University of Texas at Austin  | 
    
Jason L. Mitchell
| Project Team Leader  3D Application Research Group ATI Research  | 
    
Randi Rost
| Senior Manager, Driver Development  3Dlabs, Inc.  | 
    
Real-time procedural shading was once seen as a distant dream. When the first version of this course was offered three short years ago, real-time shading was possible, but only by combining the effects of tens to hundreds of rendering passes. Today, almost every new computer comes with graphics hardware capable of interactively executing shading functions consisting of thousands or tens of thousands of instructions. This course has been redesigned to address today's real-time shading capabilities and to provide more practical information for practitioners. The course begins with a guide to understand the similarities and differences between real-time and non-real-time shading. It describes methods for accomplishing many common shading tasks in ways that work well on graphics hardware. We present the latest shading hardware developments from several leading hardware vendors. Finally, we provide a brief look under the hood to see what is necessary in hardware and software to make it all happen. The course concludes with a panel-style question and answer session, where participants can ask questions of any presenter or suggest topics of discussion.
| Models for Shading | |
|---|---|
| 8:30 | Introduction (Olano) | 
| 8:45 | Ignoring Hardware Differences (Olano) | 
| 9:20 | OpenGL Shading Language (Rost) | 
| 9:40 | Characterizing Hardware Differences (Hart) | 
| 10:15 | Break | 
| Techniques for Real-time Shading | |
| 10:30 | Hardware shading effects (Heidrich) | 
| 11:10 | Sampling procedural shaders (Heidrich) | 
| 11:40 | Procedural Solid Texturing (Hart) | 
| 12:15 | Lunch | 
| Shading Systems | |
| 1:45 | 3DLabs (Rost) | 
| 2:20 | ATI (Mitchell) | 
| 2:55 | NVIDIA (Akeley) | 
| 3:30 | Break | 
| Under the Hood | |
| 3:45 | 3D Graphics Hardware Architecture (Mark) | 
| 4:25 | Shading Compilers (Olano) | 
| Wrap-up | |
| 5:05 | Discussion and Q & A (All) | 
| Chapter 1: | Introduction | |||
| Marc Olano | 1 | - | 1 | |
| Chapter 2: | Ignoring Hardware Differences | |||
| Marc Olano | 2 | - | 1 | |
| Chapter 3: | OpenGL Shading Language | |||
| Randi Rost | 3 | - | 1 | |
| Chapter 4: | Characterizing Hardware Differences | |||
| John C. Hart and Peter K. Doenges, "A Framework for Analyzing Real-Time Advanced Shading Techniques" | 4 | 
      - | 1 | |
| Chapter 5: | Hardware Shading Effects | |||
| Wolfgang Heidrich | 5 | - | 1 | |
| Chapter 6: | Sampling Procedural Shaders | |||
| Wolfgang Heidrich | 6 | - | 1 | |
| Chapter 7: | Procedural Solid Texturing | |||
| Nathan A. Carr and John C. Hart, "Meshed Atlases for
      Real-Time Procedural Solid Texturing", ACM Transactions on
      Graphics, v21n2, April 2002. 
	 Reprinted with permission.  | 
      7 | - | 1 | |
| Chapter 8: | Shading at 3DLabs | |||
| Randi Rost | 8 | - | 1 | |
| Chapter 9: | Shading at ATI | |||
| Jason L. Mitchell, "Shading on the ATI R300 Family" | 
      9 | - | 1 | |
| Chapter 10: | Shading at NVIDIA | |||
| Kurt Akeley | 10 | - | 1 | |
| Chapter 11: | 3D Graphics Hardware Architecture | |||
| Bill Mark, "Real-Time Programmable Shading", Excerpt from
      Chapter 3 of Texturing and Modeling: A Procedural
      Approach, 3rd Edition, by David S. Ebert, F. Kenton
      Musgrave, Darwyn Peachey, Ken Perlin and Steven Worley,
      published by Morgan Kaufmann, Copyright ©2003 by Elsevier
      Science (USA)
	 Reprinted with permission.  | 
      11 | - | 1 | |
| Chapter 12: | Shading Compilers | |||
| Marc Olano and Anselmo Lastra, "A
      Shading Language on Graphics Hardware: The PixelFlow Shading
      System", Proceedings of SIGGRAPH 98 (Orlando, Florida, July
      19-24, 1998). In Computer Graphics, Annual Conference Series,
      ACM SIGGRAPH, 1998.
	 Reprinted with permission.  | 
      12 | - | 1 | |
|  Peercy, Mark S., Marc Olano, John Airey , and 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.
	 Reprinted with permission.  | 
      12 | - | 11 | |
| Eric Chan, Ren Ng, Pradeep Sen, Kekoa Proudfoot, Pat
      Hanrahan "Efficient Partitioning of Fragment
      Shaders for Multipass Rendering on Programmable Graphics
      Hardware" In Proceedings of SIGGRAPH/Eurographics Workshop
      on Graphics Hardware.
	 Reprinted with permission.  | 
      12 | - | 19 | |
| Marc Olano and Bob Kuehne "Level-of-Detail Shaders", SGI | 12 | - | 30 | |
| Avi Bleiweiss and Arcot Preetham, "ASHLI - Advanced Shading Language Interface", ATI Research, Inc. | 12 | - | 38 | |
| Chapter 13: | Bibliography | |||
| A Collection of Useful References | 13 | - | 1 |