This course introduces students to the parallel architectures and the parallel programming models that are fueling a change in real-time rendering research and development that enables significantly increased image quality. There are strong indications that the future of interactive graphics programming is a more flexible model than today's OpenGL/Direct3D pipelines, and this course teaches students how to create interactive rendering algorithms and pipelines that extend, or are completely different than, the traditional Direct3D/OpenGL rendering pipeline. This is an advanced graphics course designed for graduate students interested in pursuing research in real-time rendering algorithms, graphics systems, or parallel programming systems.
The course begins with a review of the modern real-time rasterization rendering pipeline, and then introduces parallel graphics architectures, parallel programming models for graphics, and rendering algorithm examples of the concepts. Rendering topics include, but are not limited to, shadows, order-independent transparency, hair and foliage rendering, depth-of-field, examples from next-generation game engines, and future research directions in real-time rendering and programming systems.
Students will learn CPU and GPU parallel programming models including Cilk, OpenCL, and/or DirectCompute. All registered UW students will be assigned a new Intel 12-CPU-core desktop computer with an AMD 5870 GPU for use during the course. These machines were donated by Intel and AMD specifically for this course and belong to the UW CS department. The course is open to students who have at least an introductory background in computer graphics and computer systems and architecture. Evaluation will be based on two short projects and one large, team-based final project.
Aaron Lefohn + guest lecturers
Time and Location
Monday 3:30 - 4:50
Wednesday 3:30 - 4:50
Location: EEB 025
Regular hours TBA. Until regular hours are announced, please email Aaron (alefohn at cs.washington.edu) to make an appointment.
CSE 557 or equivalent introduction to computer graphics
CSE 471 or CSE 548 or equivalent introduction to computer architecture
CSE grads or by permission of instructor
If you are not a CSE student, please fill out this form and turn it into the CSE front desk in order to get a CSE account.
Please join the mailing list for important announcements.
Assignment 1: 15%
Assignment 2: 35%
Term project: 50%