SIGGRAPH 2003 Course 7 Notes

Real-Time Shading

(Jump to table of contents)
(See the original proposal for this course)


Marc Olano

Assistant Professor
Department of Computer Science and Electrical Engineering

Kurt Akeley

Graphics Architect

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.

Course Description:

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.


This course assumes working knowledge of a modern real-time graphics API like OpenGL or Direct3D. The participants are also assumed to be familiar with the concepts of procedural shading and shading languages.


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)
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