Navigation auf


Department of Informatics Visualization and Multimedia Lab


Computer Graphics (BMI007)


Lecturer: Prof. Dr. Renato Pajarola
Assistant: Luciano A. Romero Calla, Julian Croci
Time: Monday 14:00-15:45, Thursday 10:15-12:00
Location: BIN 2.A.10
Language: English
OLAT: Link to OLAT Campus Course
Course Catalogue: Link to UZH Course Catalogue


Computer graphics has ubiquitously penetrated our modern life, be it from the special effects in movies, gaming consoles, interactive graphics on handheld devices or data visualization on a variety of devices. The foundations of interactive 3D computer graphics include a wide range of topics such as graphics systems architectures, polygonal 3D modeling, illumination and shading from light, vector and matrix operations, geometric transformations, viewing in 3D, visibility and occlusion culling, clipping or rasterization. In this lecture we will review these fundamental concepts, algorithms, and data structures of interactive 3D computer graphics. Furthermore, we will cover some additional advanced topics such as physically based rendering, photorealistic rendering, e.g. using recursive ray-tracing and path-tracing, geometry and point cloud processing, and scientific visualization.

The lecture will also include some small practical programming exercises to be done in Open GL and C++.


Foundations of interactive 3D computer graphics such as graphics systems, polygonal modeling, illumination and shading, geometric transformations, viewing in 3D, visibility, clipping, rasterization, physically based rendering, geometry and point cloud processing, and scientific visualization.

  • 3D Object Modeling and Representation
  • Geometric Transformations
  • Illumination and Shading
  • Viewing in 3D
  • Visible Surface Methods
  • 2D Raster Graphics Algorithms
  • Graphics Rendering Pipeline
  • Physically Based Rendering
  • Ray-Tracing
  • Point Cloud Processing
  • Scientific Visualization


  1. Interactive Computer Graphics: A top-down approach with shader-based OpenGL. by Edward Angel and David Shreiner, Addison-Wesley. 6th Edition, 2012.
  2. Real-Time Rendering, Fourth Edition by Tomas Akenine-Möller, Eric Haines, Naty Hoffman, Angelo Pesce, Michał Iwanicki, and Sébastien Hillaire. CRC Press, 2018.

Completion Requirements


As a standing homework assignment you are required to read the corresponding book chapters in parallel to the lectures covering them. Read the following suggested book chapters from [1] in accordance with the corresponding class lectures:

  • Introduction: Chapters 1, 2.1-2.6
  • Vectors and Geometric Models: Chapters 3.1-3.6, 4.9, 8.1-8.4, 8.8-8.9 and Appendix B
  • Geometric Transformations and Matrices: Chapters 3.7-3.11 and Appendix C
  • Illumination and Shading: Chapter 5
  • Rasterization: Chapters 6.1-6.2, 6.8-6.10, 6.12
  • Mapping: Chapter 7
  • Viewing: Chapters 4.1-4.7
  • Visibility: Chapters 4.8, 4.10, 6.11
  • Ray Tracing: Chapters 11.1-11.4


To pass the lecture, students must have completed the distributed exercises as instructed at the beginning of the lecture.


The lecture will be completed with a written exam at the end of the semester. The exam is scheduled according to the standard UZH/OEC/IFI regulations, see also the VVZ link (at the top).


This is a tentative schedule of the topics covered during the semester.

Lecture Week Topics Slides Exercises
  Introduction, Graphics API All slides can be found on OLAT (see link at the top).  
  Vectors Geometric Modeling    
  Geometric Modeling    
  Rendering Meshes




  Composite Transforms    
  Illumination & Light Sources    
  Shading & Shaders    
  Texture Mapping    

Visibility & Shadows

  Physically Based Rendering    
  Ray Tracing    
  Geometry and Point Cloud Processing    
  Scientific Visualization