Prerequisite/Recommended prerequisite for
participation in the module
Introduction to Programming (1st semester), Mathematics for
Multimedia Applications (2nd semester), Image Processing (3rd
semester) and Procedural Programming (3rd semester)
Content, progress and pedagogy of the
module
Learning objectives
Knowledge
Students who complete the module will obtain the following
qualifications:
- Knowledge of the programmable,
hardware-accelerated graphics rendering pipeline as exposed for
example by OpenGL
- Understanding of rotations of 3D space and
their different mathematical representations: matrix, axis/angle,
quaternion
- Understanding of homogeneous coordinates and
the matrix representation of translations
- Understanding of the mathematical
transformations involved in creating 2D projections from 3D
models
- Understanding of interpolation with Bezier
curves and splines
- Understanding of the interpolation of vertex
attributes such as colors (for Goraud Shading), normals (for per
pixel lighting) and texture coordinates (for texture mapping)
- Understanding of real-time local illumination
models, in particular the Phong reflection model including the use
of the halfway vector
- Understanding of texture mapping including
compositing of multiple textures, normal maps,
environment/reflection maps and shadow maps
- Knowledge of framebuffer operations including
blending, stencil tests and depth tests
- Knowledge of acceleration techniques such as
viewport culling, back face culling, occlusion culling and deferred
rendering
- Knowledge of techniques to improve image
quality such as antialiasing by super sampling and anisotropic
mipmap texture filtering
Skills
Students who complete the module will obtain the following
qualifications:
- Ability to apply a graphics API such as OpenGL
and GLUT for procedurally generating and interactively controlling
three-dimensional content
- Ability to apply simple vertex and fragment
shaders (e.g. implementing per-vertex diffuse lighting and normal
mapping)
- Ability to apply a graphics application that
imports two-dimensional and three-dimensional content (such as
textures and meshes) from a modeling tool (such as Blender, 3ds Max
or Maya)
- Ability to analyse the design and
implementation of interactive graphical applications with personnel
of different professional backgrounds (such as artists, designers,
programmers etc.)
Competences
Students who complete the module will obtain the following
qualifications:
- Ability to synthesize an interactive graphical
application and to choose appropriate frameworks and APIs (OpenGL,
scene graph, game engine etc.)
- Ability to learn further graphics APIs (such as Direct3D,
OpenGL ES, SVG, X3D and canvas graphics in HTML5), game engines and
APIs for user interaction (application)
Type of instruction
Refer to the overview of instruction types listed in the start
of chapter 3. The types of instruction for this course are decided
in accordance with the current Framework Provisions and directions
are decided and given by the Study Board for Media Technology.
Exam
Exams
Name of exam | Computer Graphics Programming |
Type of exam | Written or oral exam
In accordance with the current Framework Provisions and directions
on examination from the Study Board for Media Technology:
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
Note that if admittance to the exam or parts of the assessment is
to be based on written work or ex-ercises, a deadline is stipulated
for when the work must be handed in. If the student hands in a
pa-pers/exercises after the deadline, the student has used an
examination attempt.
The exam Individual oral or written examination with internal
censor. The assessment is performed in accordance with the 7-point
scale. |
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 for the evaluation are specified in the Framework
Provisions. |