nl en

Computer Graphics


Admission requirements

Not applicable.


(additional details and up-to-date information can be found on the main course website -

The goal of this course is to create a foundation (theory and programming) for understanding the current and future technology underlying computer graphics. Our intention is to create a synergistic mixture of theory and practice. The first part of the class begins with introductory lectures into the mathematical fundamentals and workshops in programming 3D graphics. In the second half of the semester, the class moves to current state of the art methods which are presented by the students. Examples of typical subjects which will be covered are:

  • 3D modeling

  • 3D lighting & effects

  • Real time rendering

  • Advanced applications and systems

Table of contents

  • Introduction to computer graphics and OpenGL

  • Mathematical fundamentals

  • Transformations: Translation, Rotation, Scaling

  • Homogeneous transformations

  • Viewports

  • Parallel, oblique, and perspective Projections

  • Line and surface representations

  • Hermite and Bezier modeling

  • Diffuse and Specular Shading

  • Ray Tracing

  • Hidden surface removal

  • Radiosity

  • Particle systems

  • High performance rendering algorithms

  • State-of-the-art research directions

The student must be fluent in C/C++ programming.

Course objectives

At the end of the Computer Graphics course, the student should be able to

  • understand the theoretical/mathematical fundamentals in computer graphics

  • understand the programming fundamentals in computer graphics

  • understand the current strengths and weaknesses of 3D graphics algorithms

  • have insight into ray tracing algorithms

  • have insight into illumination and rendering

  • have insight into interactive line and surface models

  • have insight into high performance computer graphics software systems

  • have insight into theoretical and practical problems in computer graphics

  • build a computer graphics program


  • All educational materials are supplied digitally.

  • Optional reading: Computer Graphics Using Open GL by F. S. Hill, Jr. (Prentice-Hall, 2001 or later, ISBN: 0-02-354856-8) 2006 – 3rd Edition: ISBN-13: 978-0131496705

  • Research papers from recent ACM conferences and journals


The most updated version of the timetables can be found on the students' website:

Mode of instruction

student discussions
software assignments

Assessment method

The final grade is composed of

  • (50%) Presentation, assignments and class participation

  • (50%) Project or Exam

Projects are evaluated using guidelines similar to the Bachelor project:

  • Project work – level of difficulty, contributions and quality of ideas and implementation

  • Project paper – scientific summary and assessment of project

  • Execution – planning and systematic application of methods

  • Presentation – clarity, knowledge, scientific assessment of the project


Aanmelding voor vakken verloopt via uSis. Hiervoor is de uSis-code van het vak nodig, die te vinden zijn in de Studiegids. Meer info over het inschrijven voor vakken of tentamens is hier te vinden.


In MyTimetable kun je alle vak- en opleidingsroosters vinden, waarmee jij je persoonlijke rooster kunt samenstellen. Onderwijsactiviteiten waarvoor je in uSis staat ingeschreven, worden automatisch in je rooster getoond. Daarnaast kun je My Timetable gemakkelijk koppelen aan een agenda-app op je telefoon en worden roosterwijzigingen automatisch in je agenda doorgevoerd; bovendien ontvang je desgewenst per e-mail een notificatie van de wijziging.

Vragen? Bekijk de video-instructie, lees de instructie of neem contact op met de ISSC helpdesk.


Inschrijving voor vakken verloopt via uSis. Wanneer je je hier inschrijft voor een bepaald vak krijg je automatisch ook toegang tot de omgeving van dit vak via Brightspace.

Voor meer informatie over Brightspace kun je op deze link klikken om de handleidingen van de universiteit te bekijken. Bij overige vragen of problemen kan contact opgenomen worden met de helpdesk van de universiteit Leiden.


Onderwijscoördinator Informatica, Riet Derogee


Computer Graphics Main Website


Attendance (and class participation) is mandatory (for special situations, please consult with the teacher). Absence (without permission beforehand) will result in not passing the course.