Instructor: Dr. Marc Olano (olano umbc.edu)
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.
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%).
|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:
|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|
|Feb 1/3||Shading history/types of software shaders;
|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)|