As part of the course, students will complete assignments individually or in teams, progressively developing their own image synthesis engine in C++ or Rust. Students will use the techniques and concepts presented in the lectures to complete these assignments. Starter code will be provided.
At the end of the semester, a rendering competition will be organized in teams of two students. The goal of this competition is to produce an image following a predefined theme. The competition will begin with an initial proposal listing the implementation objectives required to achieve the desired image. In the final class, each team will present its project and the implementations necessary for generating the proposed image as part of the competition.
Assignment 0 (Optional) – Environment Setup – Individual (0%)
Description: Setting up the environment and using the vector library.
Assignment 1 – Introduction to Ray Tracing – Individual (10%)
Description: Implementation following Ray Tracing in One Weekend.
Topics covered: Introduction to image synthesis, basic ray tracing, geometric representation.
Assignment 2 – Monte Carlo & Direct Lighting – Individual (10%)
Description: Use of inverse transform sampling methods for simple materials in the context of direct lighting computation.
Topics covered: Radiometry, direct lighting computation, numerical methods and sampling.
Assignment 3 – Path Tracing & MIS – Individual (10%)
Description: Extension of sampling to surfaces and combination with MIS in a path tracing algorithm.
Topics covered: Numerical methods and sampling, indirect lighting computation, path space.
Assignment 4 – Textures and Engine Extension – Team (10%)
Description: Implementation of textures and more complex materials. Use of Blender to create a simple scene.
Topics covered: Textures and procedural methods.
Rendering Competition – Team (2% + 18% + 10%)
Description: Free extension of the rendering engine to achieve a specific rendered image. Includes a project proposal submitted along with Assignment 4, a written report, and a presentation.