Prerequisite/Recommended prerequisite for
participation in the module
The module builds upon knowledge optained in the modules
Introduction to Programming, Mathematics for Multimedia
Applications, Image Processing, and Programming of Complex Software
Systems.
Content, progress and pedagogy of the
module
Objectives:
The course provides an introduction to real-time computer
graphics concepts and techniques. The focus is on programmable
functionalities (i.e., shader programs) of modern Graphics
Programming Units (GPUs) as offered by graphics APIs such as
OpenGL. It also covers the relevant underlying mathematical
concepts (e.g., transformations between coordinate systems) and
mathematical models (e.g., Phong’s reflection model), as well as
how these are applied in GPU-based shader programs.
Learning objectives
Knowledge
Students who complete the module will obtain the following
qualifications:
- Ability to describe the programmable, hardware-accelerated
graphics rendering pipeline as exposed, for example, by OpenGL, and
its relationship and interaction with the central processing unit
(knowledge)
- Ability to describe the concepts of vector bases, vector
spaces, and coordinate systems as well as transformations between
them (application)
- Ability to describe the mathematical representation of any
rotation of 3D space by a matrix, by an axis and an angle, and by a
quaternion (application)
- Ability to explain the computation of quadratic Bezier curves
and splines (application)
- Ability to describe the interpolation of vertex attributes such
as colors (e.g., for pre-vertex lighting), normals (e.g., for
per-pixel lighting), and texture coordinates
(knowledge)
- Ability to describe framebuffer operations including blending
and depth tests (knowledge)
- Ability to explain acceleration techniques such as viewport
clipping and backface culling
(understanding)
- Ability to explain techniques to improve image quality such as
antialiasing by supersampling and mipmap texture filtering
(understanding)
- Ability to explain common performance bottlenecks of GPUs –
including GPUs for mobile devices
(understanding)
Skills
Students who complete the module will obtain the following
qualifications:
- Ability to describe the 4x4 matrix representation and
application of any 3D affine transformation in homogeneous
coordinates and apply it in a GPU-based shader program
(application)
- Ability to describe real-time local illumination models, in
particular the Phong reflection model and apply them in a GPU-based
shader program (application)
- Ability to explain texture mapping techniques including
compositing of multiple textures, normal mapping,
environment/reflection mapping, and shadow mapping and apply them
in a GPU-based shader program
(application)
Competences
Students who complete the module will obtain the following
qualifications:
- Ability to create a program for procedurally generating and
interactively controlling and rendering three-dimensional content
(application)
Type of instruction
Refer to the overview of instruction types listed in § 17.
Exam
Prerequisite for enrollment for the exam
- To be eligible to take the exam the student must have
fulfilled:
• handing in of written assignments or the like
• completion of certain – or all – study activities
Exams
Name of exam | Computer Graphics Programming |
Type of exam | Written or oral exam
Note that if admittance to the exam or parts of the assessment is
to be based on written work or exercises, a deadline is stipulated
for when the work must be handed in. |
ECTS | 5 |
Permitted aids | With certain aids:
See semester description |
Assessment | 7-point grading scale |
Type of grading | Internal examination |
Criteria of assessment | The criteria of assessment are stated in the Examination
Policies and Procedures |