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

  • Module title: CS 581 (9 credit points)
  • Compulsory elective module in B.Sc. Computer Science, B.Sc. Business Informatics, B.Sc. Data Science
  • Can also be used as an advanced module (maximum 18 CP) in M.Sc. Computer Science, M.Sc. Business Informatics, M.Sc. Data Science, M.Sc. Mathematics with a minor in Computer Science, LAaG Computer Science
  • This module replaces “Graphics Programming I” according to the old examination regulations
  • The module “Image Synthesis” in the summer semester replaces “Graphics Programming II” according to the old examination regulations

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 08h30 - 10h00, Fri 10h15 - 11h45, MZ 6 HS III A3
  • Exercise: Mondays after the lecture, MZ 6 HS III A3
    Start: October 28, 2024

Material for the lecture

  • Website:
  • Slides are available in HTML5 format
  • 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

Exercises

  • Register for the exercise group via the e-learning-plattform ILIAS
  • Tutor: Felix Nitzsche, Mohamed Eldakar
  • The assignments are made available every Friday around 12h00 on ILIAS
  • Content: Ilias-Quizzes, approx. 80% practical part (programming assignments), and 20% theoretical part (questions)
  • The first assignments will be available on October, 25, 2024
  • Submission must occur on every Friday 12h00 (noon)
  • Admission requirements for the exam:
    • Passed 9 out of 11 assignments (passed means ≥ 50%)
    • Important: These rules are strictly enforced (no exceptions / special treatments)

Exam

  • Oral exams
    • Approx. 25 minutes
    • Questions are selected by a random number generator (one question from each chapter)
  • E-exam
    • If there are more than 35 participants, the exam has to be conducted as an e-exam
  • Do not reproduce the exact text from the slides, but try to understand the concept
  • Difficulty of questions is similar to the ones known from the assignments

Literature (particularly recommended for this course)

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

Literature

  • Tomas Akenine-Möller, Eric Haines, Naty Hoffman et al.Real-time Rendering, Forth Edition, ISBN 9781138627000, 2018
  • 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
  • James D. Foley, Andries VanDam, Steven K. Feiner, John F. Hughes. Computer Graphics: Principles and Practice in C, Second Edition, ISBN 0201848406, 1995

Lecture/Tutorial Videos on Shader Programming

Are there any questions?

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)