SIGGRAPH 99:
Lighting and Shading Techniques for Interactive Applications

Summary

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.

Objectives

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:

Outline

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
		    Multi-texture
	      4. Light Maps
		    Diffuse
		    Specular
		    Spot Lights
	      5. Environment Maps
		    Sphere
		    Cube
		    Parabolic
	      6. Fresnel Effects
3:00 Break
3:15 D.  Advanced Shading I          (Grantham)   (45 minutes)
	      1. Bump Mapping
		    Direct computation
		    Tangent-space
		    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
		    Projection
		    Shadow Volumes
		    Shadow Textures
		    Shadow Maps
		    Soft Shadows using Convolution
	      2. Transparency
	            Stippling
	            Blending
	      3. Atmospheric Effects
	            Fog
		    Depth-cuing
	            Haze
		    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.