Computer Graphics Lab (BINFP601, MINFP601)


Lecturer: Prof. Dr. Renato Pajarola
Assistant: David Steiner, Gregory Wyss
Time: Lecture: Tuesday 16:15-18
Location: Binzmühlestrasse: BIN 0.B.04
Language: English
OLAT Link: 16FS Computer Graphics Lab
VVZ Link: Vorlesungsverzeichnis, Modul Computer Graphics Lab (BINFP601)
Vorlesungsverzeichnis, Modul Computer Graphics Lab (MINFP601)


Computer graphics is used in many areas such as special effects in movies, 3D games, interactive graphics on handheld devices or data visualization on the PC. In this lab, the students will learn and implement fundamental 3D computer graphics techniques in the context of an interactive application that has to be develope on top of a given framework. The foundations of interactive 3D computer graphics include a wide range of topics such as polygonal 3D modeling, illumination and shading, geometric transformations, viewing in 3D, visibility and occlusion culling, clipping, rasterization and texturing. During the course of the lab, these foundations will be explored in the context of an Open GL based implementation. The lab has a correpsonding lecture Computer Graphics (BMINF002) which is recommended to be attended in parallel or before this lab course.

The lab may include a quick introduction into C/C++ programming which is quintessential to interactive graphics programming in many application domains (3D games, scientific visualization, virtual reality, etc.).


It is a standing assignment that each lab participant has verified that his email contact information has been deposited with the teaching assistant. The compiled class mailing list will be used for official announcements such as project deadlines or distribution of homeworks. Register on OLAT (see link at the top).


  1. Mobile 3D Graphics with OpenGL ES and M3G. by Pulli et al., Morgan Kaufmann.
  2. OpenGL ES Programming Guide. by Munshi et al., Addison-Wesley.
  3. OpenGL Primer. by Ed Angel, Addison-Wesley.
  4. OpenGL Programming Guide (Fourth Edition). by Woo et al., Addison-Wesley.

Completion Requirements

Lab Projects

For these labs (BINFP601 and MINFP601), students must be present and successfully participate in at least 80% of the lab sessions. Programming projects must be completed in C/C++/Objectiv-C as required and submitted in time (via OLAT, link at the top) to the assistant leading the lab course according to the individual lab project rules.

Schedule Topics Documents
Week 1 Introduction All lab documents can be found on OLAT (see link at the top).
Week 2 Graphics API
Week 3 Polygons, Vectors
Week 4 Matrices, Transformation
Week 6
Week 8 Illumination
Week 9 Viewing
Week 10 Visibility
Week 11 Clipping
Week 12 Rasterization
Week 13 Mapping
Week 14 Ray Tracing