CS888: Advanced Topics in Computer Graphics - Rendering

Latest news

  • Dec 19, 2022: The webpage and the list of papers were thoroughly updated. See you all on Jan 13!
  • Dec 8, 2022: The initial version of the course webpage has been published. Anything in this page could be changed before the course officially starts.


Rendering is widely used for synthesizing realistic images that we all see in movies, TV commercials, and industrial design. This seminar-style course will consist primarily of paper presentations and discussions and will consider papers encompassing a variety of topics, including (but not limited to):
  • Efficient ray tracing
  • Stochastic sampling
  • Monte Carlo techniques
  • Appearance modeling
  • Rendering systems
  • Light transport simulation
We will primarily focus on offline rendering techniques for physics-based light transport simulation and not cover much about fast approximation in real-time rendering for video games and interactive applications. Students will encounter and use a variety of numerical, computational, and mathematical techniques and tools, such as numerical integration, efficient spatial queries, integral equations, stochastic models, signal processing, optics, parallel computation, efficient memory accesses, and so on. The course takes the style of a seminar: students will take turns presenting papers, followed by a group discussion of the relative merits and limitations of the paper in question. Students are also expected to read each paper and submit a review each week. There will also be a small number of traditional lectures at the beginning covering logistics and basic concepts.

Course Goals:

  • Develop familiarity with a range of techniques and tools in rendering to catch up with the latest work in this field.
  • Build experience reading and evaluating technical papers, and giving presentations.
  • Have fun and identify topics in rendering that you truly enjoy studying further.

Administrative Details

Time/Location: DC 2568, 2:00 pm tp 4:50 pm on Friday
Instructor: Toshiya Hachisuka
E-mail: toshiya.hachisuka@uwaterloo.ca
Office hours: By appointment and via online.
Course-related news and discussions will be communicated/managed via MS Team. MS Team will be used for sharing talk slides, and Crowdmark will be used for grading and submission of reviews.

Grade Breakdown:

  • Paper Presentations: 40%
  • Paper Reviews: 40%
  • Participation/Discussion (including asynchronous discussion on MS Team): 20%

(Absence of) Course Project

Previous offerings of CS888 often required a student to implement a certain technique as a course project. This offering of CS888 will not make it mandatory. Instead, you are evaluated based solely on paper reviews, paper presentations, as well as your participation in the discussion. You are encouraged to implement and test the techniques in each paper you present to understand its detail, though it is not mandatory. If you are particularly keen and would like to pursue a project with sufficient novelty outside the course, you are also encouraged to discuss with me to plan for paper submissions to proper venues.

Paper Presentations and Discussions

You will give a few technical presentations (depending on the number of enrolled students), clearly describing the proposed technique and the novel contributions of the paper, and discussing the paper's strengths and weaknesses. The presenter should carry out sufficient background reading to understand the method in reasonable detail, answer questions, and be able to lead the group discussion afterward. The lectures at the beginning will cover some tips and ideas on how to discuss and present technical ideas. Even for papers that you are not assigned for presentation, you are still expected to read the paper and to participate in a discussion about it after the presentation. Please be prepared to be able to give a presentation.

Paper Reviews

You should choose one paper from each week's schedule to submit a review. Reviews will be due at the noon of Thursday in the week in which the paper will be discussed. For consistency, prepare your review in PDF form using the follow LaTeX review template. The template is roughly following the SIGGRAPH review format that is used to evaluate actual SIGGRAPH submissions. Unlike actual reviews, however, you do not need to judge whether you accept the paper or not (the published papers are all accepted papers, right?). I recommend you to import this LaTeX template to Overleaf to avoid losing your work by accident. You should mainly focus on the "Discussion" section, wherein you will analyze the paper's pros/cons. The previous offering of CS888 provides some tips on how to read and present papers, which I will also cover at the beginning of this course. As you read the paper, you should aim to be thorough and critical, but not necessarily negative; it can be just as important to properly recognize the merits of a paper as to identify its shortcomings.


