CU5064 - Shaders and Graphics Programming (2025/26)
Module specification | Module approved to run in 2025/26 | ||||||||||
Module title | Shaders and Graphics Programming | ||||||||||
Module level | Intermediate (05) | ||||||||||
Credit rating for module | 15 | ||||||||||
School | School of Computing and Digital Media | ||||||||||
Total study hours | 150 | ||||||||||
|
|||||||||||
Assessment components |
|
||||||||||
Running in 2025/26 (Please note that module timeslots are subject to change) |
|
Module summary
Students will gain an overview of the physical processes of graphics/image enhancement and processing, as well as an understanding of the software framework necessary to produce graphics/images and shaders including for mobile devices.
AIMS
- enable students to understand the 2D/3D graphics API, the processes of computer graphics programming, storage, and visualisation of graphics/images on various display devices;
- develop communication and practical skills with particular reference to graphics programming and image processing, as well as their visualisation;
- design and implement mathematical concepts and programming structures as well as algorithms in the area of graphics and image processing;
Syllabus
- Introductory survey of graphics APIs (focusing on OpenGL/OpenGL ES) and issues for different platforms (Win/Mac), achieving device independence;
- Graphics hardware and software;
- 2D/3D mathematical models;
- Using models and relevant algorithms to create and display computer graphics objects;
- 2D/3D representations and transformations. Use of matrices and homogeneous co-ordinates, surface normals and shading;
- Cameras, 2D/3D viewing, clipping planes, viewing volume, viewing transformations;
- Colour and colour rendering, lights and attributes/properties of materials/textures and shaders;
- Creating controls (interactivity) to manipulate computer graphics objects;
- Loading data - take apart and reload an .FBX file
Balance of independent study and scheduled teaching activity
Students will develop theoretical understanding and practical skills based on weekly lectures, tutorials and supervised workshops. The workshops, in particular, are provided to enable group discussions and give opportunities for teamwork experience and practical support.
Appropriate blended learning approaches and technologies, such as the University’s VLE and online tools, will be used to facilitate and support student learning to:
• deliver content;
• encourage active learning;
• provide formative and summative assessments, and prompt feedback;
• enhance student engagement and learning experience.
Learning outcomes
On successful completion of this module students will be able to:
1: Understand the concept of the graphics API, such as OpenGL.
2: Write code to build a 2D/3D computer graphics scene composed from simple graphical objects and apply geometric transformations to the objects in the scene.
3: Write code to read, load, apply shaders/textures and render to screen.
4: Demonstrate ability to process images on screen for enhancement and recognition.