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."
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.
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.