Enthusiasm for computer graphics and rendering is a must. Linear algebra, calculus, and statistics will be required depending on the paper we read. Experience with both numerical computing (e.g. CS370/371, CS475) and computer graphics (e.g., CS488) are recommended. Familiarity with some numerical techniques will be useful, though you are likely to learn new techniques as you read papers.


The list of papers might be updated as we go, depending on the interests of students. The online edition of the pbrt book will be a useful reference in this course.
  • Week 1 (Jan 13): Introduction
    • Organization
    • Brief introduction of rendering
  • Week 2 (Jan 20): Meta topics
    • How to read, review, and present technical papers
    • Example presentation and discussion by the instructor
  • Week 3 (Jan 27): Acceleration data structures
    • Four papers to be presented by students
  • Week 4 (Feb 3): Sampling
    • Four papers to be presented by students
  • Week 5 (Feb 10): Materials
    • Four papers to be presented by students
  • Week 6 (Feb 17): Theories
    • Four papers to be presented by students
  • Week 7 (Feb 24): No class - Reading week
  • Week 8 (Mar 3): Monte Carlo integration
    • Four papers to be presented by students
  • Week 9 (Mar 10): Density estimation
    • Four papers to be presented by students
  • Week 10 (Mar 17): Markov chain Monte Carlo
    • Four papers to be presented by students
  • Week 11 (Mar 24): Derivatives and Differences
    • Four papers to be presented by students
  • Week 12 (Mar 31): Rendering systems
    • Four papers to be presented by students
  • Week 13 (Apr 10): Optional
    • No class by default

Papers List

