CS3S664 - Real-time Rendering Techniques 01 Jul 2022 - 31 Aug 2028 | Version 4

Associated Module Information

Module Code: CS3S664
Module Title: Real-time Rendering Techniques
Faculty: Faculty of Computing, Engineering and Science
Faculty Group: Computing and Mathematical Sciences
Faculty Sub Group: Computer Science
Module Leader: Carl Jones
Module Team: Christopher Tubb
First Intended Intake: SEP 2017 Final Year of Intake:
Date Closed:
Credit Value: 20 Credit Level: 6
Language: English
Percentage of Module Taught in Welsh: 0
Equivalent Module:
HECOS codes: 100366 - computer science
HECOS Code Weighting: 100

Document Version Information

Version 4
Valid From 01 Jul 2022
Valid To 31 Aug 2028

Module Aims

To introduce students to Graphics Processing Unit (GPU) programming techniques used to render effects in real-time

To enable the student to monitor and critically evaluate the performance of GPU-based algorithms

To enable the student to read and understand the graphics literature in order to build on their knowledge gained in this module

Content Summary

Rasterisation and the advantages and disadvantages compared to other approaches to rendering

Modern GPU architectures and the programmable rendering pipeline

Shader APIs

Vertex and fragment shaders for basic animation and lighting effects

Data flow through the rendering pipeline

Representing image and texture data

Texture lookup including point, bi-linear and tri-linear sampling, super-sampling, multi-sampling and anisotropic filtering

Multi-pass rendering and multi-render targets

Rendering effects using the GPU including anti-aliasing, glow, water, foliage, depth of field, shadows, anti-aliasing, lighting / reflection effects and particle systems

Geometry shaders, tessellation shaders and compute shaders

View-frustum culling

Storing, streaming and rendering large-scale terrains in real-time

Monitoring performance using frames-per-second (FPS) and seconds-per-frame (SPF) and the inherent problems of the non-linearity of the frames-per-second approach

Tools for the development, debugging and performance analysis of shader code

Learning and Teaching Methods

Activity Type Hours
Lecture 24
Practical classes and workshops 24
Independent Study 80
Directed Study 72
Total Hours Selected 200

Learning Outcomes

# Learning Outcome
LO1 To be able to analyse and critically evaluate techniques used to render 3D scenes in real-time
LO2 To design, implement and evaluate GPU shaders in order to render effects in real-time

Module Requisites

N/A

Assessment Criteria

Assessment Category Assessment Type Description Duration Word Count Weight (%) Best of? Pass Mark
Asynchronous Assessment Practical Written Work 2 Implement and critically evaluate the performance of a given real-time rendering technique 0 1000 40 No 40
Asynchronous Assessment Practical Written Work 1 Apply techniques to render a 3D scene at interactive frame-rates 0 1500 60 No 40

Assessment Matrix

Assessment Type Learning Outcomes
LO1 LO2
Practical Written Work 2
Practical Written Work 1

Reading List

Luna, F., “Introduction to 3D Game Programming with DirectX 11”. Mercury Learning and Information. 2012. ISBN-10: 1936420228; ISBN-13: 978-1936420223

Varcholik, P., “Real-Time 3D Rendering with DirectX and HLSL: A Practical Guide to Graphics Programming”. 1st Edition. Addison Wesley. 2014. ISBN-10: 0321962729; ISBN-13: 978-0321962720

Zink, J, et al. “Practical Rendering and Computation with Direct3D 11”. 1st Edition. CRC Press. 2011. ISBN-10: 1568817207; ISBN-13: 978-1568817200

Moller, T. A., Haines, E., “Real-Time Rendering”. 3rd Edition. AK Peters / CRC Press. 2008. ISBN-10: 1568814240; ISBN-13: 978-1568814247

Lengyel, E., “Mathematics for 3D Game Programming and Computer Graphics”. 3rd Edition. Delmar Cengage Learning. 2011. ISBN-10: 1435458869; ISBN-13: 978-1435458864