Module and Programme Catalogue

Search site

Find information on

2019/20 Taught Postgraduate Module Catalogue

COMP5822M High-Performance Graphics

15 creditsClass Size: 40

Module manager: Dr T. Shao

Taught: Semester 2 View Timetable

Year running 2019/20

Pre-requisite qualifications

We will assume a good standard of C++ programming, including use of classes, basic templates, and overloading. Knowledge of computer architecture, in particular the memory hierarchy.


COMP5811MParallel and Concurrent Programming
COMP5812MFoundations of Modelling and Rendering

This module is not approved as an Elective

Module summary

This module follows on from Foundations of Modelling and Rendering by exploring the concepts, algorithms and methods by which visually rich scenes are rendered under realtime constraints by exploiting the features of modern graphics hardware and software systems. The module is organised around key technologies and principles exploited in computer games and other resource-constrained applications. Starting from students’ initial understanding of ideal rendering, the module explores how real-time rendering trades off visual veracity for computational performance.


* understand the architecture of modern graphics hardware and the implications of this for writing high-performance renderers;
* be able to code shaders to implement complex visual effects;
* be familiar with use of textures, lighting, and shading techniques to approximate the surface of materials across a range of scales;
* Understand and be able to implement:
* methods for realtime rendering of global light-material interactions including shadows, refraction, and reflection.
* image-space operations;
* data structures for accelerating rendering and for geometric queries and operations needed in animation and simulation;
* exploiting specialised buffers to implement rich visual effects including ambient occlusion and deep shadows.

Learning outcomes
On completion of this module, students will be able to produce computationally efficient but approximate representations of complex visual phenomena. They will understand the trade-offs between physical realism, perception, and computational cost, and the link between high-performance rendering techniques and current hardware. This understanding will allow them to implement new rendering techniques, and/or to adjust existing methods to changes in hardware.

Skills outcomes
* Shader programming (GLSL).
* Graphics performance profiling.
* Graphics programming in an industry-relevant toolset, e.g. Vulkan


* Shaders: the GPU "Pipeline", buffer objects, vertex and index buffers; shader programming; materials and shading; uber shaders; deferred shading effects; antialiasing
* Texturing: image texturing and storage approaches; mipmapping; procedural textures.
* Surface appearance: transparency, alpha, and compositing; alpha and bump mapping; micro-facets and sub-surface scattering.
* Shadows and environment: shadows; environment mapping & glossy reflections
* Global illumination: reflection, transmission, refraction, caustics; precomputed lighting; real-time global illumination.
* Image-based Techniques: skyboxes, sprites & layers; billboarding;lens flare, bloom, motion blur & fog; volumetric rendering.
* Geometry: subdivision surfaces; tesselation; variable resolution rendering
* Spatial acceleration: BVH: BSP Trees, Octrees; backface, occulusion and portal culling; LOD techniques.
* Buffer-based techniques: deep shadow maps; order independent transparency; defocus / motion blur.

Teaching methods

Delivery typeNumberLength hoursStudent hours
Class tests, exams and assessment155.0055.00
Private study hours65.00
Total Contact hours85.00
Total hours (100hr per 10 credits)150.00

Private study

Parallel/concurrent programming introduces students to new hardware and software concepts that are both complex in themselves, and significantly complicate the task of programming. Of the ~5 hours per week of private study, 2 hours should be dedicated to comprehending the underlying theory through studying material from the modules reading list. The remaining time will be spent carrying out practical programming exercises, both practical sheets and further exercises from the literature as indicated by the module leader.

Opportunities for Formative Feedback

The weekly supervised practical classes will provide feedback on students’ ability to deploy the new concepts covered in that week.

Methods of assessment

Assessment typeNotes% of formal assessment
AssignmentProgramming Task15.00
AssignmentProgramming Task15.00
AssignmentProgramming Task15.00
AssignmentProgramming Task15.00
Total percentage (Assessment Coursework)60.00

The content of the module is strongly driven by computing practice, requiring students to learn how to implement rendering techniques in a high performance setting. Four coursework exercises will develop and assess students competence in these skills, and students will need to demonstrate practical proficiency to achieve more that a basic pass in the module. It is therefore necessary for students to have the ability to resit these assessments. However, while the coursework is staged over four units (a) to spread the workload, and (b) to provide opportunities for feedback, resits will take the form of a single piece of coursework that covers the learning outcomes from the full module.

Exam typeExam duration% of formal assessment
Unseen exam 2 hr 00 mins40.00
Total percentage (Assessment Exams)40.00

Normally resits will be assessed by the same methodology as the first attempt, unless otherwise stated

Reading list

The reading list is available from the Library website

Last updated: 11/06/2019


Browse Other Catalogues

Errors, omissions, failed links etc should be notified to the Catalogue Team.PROD

© Copyright Leeds 2019