Lighting and Shading Techniques for Interactive Applications


This advanced course demonstrates sophisticated and novel techniques for lighting and shading scenes in interactice applications using the widely available OpenGL graphics library.

The course focuses on traditional lighting and shading techniques and discusses how they are implemented on current graphics hardware. The course then explores how these techniques can be effectively extended to increase realism while maintaining interactive performance. The application areas include, entertainment and visual simulation, CAD, and scientific visualization.

We use OpenGL as our rendering platform, but the theory and algorithms described in the course can be applied to other rendering architectures and APIs.


This course describes theory and algorithms that can be used as building blocks in more sophisticated applications. The material in this course serves as a foundation for the course "Advanced Graphics Programming Techniques Using OpenGL."

Attendees will:


Full day (6.5 hour) format.

1:30 A.   Introduction                 (Blythe)
1:35 B.   Lighting Model Basics        (Blythe)       (35 minutes)
	      1. Diffuse Shading
	      2. Specular Highlights
	      3. Ambient & Emissive Lighting
	      4. Material Properties
	      5. Multi-pass Lighting
	      6. Directional & Positional Lights
	      7. Spot Lights
	      8. Other BRDFs
	      9. Global Illumination
2:10 C.   Shading Computations         (Kilgard)      (50 minutes)
	      1. Per-vertex & Per-pixel Shading
	      2. Viewer Position & Lighting
	      3. Lighting with Texture Maps
	      4. Light Maps
		    Spot Lights
	      5. Environment Maps
	      6. Fresnel Effects
3:00 Break
3:15 D.  Advanced Shading I          (Grantham)   (45 minutes)
	      1. Bump Mapping
		    Direct computation
		    Other Methods
              2. Anisotropic Reflection
	      1. Reflection & Refraction
	            Planar Surfaces
                    Curved Surfaces
	            Environment Maps
4:00 E.  Advanced Shading II         (Kilgard)    (45 minutes)
              3. Shadows
		    Shadow Volumes
		    Shadow Textures
		    Shadow Maps
		    Soft Shadows using Convolution
	      2. Transparency
	      3. Atmospheric Effects
		    Non-homogeneous effects
4:45 Programmable Shading Futures    (Blythe)       (10 minutes)
4:55 Summary, Questions & Answers  (All)
Course Prerequisites

Strong programming knowledge (especially C), a good grasp of computer graphics concepts, especially texture mapping, and strong familiarity with the OpenGL or Direct3D library. Experience using advanced rendering techniques using either software renderers or hardware acceleration is especially helpful.

Intended Audience

Developers who need to generate more challenging or realistic images using current graphics accelerator technology. Anyone interested in the practical application of advanced rendering techniques. Application developers who desire to use low level graphics APIs with increased understanding and competence. Anyone interested in deeping their knowledge of computer graphics through the use of practical examples.