Computer Graphics

Lecturer(s): Mohsen ARDABILIAN, Alexandre SAIDI
TC ⋅ 28 h


This course will present notions of computer graphics, and mainly those related to the realistic rendering of 3D images. It notably introduces notions of raytracing/pathtracing and lighting simulation (the rendering equation), textures and representation of materials, representations of 3D geometry, camera models, Monte Carlo simulation and integration, and importance sampling, acceleration structures, surface parametrization and perception. During this course, you will entirely develop in C ++ a realistic image rendering engine (graded) based on a Monte Carlo simulation that you will improve over the course of the lectures.


Computer Graphics, 3d rendering, raytracing, Monte Carlo integration, lighting simulation


You will start the course with an almost empty code. Over the course of the explanations, you will first add the possibility to render simple diffuse spheres with point lights and direct lighting. You will add gamma correction, anti-aliasing, and the handling of reflective and transparent spheres. After a lecture on Monte Carlo Simulation and the Rendering Equation, you will add indirect lighting, extended light sources to achieve soft shadows, as well as depth of field blur. Finally, you will add support for more complex 3D shapes through textured meshes.

Learning Outcomes

  • 3d rendering: At the end of this course, you will be able to implement a simple but realistic 3d rendering engine, and will understand related concepts.
  • Monte Carlo integration: At the end of this course, you will understand how to stochatically integrate functions, and know variance reduction techniques.
  • Programming: This course will strengthen your programming skills, through the implementation of non-trivial data structures (e.g., Bounding Volumes Hierarchies) and a motivating application.


Note = 33% savoir + 67% savoir-faire Note de savoir = 100% examen terminal Note de savoir-faire = 100% contrôle continu.