CIS 800 (Special Topics, Spring 2013) "Advanced Rendering"
Norm Badler
Credit: 1, seminar course
Course Motivation
Global illumination (GI) algorithms in computer graphics have existed for decades, but only recently are techniques which capture direct and indirect illumination becoming computationally tractable in modern graphics. There is currently no course at the University of Pennsylvania which examines this subject deeply, in spite of its growing prominence in the industry and research fields of computer graphics.
From Summer 2010 through Spring 2012, an average of 4 students a year have pursued GI through the topics of advanced ray tracing or path tracing as independent study projects. Advised by Joe Kider, they have been very successful, and their projects have been instrumental towards getting positions at top tier companies in the computer graphics industry such as Pixar and Lucasarts. As a course offering for terminal masters degree students in the Computer Graphics and Game Technology program or advanced undergraduates in the Digital Media Design program, this seminar would be of significant academic and professional value.
Most recently, some undergraduates have independently implemented physically-based renderers based on the path tracing technique, and have considerable expertise on a variety of topics associated with the engineering of this technique. Currently, the topic of GI will be touched on in the course CIS 565 in the Fall 2012 term, but it will not be explored to the same level of depth that this course will. Ultimately, the Spring 2013 term of this course aims to leverage the knowledge of recent successes in this study to other students and establish a knowledge foundation for similar courses in state-of-the-art computer graphics rendering.
Course Description
The course is designed to give students in-depth knowledge on high-quality rendering techniques such as unbiased path tracing, bidirectional subsurface reflectance distributions, and high dynamic range tone mapping. Students will implement their own path tracing renderer from the ground up, and will learn
the theory and engineering of the current state of the art in physically accurate rendering. A functional renderer will be completed by the students in the first half of the term, which they will continue to refine and add features, of their selection, to over the course of the term.
Course Objectives:
Upon completion of this course students will be able to:
- implement a physically-based renderer
- understand and make use of mathematical and computational models of light and materials
- critically evaluate and discuss historical and current topics in photorealistic rendering
Course Format
The class will meet twice a week for 1.5 hours each. The course will be seminar-style, additionally including weekly prescribed programming assignments that are later replaced with weekly progress reports. During these progress reports, students are expected to present the state of their renderer and
the features they are currently working on to the rest of the class. Grading will be based on seminar presentations/participation, correct implementation of the prescribed assignments, and completion of individually selected features.
Prerequisites
Students are expected to have completed CIS 460/560, or an equivalent, and a solid foundation in C++ programming.
Required Reading: The class readings are selected from historical papers on rendering and current publications in the field. Most of the papers are freely available online, and students will be encouraged to explore the literature as they identify particular features to implement in their renderer.
Recommended Texts
Pharr, Matt, and Greg Humphreys.Physically based rendering: From theory to implementation 2nd
edition. Morgan Kaufmann, 2010.
Course Topics
Introduction to Rendering
Ray Tracing Review
- the camera in 3D space
- ray casting
- ray tracing algorithm
Light and Lighting
- behaviour and characteristics of visible light
- perception of light and its interactions with objects
Path Tracing Algorithm
- illuminance and the rendering equation
- russian roulette and monte carlo methods
- forward tracing and backwards tracing
- metropolis light transport
Acceleration Structures
- bounding volume hierarchies
- k-d trees
Material Properties
- BRDFs
- BTDFs
Signal Sampling and Anti-Aliasing Techniques
- tone mapping high dynamic range lighting
GPU-Accelerated Path Tracing
- overview of technique
- adaptation of CPU function to parallel kernel
- WebGL
Overview of Biased Techniques
-Photon Mapping
-Adaptations to bring biased techniques closer to unbiased (ex: progressive photon mapping)
Person(s) Preparing Description:
Dr. Norman Badler (badler@seas.upenn.edu)
Gabriel Leung (lgabriel@seas.upenn.edu)
Tiantian Liu (liutiant@seas.upenn.edu) |