Prerequisite/Recommended prerequisite for
participation in the module
The module builds upon basic knowledge of linear algebra
Content, progress and pedagogy of the
The course provides an introduction to real-time computer
graphics concepts and techniques. The course focuses on
programmable functionalities as offered by graphics APIs,
supplemented with a presentation of the relevant underlying
theories. The course also introduces the concepts of Virtual
Reality and Augmented Reality, and how computer graphics is used in
the context of these application areas.
- Must be able to describe the programmable graphics rendering
pipeline as exposed for example by OpenGL.
- Must be able to explain relevant mathematical transformations,
including rotations, translations and projections in terms of
matrix operations in homogeneous coordinates.
- Must be able to explain real-time local illumination models, in
particular the Phong reflection model, including the use of
linearly interpolated attributes (colors and surface normals.)
- Must be able to explain rasterization techniques, including
texture mapping (diffuse reflection maps, gloss maps,
environment/reflection maps), framebuffer operations (blending,
stencil tests, depth tests), and anti-aliasing techniques
(super-sampling, mip-map texture filtering).
- Must be able to describe interpolation with Bezier and Hermite
- Must be able to describe the concepts of Virtual Reality and
Augmented Reality, including relevant display technologies.
- Must be able to discuss central issues relating to Virtual and
Augmented Reality, including tracking, interaction possibilities,
and degrees of realism.
- Must be able to apply a graphics API such as OpenGL for
procedurally generating and interactively controlling
- Must be able to program simple vertex and fragment shaders
(e.g. implementing per-vertex diffuse lighting and normal
- Must be able to learn further graphics APIs (such as Direct3D,
OpenGL ES, SVG, X3D, webGL in HTML5), game engines and APIs for