| Time: | 2:00-3:15 Tuesday and Thursday | ||||||||||||||||||
| Place: | MEC 345 | ||||||||||||||||||
| Instructor: | Greg Humphreys, humper@cs.virginia.edu Office Hours: Monday 9-11 (Olsson 216) |
||||||||||||||||||
| TA: | Pete Weistroffer, rpw7e@cs.virginia.edu Office Hours: Monday, Wednesday 3:00 - 4:30 Olsson 227 |
||||||||||||||||||
| Goals: | This course provides a broad overview of the theory and practice of rendering. We will discuss classic rendering algorithms, although most of the course will focus on either fundamentals of image synthesis or current methods for physically based rendering. The final project will be a rendering competition. | ||||||||||||||||||
| Assignments: | Assignments are due at 11:59:59 PM on the day in question. See the late policy below for some more information about turning in assignments on time. All assignment descriptions will be made available as soon as possible.
|
||||||||||||||||||
| Software: | Required:
Potentially useful:
|
||||||||||||||||||
| Background: | Students should have a good working knowledge of computer graphics at the level of CS445 or its equivalent. Solid knowledge of integral calculus and some basic geometric algorithms is also a must. It is also expected that students have been exposed to probability at a high school level. We will review key relevant concepts in probability, statistics, and signal processing, but some previous exposure to any or all of these topics will make that material go down a lot smoother. | ||||||||||||||||||
| Texts: | Physically Based Rendering: From Theory to Implementation, by Matt Pharr and Greg Humphreys | ||||||||||||||||||
| Grading: | Grading will be based solely on the quality of your programming assignments, written assignments, and final project. There will be no exams. Each assignment (programming and written) will be worth 10% of your grade, and the final project will be worth 50%. The "Hello, World" assignment will not count towards your grade except in the sense that you will not pass the course if you do not complete it. | ||||||||||||||||||
| Honor Code: | The honor code applies to all work turned in for this course. In particular, all code and documentation should be entirely your own work. You may consult with other students about high-level design strategies, but you may not copy code or use the structure or organization of another students program. Said another way, you may talk with one another about your programs, but you cannot ever look at another student's code nor let another student look at your own code. Obviously, you may collaborate freely with your project partner. | ||||||||||||||||||
| Late Policy: | You should strive to complete your assignments on time. To cope with unforeseen circumstances, you will be allowed four days of grace during the semester, to be used as you see fit. After these days are gone, assignments can be turned in one day late for 50% credit. After two days, assignments will not be accepted. No late days may be used for the final project or the final project writeup. Notice that these are calendar days, not weekdays, not class days, and not non-holiday days. The clock is running during weekends, spring break, and while you're partying. Exceptions can be made for sickness and/or family emergencies; see the instructor.
Note in particular that computer downtime is not an excuse for lateness. Computers crash and networks go down; the world is an imperfect place. Be prepared. Do not start assignments at the last minute. Do not forget to leave time for the render to complete (this is especially true of the final project). |
| Date | Topics | Readings |
|---|---|---|
| 1/18 | The Goals of Rendering; Course Logistics | A Framework for Realistic Image Synthesis |
| 1/23 | Ray Tracing I: Basic Algorithm | Essential Ray Tracing Algorithms (handout) An Improved Illumination Model for Shaded Display Fast, Minimum-Storage Ray-Triangle Intersection PBR Chapters 1-3 |
| 1/25 | Ray Tracing II: Acceleration | You've Been Raytracing Too Long If... |
| 1/30 | Human Vision | PODIS Chapter 1 (handout) |
| 2/1 | The Light Field I | Rendering Concepts 2.1-2.4 (handout) PBR Chapter 5 Radiometry FAQ |
| 2/6 | The Light Field II | |
| 2/8 | Signals | |
| 2/13 | NO CLASS | |
| 2/15 | Fourier Analysis | PBR Chapter 7.1.1 |
| 2/20 | Cameras and Film | PBR Chapter 6 |
| 2/22 | Uniform Sampling and Reconstruction | Reconstruction Filters in Computer Graphics Generating Antialiased Images at Low Sampling Densities PBR Chapter 7 |
| 2/27 | Supersampling and Stochastic Sampling | Stochastic Sampling in Computer Graphics |
| 3/1 | Monte Carlo Techniques I: Basics | Monte Carlo SIGGRAPH Notes, chapters 2-3 PBR Chapter 14.1-14.2 |
| 3/6 | SPRING BREAK | |
| 3/8 | SPRING BREAK | Ray-Tracing Jell-O Brand Gelatin |
| 3/13 | Monte Carlo Techniques II: Random Sampling Strategies |
Distributed Ray Tracing |
| 3/15 | Monte Carlo Techniques III: Variance Reduction | Robust Monte Carlo Methods, Chapters 2.5-2.8 Robust Monte Carlo Methods, Chapter 9 PBR Chapter 13,15.1-15.6 |
| 3/20 | Dynamic Range | Recovering High Dynamic Range Radiance Maps... Rendering Synthetic Objects Into Real Scenes PBR Chapter 8 |
| 3/22 | Reflection Models I: BRDF's, DIffuse | Examples of Fresnel Reflectance |
| 3/27 | Reflection Models II: Glossy | Models of Light Reflection for Synthesized Pictures Theory for the Off-Specular Reflection... (Handout) A Reflectance Model for Computer Graphics |
| 3/29 | Participating Media and Volume Scattering | Display of Surfaces from Volume Data Hypertexture Rendering Fur With Three Dimensional Textures PBR Chapter 12 |
| 4/3 | Participating Media and Volume Scattering II | Ray Tracing Volume Densities PBR Chapter 15.7 |
| 4/5 | The Rendering Equation | Rendering Concepts 2.6 (handout) The Rendering Equation PBR Chapter 16.1-16.2 |
| 4/10 | Path Tracing | Robust Monte Carlo Methods, Chapter 10 PBR Chapter 16.3 |
| 4/12 | Photon Mapping | Energy Preserving Non-Linear Filters A Ray Tracing Solution for Diffuse Interreflection Global Illumination Using Photon Maps PBR Chapter 16.4-16.5 |
| 4/17 | Radiosity | |
| 4/19 | Interactive Raytracing I: Software | |
| 4/24 | Interactive Raytracing II: Hardware | |
| 4/26 | Precomputed Radiance Transport I | Precomputed Radiance Transfer for Real-Time Rendering in Dynamic Low-Frequency Lighting Environments |
| 5/1 | Precomputed Radiance Transport II |