Marc Olano | |
Assistant Professor Department of Computer Science and Electrical Engineering UMBC |
Avi Bleiweiss | |
Software Architect ATI Research |
Larry Gritz | |
Senior Software Architect NVIDIA Corp. |
John C. Hart | |
Associate Professor Department of Computer Science University of Illinois, Urbana-Champaign |
Mark Kilgard | |
Graphics Software Engineer NVIDIA Corp. |
Michael McCool | |
Associate Professor University of Waterloo |
Pedro Sander | |
Senior Software Engineer ATI Research |
Real-time programmable shading was once seen as a distant dream. When the first version of this course was offered five years ago, real-time shading was possible, but only with one-of-a-kind hardware or by combining the effects of tens to hundreds of rendering passes. Today, almost every new computer comes with graphics hardware capable of interactively executing shaders of scores to hundreds of instructions. This course provides an overview of everything you need to know to be an expert in hardware shading: the basics of graphics hardware and software; commercial, standard and open-source shading languages; new developments using GPUs to accelerate high-quality rendering; and the latest shading hardware capabilities as presented by the vendors themselves. The course concludes with the popular 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 such as OpenGL or Direct3D. The participants are also assumed to be familiar with the concepts of programmable shading and shading languages.
Shading Technology | |
---|---|
8:30 | Introduction (Olano) |
8:40 | 3D Graphics Hardware Architectures (Olano) |
9:25 | Shading Compilers (Bleiweiss) |
10:15 | Break |
Shading Languages | |
10:30 | OpenGL Shading Language (Olano) |
10:55 | Cg (Kilgard) |
11:20 | HLSL (Sander) |
11:45 | Shader Metaprogramming with Sh (McCool) |
12:15 | Lunch |
GPU Rendering | |
1:45 | Rendering Algorithms (Hart) |
2:35 | GPU Production Rendering (Gritz) |
3:30 | Break |
Hardware Systems | |
3:45 | ATI (Sander) |
4:25 | NVIDIA (Kilgard) |
Wrap-up | |
5:05 | Discussion and Q & A (All) |
Chapter 1: | Introduction (Marc Olano) | 1 - | 1 |
Slides | |||
Chapter 2: | 3D Graphics Hardware Architecture (Marc Olano) | ||
Marc Olano, "Ignoring Hardware Differences" | 2 - | 1 | |
Yi Wang, Marc Olano, Uzi Vishkin and Ronny Kupershtok, "XMT: A PRAM Architecture for Graphics Hardware" | 2 - | 7 | |
Chapter 3: | Shading Compilers (Avi Bleiweiss) | 3 - | 1 |
Chapter 4: | OpenGL Shading Language (Marc Olano) | 4 - | 1 |
Slides | |||
Chapter 5: | Cg (Mark Kilgard) | ||
Mark J. Kilgard, "Cg in Two Pages" | 5 - | 2 | |
William R. Mark, R. Steven Glanville, Kurt Akeley and Mark J. Kilgard, "Cg: A System for Graphics Hardware in a C-like Language", ACM Transactions on Graphics, v22n3 (Proceedings of SIGGRAPH 2003), July 2003 Copyright ©2003 ACM Reprinted with permission |
5 - | 4 | |
Mark J. Kilgard, "A Follow-up Cg Runtime Tutorial for Readers of The Cg Tutorial" | 5 - | 16 | |
Mark J. Kilgard, "Comparison Tables for HLSL, OpenGL Shading Language, and Cg" | 5 - | 42 | |
Mark J. Kilgard, Cg Bump Demo | |||
Chapter 6: | DirectX/HLSL (Pedro Sander) | ||
Jason Mitchell, "DirectX® 9 High Level Shading Language", excerpted from ShaderX2 Introduction and Tutorials with DirectX 9.0 | 6 - | 1 | |
Chapter 7: | Shader Metaprogramming with Sh (Michael McCool) | ||
Michael McCool, "A Short Introduction to Sh" | 7 - | 1 | |
Chapter 8: | Rendering Algorithms (John Hart) | ||
Nathan A. Carr, Jessie D. Hall and John C. Hart, "The Ray Engine", Proceedings of Graphics Hardware 2002 Copyright ©2002 The Eurographics Association Reprinted with permission |
8 - | 1 | |
Nathan A. Carr, Jessie D. Hall and John C. Hart, "GPU Algorithms for Radiosity and Subsurface Scattering", Proceedings of Graphics Hardware 2003 Copyright ©2003 The Eurographics Association Reprinted with permission |
8 - | 11 | |
Peter-Pike Sloan, Jesse Hall, John Hart and John Snyder, "Clustered Principal Components for Precomputed Radiance Transfer", ACM Transactions on Graphics, v22n3 (Proceedings of SIGGRAPH 2003), July 2003 Copyright ©2003 ACM Reprinted with permission |
8 - | 20 | |
Chapter 9: | GPU Production Animation (Larry Gritz) | 9 - | 1 |
Chapter 10: | ATI Shading (Pedro Sander) | ||
Pedro V. Sander, John R. Isidoro and Jason L. Mitchell, "Computation Culling with Explicit Early-Z and Dynamic Flow Control" | 10 - | 1 | |
Chapter 11: | NVIDIA Shading (Mark Kilgard) | ||
"The GeForce 6 Series GPU Architecture", excerpted from GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation Reprinted with Permission |
11 - | 1 | |
NVIDIA Corporation, "NVIDIA GPU Historical Data" | 11 - | 19 | |
Mark J. Kilgard, "NVIDIA OpenGL 2.0 Support" | 11 - | 21 |