2020/21 Taught Postgraduate Module Catalogue
COMP5822M High-Performance Graphics
15 creditsClass Size: 40
Module manager: Prof Hamish Carr
Email: H.Carr@leeds.ac.uk
Taught: Semester 2 (Jan to Jun) View Timetable
Year running 2020/21
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.Co-requisites
COMP5812M | Foundations 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.Objectives
* 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
Syllabus
* 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 type | Number | Length hours | Student hours |
Class tests, exams and assessment | 1 | 55.00 | 55.00 |
Lecture | 20 | 1.00 | 20.00 |
Practical | 10 | 10.00 | 10.00 |
Private study hours | 65.00 | ||
Total Contact hours | 85.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
Coursework
Assessment type | Notes | % of formal assessment |
In-course Assessment | Programming Task | 15.00 |
In-course Assessment | Programming Task | 15.00 |
In-course Assessment | Programming Task | 15.00 |
In-course Assessment | Programming Task | 15.00 |
Total percentage (Assessment Coursework) | 60.00 |
This module will be reassessed by an online time-constrained assessment
Exams
Exam type | Exam duration | % of formal assessment |
Online Time-Limited assessment | 48 hr | 40.00 |
Total percentage (Assessment Exams) | 40.00 |
This module will be reassessed by an online time-constrained assessment
Reading list
The reading list is available from the Library websiteLast updated: 21/06/2021
Browse Other Catalogues
- Undergraduate module catalogue
- Taught Postgraduate module catalogue
- Undergraduate programme catalogue
- Taught Postgraduate programme catalogue
Errors, omissions, failed links etc should be notified to the Catalogue Team.PROD