Course Instructor and Office Hours:

Matthias Zwicker, office hours: by appointment

Time and Place:

Tuesday and Thursdays, 3:30pm-4:45pm, IRB2207


This course covers advanced techniques in realistic rendering and modeling for computer graphics and VR. In the first part, we will focus on realistic rendering using physically based image synthesis algorithms. Students will learn how light interacts with physical objects, and how to simulate these effects with computer algorithms to create photorealistic images. In the second part, we will discuss how to create 3D models that can be used in graphics and VR applications. We will focus on data-driven approaches, which is to leverage data captured from the physical world using cameras and 3D sensors to construct digital models. Throughout the course, we will highlight recent techniques deep learning techniques to address various problems.


To model light transport for realistic rendering, we will introduce fundamental concepts like radiometry, the bidirectional reflectance distribution function, and the rendering equation. We will discuss techniques to solve the rendering equation such as Monte Carlo path tracing, importance sampling, and photon mapping. We will also cover recent deep learning techniques that have been proposed to accelerate Monte Carlo rendering. In the second part of the course, we will cover 3D scanning and reconstruction, and texture and appearance acquisition. We will introduce 3D geometry representations such as meshes, and implicit and point-based representations, and fundamental geometry processing operations. Finally, we will discuss data-driven approaches to model 3D geometry and textures including deep learning techniques.

The course includes programming assignments related to each major topic, and a self-directed final project.

Course Schedule, Materials, and Online Communication:

The course schedule, all materials, and online communication will be managed via the course page on UMD Canvas, the electronic learning management system of UMD. Access to these resources requires login using your campus ID.


Grading will be based on the programming assignments (40%), the final project (40%), and a final exam (20%).


An “Introduction to Computer Graphics“ (or an equivalent course) is recommended but not required. The course builds on concepts from calculus, linear algebra, and algorithms and data structures. Programming assignments rely on C++.

Academic Integrity:

We will follow the guidelines set forth by of the Department of Computer Science and the Office of Student Conduct.

Web Accessibility