Unless you have a specific request that the instructor approves, papers for each week should be selected from below. You will need to read four papers per class, thus you will end up reading four papers per week. You need to select one paper out of those four papers you have read to write a review. Whether you are presenting or not, you are required to read all the four papers that are going to be discussed each week. This list, by no means, is an exhaustive list of papers you should read in rendering and there are many more excellent papers that are not on the list.
  • Acceleration data structures
    • "Heuristics for ray tracing using space subdivision.", MacDonald and Booth, The Visual Computer, 1990.
    • "On fast construction of SAH-based bounding volume hierarchies.", Wald, IEEE Symposium on Interactive Ray Tracing, 2007.
    • "Fast agglomerative clustering for rendering.", Walter, Bala, Kulkarni,and Pingal, IEEE Symposium on Interactive Ray Tracing, 2008.
    • "Spatial splits in bounding volume hierarchies", Stich, Friedrich, and Dietrich, Proceedings of the Conference on High Performance Graphics, 2009.
    • "HLBVH: hierarchical LBVH construction for real-time ray tracing of dynamic geometry", Pantaleoni and Luebke, Proceedings of High Performance Graphics, 2010.
    • "Tessellation-Free Displacement Mapping for Ray Tracing", Thonat, Beaune, Sun, Carr, and Boubekeur, SIGGRAPH Asia 2021.
  • Sampling
    • "Spectrally optimal sampling for distribution ray tracing", Mitchell, Proceedings of Computer Graphics and Interactive Techniques, 1991.
    • "A comparison of methods for generating Poisson disk distributions", Lagae and Dutré, Computer Graphics Forum, 2008.
    • "Quasi-Monte Carlo image synthesis in a nutshell", Keller, Monte Carlo and Quasi-Monte Carlo Methods, 2013.
    • "Progressive multi-jittered sample sequences", Christensen, Kensler, Kilpatrick, Computer Graphics Forum, 2018.
    • "Neural importance sampling", Müller, McWilliams, Rousselle, Gross, and Novák, ACM Transactions on Graphics, 2019.
    • "Sliced Optimal Transport Sampling", Paulin, Bonneel, Coeurjolly, Iehl, Webanck, Desbrun, and Ostromoukhov, SIGGRAPH 2020.
  • Materials
    • "Generalization of Lambert's reflectance model", Oren and Nayar, Proceedings of the 21st annual conference on Computer graphics and interactive techniques, 1994.
    • "Light scattering from human hair fibers", Marschner, Jensen, Cammarano, Worley, and Hanrahan, ACM Transactions on Graphics, 2003.
    • "Understanding the masking-shadowing function in microfacet-based BRDFs", Heitz, JCGT, 2014.
    • "Rendering glints on high-resolution normal-mapped specular surfaces", Yan, Hašan, Jakob, Lawrence, Marschner, and Ramamoorthi, ACM Transactions on Graphics, 2014.
    • "Efficient Rendering of Layered Materials using an Atomic Decomposition with Statistical Operators", Belcour, ACM Transactions on Graphics, 2018.
    • "Position-Free Monte Carlo Simulation for Arbitrary Layered BSDFs", Guo, Hašan, and Zhao, SIGGRAPH Asia 2018.
  • Theories
    • "Robust Monte Carlo methods for light transport simulation" (Chapter 8), Veach PhD thesis: Stanford University, 1997.
    • "Adjoints and importance in rendering: An overview", Christensen, IEEE Transactions on Visualization and Computer Graphics, 2003.
    • "A frequency analysis of light transport", Durand, Holzschuch, Soler Chan, and Sillion, ACM Transactions on Graphics (TOG), 2005.
    • "A constructive theory of sampling for image synthesis using reproducing kernel bases", Lessig, Desbrun, and Fiume, ACM Transactions on Graphics, 2014.
    • "A radiative transfer framework for non-exponential media", Bitterli, Ravichandran, Müller, Wrenninge, Novák, Marschner, and Jarosz, ACM Transactions on Graphics, 2018.
    • "A Theoretical Analysis of Compactness of the Light Transport Operator" Soler, Molazem, and Subr, ACM Transactions on Graphics, 2022.
  • Monte Carlo integration
    • "Optimally combining sampling techniques for Monte Carlo rendering", Veach and Guibas, Proceedings of Computer graphics and Interactive Techniques, 1995.
    • "Light transport simulation with vertex connection and merging", Georgiev, Krivánek, Davidovic, and Slusallek, ACM Transaction on Graphics, 2012.
    • "Adjoint-driven Russian roulette and splitting in light transport simulation", Vorba and Křivánek, ACM Transactions on Graphics, 2016.
    • "Practical path guiding for efficient light transport simulation", Müller, Gross, and Novák, Computer Graphics Forum, 2017.
    • "Optimal multiple importance sampling", Kondapaneni, Vévoda, Grittmann, Skřivan, Slusallek, and Křivánek, ACM Transactions on Graphics, 2019.
    • "Spatiotemporal reservoir resampling for real-time ray tracing with dynamic direct lighting", Bitterli, Wyman, Pharr, Shirley, Lefohn, and Jarosz, ACM Transactions on Graphics, 2020.
  • Density estimation
    • "Global illumination using photon maps", Jensen, Eurographics workshop on Rendering techniques, 1996.
    • "Progressive photon mapping", Hachisuka, Ogaki, and Jensen, ACM Transactions on Graphics, 2008.
    • "A comprehensive theory of volumetric radiance estimation using photon points and beams", Jarosz, Nowrouzezahrai, Sadeghi, and Jensen, ACM ansactions on Graphics, 2011.
    • "A path space extension for robust light transport simulation", Hachisuka, Pantaleoni, and Jensen, ACM Transactions on Graphics, 2012.
    • "Unifying points, beams, and paths in volumetric light transport simulation", Křivánek, Georgiev, Hachisuka, Vévoda, Šik, Nowrouzezahrai, and Jarosz, ACM Transactions on Graphics, 2014.
    • "Beyond points and beams: higher-dimensional photon samples for volumetric light transport" Bitterli and Jarosz, ACM Transactions on Graphics, 2017.
  • Markov chain Monte Carlo
    • "Metropolis light transport", Veach and Guibas, Proceedings of Computer Graphics and Interactive Techniques, 1997.
    • "A simple and robust mutation strategy for the metropolis light transport algorithm", Kelemen, Szirmay-Kalos, Antal, and Csonka, Computer Graphics Forum, 2002.
    • "Manifold exploration: a Markov Chain Monte Carlo technique for rendering scenes with difficult specular transport", Jakob and Marschner, ACM Transactions on Graphics, 2012.
    • "Multiplexed metropolis light transport", Hachisuka, Kaplanyan, and Dachsbacher, ACM Transactions on Graphics, 2014.
    • "The natural-constraint representation of the path space for efficient light transport simulation", Kaplanyan, Hanika, and Dachsbacher, ACM Transactions on Graphics, 2014.
    • "Langevin Monte Carlo rendering with gradient-based adaptation", Luan, Zhao, Bala, and Gkioulekas, ACM Transactions on Graphics, 2020.
  • Derivatives and differences
    • "Path differentials and applications", Suykens and Willems, Eurographics Workshop on Rendering Techniques, 2001.
    • "Gradient-domain metropolis light transport", Lehtinen, Karras, Laine, Aittala, Durand, and Aila, ACM Transactions on Graphics, 2013.
    • "Differentiable Monte Carlo ray tracing through edge sampling", Li, Aittala, Durand, and Lehtinen, ACM Transactions on Graphics, 2018.
    • "Path-space differentiable rendering", Zhang, Miller, Yan, Gkioulekas, and Zhao, ACM Transactions on Graphics, 2020.
    • "Radiative backpropagation: an adjoint method for lightning-fast differentiable rendering", Nimier-David, Speierer, Ruiz, and Jakob, ACM Transactions on Graphics, 2020.
    • "Monte Carlo estimators for differential light transport", Zeltner, Speierer, Georgiev, and Jakob, ACM Transactions on Graphics, 2021.
  • Rendering systems
    • "OptiX: a general purpose ray tracing engine", Parker et al., ACM Transactions on Graphics, 2010.
    • "Embree: a kernel framework for efficient CPU ray tracing", Wald et al., ACM Transactions on Graphics, 2014.
    • "Manuka: A batch-shading architecture for spectral path tracing in movie production", Fascione et al., ACM Transactions on Graphics, 2018.
    • "The Design and Evolution of Disney’s Hyperion Renderer" Burley et al., ACM Transactions on Graphics, 2018
    • "Arnold: A brute-force production path tracer", Georgiev et al., ACM Transactions on Graphics, 2018.
    • "Mitsuba 2: A retargetable forward and inverse renderer", Nimier-David et al., ACM Transactions on Graphics, 2019.

