Skip to main content

Physically Based Rendering:  2018-2019



Schedule C1 (CS&P)Computer Science and Philosophy

Schedule C1Computer Science

Schedule C1Mathematics and Computer Science

Schedule CMSc in Computer Science



This is an advanced course in computer graphics, which will cover the fundamentals and techniques of physically-based rendering, global illumination and the realistic modelling of materials. Thanks to the recent successes in high-fidelity rendering, image synthesis can be ascribed to advancements in two complementary directions: increasingly sophisticated global illumination algorithms provided ever more accurate solutions to the physically-based Rendering Equation, while the constant development of new techniques for the modelling and rendering of materials lightened the computational load without compromise on realism.

In this course, the mathematical models behind physically-based rendering will be introduced, with particular focus on the Rendering Equation and on Bi-directional Reflectance Distribution Functions (BRDFs). In the first part of the course, the major global illumination algorithms used to approximate the rendering equation will be covered: Radiosity, Distributed Ray-Tracing, Path Tracing, Bi-directional Path Tracing, Metropolis Light Transport, and Photon Mapping. In the second part of the course, the focus will shift to the realistic modelling and rendering of materials, as well as computational photography techniques. This will include the estimation of BRDFs from real materials, as well as a number of advanced rendering techniques: Displacement Mapping, Parallax Occlusion Mapping, Subsurface Scattering, Reflectance Transformation Imaging, Photogrammetry, Structure from Motion and multi/hyper-spectral imaging. Finally, the course will provide an overview of the methods used in assessing and validating the realism of rendered scenes, emphasising the distinction between believable and predictive rendering. The course includes four practicals covering two assignments in Javascript.

Learning outcomes

After studying this course, the students will:

  1. understand the fundamentals of physically-based rendering, from material modelling to global illumination;
  2. be able to implement common global illumination algorithms, including Radiosity, Path Tracing, and Photon Mapping;
  3. understand some advanced material rendering techniques, including Displacement Mapping, Parallax Occlusion Mapping, Subsurface Light Transport, Shell Mapping;
  4. understand key algorithms in computational photography literature, including: Reflectance Transformation Imaging, Photogrammetry, Structure from Motion, Multispectral Imaging.
  5. understand the techniques used in the realistic modelling of materials;
  6. be aware of the underlying assumptions and limitations of physically-based rendering, and understand the techniques used to validate the realism of rendered scenes


The course assumes knowledge of the material covered in Computer Graphics and assumes familiarity with Javascript/WebGL. A strong foundation in mathematics is recommended. The course does not make the assumption that the student has taken geometric modelling or animation, but a background in these subjects is a plus.


The course is structured as follows, for a total of 20 lectures:

  • Set 1: Course overview: introduction to the subject and practical matters. (1 lecture)
  • Set 2: Physically-based Light and materials: physical modelling of light as wave, rays/beams or particles; physical modelling of materials, using BRDFs and other methods for microstructure. (2 lectures)
  • Set 3: The Rendering Equation: physical derivation of the rendering equation from the modelling of light an materials; solution strategies, including finite-elements methods, path tracing, and sampling/Monte Carlo methods; issues and limitations of the rendering equation, including unbiased vs consistent solution strategies, participating media, and how to handle the mesostructure of materials. (4 lectures)
  • Set 4: Global illumination algorithms: radiosity; distributed ray-tracing, and the implementation of ray-tracing on CPU vs GPU; bidirectional path tracing and Metropolis light transport; photon mapping, and progressive photon mapping. (5 lectures)
  • Set 5: Advanced Material Modelling: displacement mapping and parallax occlusion mapping; subsurface light transport. (2 lectures)
  • Set 6: Image synthesis validation: believable vs predictive rendering, and methods to assess/validate synthetic images. (2 lecture)
  • Set 7: Computational photography: texture acquisition and processing; reflectance transformation imaging, photogrammetry, multispectral imaging. (4 lectures)


The following are major topics that will be covered. (Numbers in brackets give an approximation to the number of lecture hours spent on the topic.)


  • Overview of Rendering (1)
  • The Rendering Equation (4)
  • Light and Material Modelling (4)
  • Advanced Global Illumination Techniques (5)
  • Image-synthesis validation (2)
  • Computational Photography (4)


There is practical work to supplement the lecture material; the course does assume previous experience of practical programming in a high-level language, and simple knowledge of matrices and vectors. The practicals themselves will be in Javascript.

Reading list