GPU Programming and real-time rendering module (CS51012)

Credits
20
Module code
CS51012
Level
5
Semester
Semester 1
School
School of Science and Engineering
Discipline
Computing

Semester: 1

Organisation

The Module Co-ordinator is

If you want to talk about an aspect of the module or your work on it, please make an appointment to see the lecturer.

If you use email, please include "CS51012" in the heading.

About the module

The unit covers three-dimensional, interactive, colour computer graphics.

The two main aims of the unit are:

  • To study the algorithms that underpin modern computer graphics.
  • To provide practical experience in rendering computer-generated images in real-time and introducing parallel programming using a GPU.

The unit begins by looking at environments for writing modern graphics code and understanding how to create and render basic scenes. The theory of the graphics pipeline and shader coding is discussed at an early stage and revisited throughout the module with an emphasis on relating theory to practical examples. Some elementary theory from co-ordinate geometry is reviewed in order to understand more complex computer graphics algorithms that are used later. We then examine three-dimensional, colour and interactive graphics, along with animation techniques. The second half of the module will build on the cores skills to introduce a variety of more advanced graphical programming techniques and finally look at parallel programming with Compute shaders.

As each topic is addressed, the underlying algorithms will be discussed, and their practical implementation will be described with practical programming experience through labs and assignments. A major objective of the unit is to provide students with first-hand experience of modern graphics programming.

Module timetable

Week Subject
1  
2  
3  
4 Graphics programming environments, OpenGL and our first graphics programs
5 The graphics pipeline, GPU shaders, vectors, matrices
6 Transformations and projections
7 Colour, lighting and shading
8 Textures, depth buffer, blending, antialiasing, fog
9 Procedural graphics generation, L-systems, fractal surfaces, noise
10 Real-time GPU Programming and shadow casting
11 Parallel programming and Compute Shaders

Assessment and Coursework

Coursework counts for 60% of the final module mark.
There will be an final Examination that counts for 40% of the final module mark.

Assignments

Marking criteria are provided on My Dundee for all assignments so that you know what we are looking for when we are marking your coursework. Please ensure that you refer to these when completing assignments.

Title Week Given Week Due Effort Expected (hours) Value (%)
Programming assignment 7 11 25 30

Resources

All course material is available on My Dundee. This includes copies of lecture materials, practical exercises, and assignments. The reading list for this module can be accessed from My Dundee and provides recommended materials for completing the module.

 

Courses

This module is available on the following courses: