CMSC 491G/691G: Real-time Shading

Spring 2005 / Tu Th 1:00-2:15 / ITE 237 / 3 credits

Last update:
Tue May 3 09:33:18 EDT 2005
Mon Mar 7 18:12:06 EST 2005
Thu Mar 3 18:50:39 EST 2005
Wed Mar 2 18:53:07 EST 2005

Instructor: Dr. Marc Olano (olano
Office hours: Tu Th 2:15-3:30, ITE 354

Prerequisite: CMSC 435/634 or consent of instructor

Text: Real-Time Shading, Olano, Hart, Heidrich and McCool, AK Peters 2002. Required.
Additional papers will be handed out throughout the semester.


Procedural shading is a computer graphics technique in which short procedures are written to describe the appearance of rendered objects. Recent advances in graphics hardware have enabled procedural shading for interactive graphics, where all shading computations must be completed within the rendering time for one frame, typically 1/30 sec. or less. This course covers graphics hardware architecture changes and software techniques that have made real-time shading possible, as well as shading algorithms and design strategies that make the real-time goal possible. In the process, students will learn the basics of graphics architecture, shading compiler design, and advanced reflectance models. Readings will come from the text, and a number of recent papers.

Academic Honesty

By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community in which everyone's academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong. Academic misconduct could result in disciplinary action that may include, but is not limited to, suspension or dismissal. To read the full Student Academic Conduct Policy, consult the UMBC Student Handbook, the Faculty Handbook, or the UMBC Policies section of the UMBC Directory [or for graduate courses, the Graduate School web site].


Grades will be based on class participation (10%), programming assignments (30%), and a final project (60%).


Due Date Assignment Weight Description
Feb 17 Assn 1 (691 only) 10% RenderMan
491: Mar 10/691: Mar 3 Assn 2 10% Simple Real-Time Shader
491: Mar 31/691: Mar 17 Assn 3 10% Advanced illumination


Each student will complete a significant project, with programming, writing and presentation components. CMSC 491 students are expected to implement a technique from a paper in the area. CMSC 691 students are expected to develop a new technique and document it in a short SIGGRAPH style paper. The project will have the following intermediate milestones:

Date Phase Comments
Feb 10 Area Proposal Identify area for final project
491: Apr 12/691: Mar 10 Literature Survey In style of "prior work" section of a technical paper
491: Apr 12/691: Mar 31 Proposal Propose specific project, plan and time line
Apr 13 Status Report Report on results mid-way through project
May 2 Release Completed project
May 3 Paper (691 only) SIGGRAPH-style paper documenting project
May 12 Review (691 only) peer review of papers
May 3-17 Presentation In-class presentation of results

Tentative Schedule

Week Due Topic
Feb 1/3 Shading history/types of software shaders;
Shading-specific languages
Feb 8/10 Area Proposal Software shading design strategies; Noise and related functions
Feb 15/17 Assn 1 Real-time
Hardware shading languages: Cg, HLSL, GLslang
Feb 22/24 Hardware shading design strategies; Textures, multi-pass shading
Mar 1/3 Assn 2 Illumination: BRDF, BTDF
Mar 8/10 691: Lit Survey Point-light illumination: factorization
Distant environment illumination: Fresnel, RSIBR, Spherical Harmonics
Mar 15/17 Assn 3 Local environmental effects: Precomputed Radiance Transfer, Parameterized environment maps
Mar 22/24 Spring Break
Mar 29/31 691: Proposal Animated shaders
Apr 5/7 Graphics Hardware; Shading compilers
Apr 12/14 491: Lit Survey, Proposal/All: Status SIMD shading: pfman
Apr 19/21 Multi-pass shading on non-shading hardware: ISL, RTSL
Low-level hardware shading
Apr 26/28 Shader level of detail
May 3/5 Release/691: Paper Project Presentations (Mandatory attendance)
May 10/12 691: Reviews Project Presentations (Mandatory attendance)
May 17 Project Presentations (Mandatory attendance)