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 qualificationsWe 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.
|COMP5811M||Parallel and Concurrent Programming|
|COMP5812M||Foundations of Modelling and Rendering|
This module is not approved as an Elective
Module summaryThis 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.
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.
* 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.
|Delivery type||Number||Length hours||Student hours|
|Class tests, exams and assessment||1||55.00||55.00|
|Private study hours||65.00|
|Total Contact hours||85.00|
|Total hours (100hr per 10 credits)||150.00|
Private studyParallel/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 FeedbackThe weekly supervised practical classes will provide feedback on students’ ability to deploy the new concepts covered in that week.
Methods of assessment
|Assessment type||Notes||% of formal assessment|
|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 type||Exam duration||% of formal assessment|
|Unseen exam||2 hr 00 mins||40.00|
|Total percentage (Assessment Exams)||40.00|
Normally resits will be assessed by the same methodology as the first attempt, unless otherwise stated
Reading listThe reading list is available from the Library website
Last updated: 11/06/2019
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