Computer Graphics
Spring 2026
Instructor: Nima Kalantari

Course information

Time and location: TR 11:10 - 12:25 pm in ZACH 590
Office hours: TR 3:00 - 4:00 pm
Office location: 406 PETR
Email: nimak@tamu.edu
Campuswire: link on Canvas

Overview

This course provides an in-depth introduction to physically based rendering, with an emphasis on Monte Carlo techniques. We will study how light interacts with objects in the real world, how image formation is mathematically formulated, and how these formulations are solved in practice using modern rendering algorithms. The course focuses on the theoretical foundations of rendering as well as their application in practical image synthesis systems.

Prerequisites

The students are expected to be familiar with C++, as this is the language used for all the programming assignments and the final project. Familiarity with calculus and linear algebra is recommended, as these tools are used throughout the course; however, the necessary concepts will be reviewed as needed. Having basic knowledge of computer graphics (the undergraduate computer graphics course, CSCE 441) is also recommended.

Textbook

The following books are recommended but not mandatory:

Physically Based Rendering: From Theory to Implementation (4th edition) by Matt Pharr, Wenzel Jakob, and Greg Humphreys
Robust Monte Carlo Methods For Light Transport Simulation by Eric Veach

Grading

Late Submissions

You will lose 20% from each assignment for each day that it is late. However, there will be 5 granted late days for the entire course. You are free to use it for any of the assignments (note that, you CANNOT use it for the final project!). You will not get any bonuses for any of the unused late days. All the assignments are due at 11:59 pm on Canvas unless otherwise stated. Note that, one minute over and 23 hours over both count as one full day.

Academic Integrity

The assignments in this class are individual unless otherwise stated. For the individual assignments, all code must be written by the student. If specified in the assignment instructions, the use of external libraries for performing basic operations is allowed. However, using any external source code is NOT permitted. Collaborating with other students beyond general discussion is also NOT allowed. In particular, viewing other students’ code and/or written answers is strictly prohibited. Posting your code on publicly accessible websites (e.g., GitHub), even after the assignment deadline, is also NOT allowed.

Generative AI: The use of large language models such as ChatGPT, Copilot, or Claude is not strictly prohibited. However, these tools may be used only for debugging or clarification purposes, not for generating code. You are expected to write all code yourself, and copying or modifying AI-generated code is not permitted. If you use any AI tool in any capacity while completing an assignment, even to ask a conceptual question, you must submit a transcript of the full interaction along with your work.

The instructor may request a meeting with any student to discuss their code and assess their understanding. If a student is unable to adequately explain their own code, it will be considered an honor code violation and reported to the honor council.

If you have any questions about these policies, please contact the instructor.

Schedule*

Date Topic Slides Reading Assignments
Jan 13 Introduction and Math Review pdf PBR Ch. 3
Jan 15 Introduction and Math Review See Above PBR Ch. 3
Jan 20 Ray Tracing pdf RTOW
Jan 22 Ray Tracing RTOW
Jan 27 Acceleration PBR Ch. 6 & 7
Jan 29 Ray Tracing - Shading RTOW
Feb 3 Ray Tracing - Shading RTOW
Feb 5 Radiometry
Feb 10 Reflection Equation
Feb 12 Monte Carlo Integration
Feb 17 Sampling
Feb 19 Sampling
Feb 24 Importance Sampling
Feb 26 Direct Lighting
Mar 3 Direct Lighting
Mar 5 Spring Break -- No Class
Mar 10 Spring Break -- No Class
Mar 12 Multiple Importance Sampling
Mar 17 Rendering Equation
Mar 19 Rendering Equation
Mar 24 Microfacet Models
Mar 26 Texture Mapping I
Mar 31 Texture Mapping II
Apr 2 Procedural Texturing
Apr 7 Volume Rendering
Apr 9 Volume Rendering
Apr 14 Volume Rendering
Apr 16 Volume Rendering
Apr 21 Bidirectional Path Tracing
Apr 23
Apr 28 Redefined Day -- No Class

*Schedule might change during the semester.

Acknowledgements

The slides in this class are heavily based on the slides from other instructors. Specifically, many slides are the exact or modified version of the slides by Wojciech Jarosz, who in turn provides extensive acknowledgements and credits to other instructors and collaborators (see his full credits here). Some ideas, images, or slides, are also adapted/borrowed from Steve Marschner, Ravi Ramamoorthi, Tzu-Mao Li, and John Keyser.