Academic integrity, grievance, discipline, appeals and note for students with disabilities

  • Academic integrity: In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility.
  • Grievance: A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4. When in doubt, please be certain to contact the department’s administrative assistant who will provide further assistance.
  • Discipline: A student is expected to know what constitutes academic integrity to avoid committing an academic offence, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about “rules” for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate associate dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline. For typical penalties, check Guidelines for the Assessment of Penalties.
  • Appeals: A decision made or penalty imposed under Policy 70, Student Petitions and Grievances (other than a petition) or Policy 71, Student Discipline may be appealed if there is a ground. A student who believes he/she has a ground for an appeal should refer to Policy 72, Student Appeals.
  • Note for students with disabilities: AccessAbility Services, located in Needles Hall, Room 1401, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with AccessAbility Services at the beginning of each academic term.
  • Turnitin.com: Text matching software (Turnitin®) may be used to screen assignments in this course. Turnitin is used to verify that all materials and sources in assignments are documented. Students' submissions are stored on a U.S. server, therefore students must be given an alternative (e.g., scaffolded assignment or annotated bibliography), if they are concerned about their privacy and/or security. Students will be given due notice, in the first week of the term and/or at the time assignment details are provided, about arrangements and alternatives for the use of Turnitin in this course.
  • It is the responsibility of the student to notify the instructor if they, in the first week of term or at the time assignment details are provided, wish to submit the alternate assignment.