Control Keys

move to next slide (also Enter or Spacebar).
move to previous slide.
 d  enable/disable drawing on slides
 p  toggles between print and presentation view
CTRL  +  zoom in
CTRL  -  zoom out
CTRL  0  reset zoom

Slides can also be advanced by clicking on the left or right border of the slide.

Basic Data

  • Bachelor/Master of Computer Science @ Uni Marburg: Module name: CS 581 (9 credit points)
  • Master of Math @ Uni Marburg: selectable module

Objectives of the Course

  • Acquire knowledge for creating interactive computer graphics applications
  • Learn basic concepts of computer graphics
  • Gain experience in practice-oriented programming environments
  • Improve the ability to perform scientific work and to solve problems
  • Create complete computer graphics projects independently

Course Structure

  1. Introduction
  2. Graphical user interfaces (skipped this year)
  3. Representation and rendering of 2D objects
  4. OpenGL pipeline
  5. Object transformations
  6. Cameras
  7. Textures
  8. Buffer Objects
  9. OpenGL Shading Language (GLSL)
  10. Light and materials
  11. Shadows and reflections
  12. Game Programming

Programming environment

  • Focus on rasterization methods
  • OpenGL is used as a graphics library
  • GLSL as a shader language
  • OpenGL / GLSL programming independently of the GUI framework used
  • GUI-Framework: Java (Desktop and Android) or alternatively in C++
  • GUIs are nowadays often implemented using web technologies, hence HTML/Java-Script/WebGL

Organizational matters

  • The course consists of a lecture (4 hours per week) and an exercise (2 hours per week).
  • Lecture: Mon 14h00 - 15h30, Fri 10h15 - 11h45 via Live-Stream
  • Exercise: Montags after the lecture via Live-Stream
    Start: Nov. 16, 2020

Material for the lecture

  • Website:
  • Slides are available in HTML5 format. You need a recent HTML5-capable browser
  • In Google Chrome, the browser's print function can be used to create a PDF file of the slides
  • The slides might be updated before the lecture (or also shortly afterwards)
  • Two versions of the slides: internal and external
  • The internal slides are more comprehensive
  • To access the internal slides a login is required


  • Register for the exercise groups via the e-learning-plattform ILIAS (from Nov 02, 12h00 till Nov 09, 12h00)
  • Individual submission of assignments (no group work)
  • Tutor: Ibrahim Keser, Sebastian Lieb
  • Content: 80% practical part (programming assignments), and 20% theoretical part (questions)
  • Requirements for certificate/module examination:
    • 50% of the exercise points
    • No more than two exercise sheets not submitted (0 points = not submitted)
    • Regular participation in the exercise class
  • The exercise sheets are made available every Friday around 12h00 on the website for the lecture and on ILIAS
  • Submission of the first exercise sheet on November, 11
  • Submission must occur on every Friday 12h00 by an E-mail (PDF or text) to your tutor

Literature (particularly recommended for this course)

  • John Kessenich, Graham Sellers, and Dave Shreiner. OpenGL Programming Guide, Ninth Edition, ISBN , 2016
  • Randi J. Rost, Bill Licea-Kane. OpenGL Shading Language, Third Edition, ISBN 0321637631, 2010


  • Donal Hearn, M. Pauline Baker, Warren Carithers. Computer Graphics with OpenGL, Forth Edition, ISBN 0136053580, 2010
  • Peter Shirley, Steve Marschner. Fundamentals of Computer Graphics, Third Edition, ISBN 1568814690, 2009
  • Alan Watt, Fabio Policarpo. 3D Games: Real-time Rendering and Software Technology, Third Edition, ISBN: 1568814240, 2008
  • Manfred Brill. Computergrafik, 2. Auflage, ISBN: 3446404341, 2005
  • Randima Fernando, Mark J. Kilgard. The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics, ISBN 0321194969, 2003
  • Hans-Joachim Bungartz , Michael Griebel, Christoph Zenger. Einführung in die Computergraphik, 2. Auflage, ISBN 3528167696, 2002
  • Alan Watt. 3D Computer Graphics, Third Edition, ISBN: 0201398559, 1999
  • Jose L. Encarnacao, Wolfgang Straßer, Reinhard Klein. Graphische Datenverarbeitung, ISBN 3486232231, 1996
  • James D. Foley, Andries VanDam, Steven K. Feiner, John F. Hughes. Computer Graphics: Principles and Practice in C, Second Edition, ISBN 0201848406, 1995

Are there any questions?


Please notify me by e-mail if you have questions, suggestions for improvement, or found typos: Contact

More lecture slides

Slides in German (Folien auf Deutsch)