Module aims

In this module you will have the opportunity to study core computer graphics concepts, including the mathematical principles used for computer generated imagery, shading and light approximations. You will also learn different geometry representations and modelling techniques and will have the opportunity to apply what you have learnt to practical coputer graphics problems, using modern shader lanaguges and graphics accelerators.

Learning outcomes

Upon successful completion of this module you will be able to:

  • explain the core principles of programmable shading pipelines, such as vertex, fragment, and geometry shading
  • compare and contrast methods for modelling object geometry and surfaces
  • describe polyhedral and ray-based rendering methods evaluate their tradeoffs
  • analyse and deploy fundamental algorithms associated with computer graphics
  • read, explain and adapt graphics existing graphics source code and computer graphics pipeline diagrams
  • design, analyse and implement new software for solving complex computer graphics problems

Module syllabus

  • Device-independent graphics
  • Polygon rendering
  • 3D geometry
  • Texture mapping and anti-aliasing
  • Shading planar polygons
  • Representation of colours
  • Ray Tracing
  • Radiosity
  • Geometric Warping and Morphing
  • Special Visual Effects, e.g. particle systems for fire smoke and water
  • Inverse kinematics in animation
  • Non-photorealistic rendering


COMP40002 Mathematics 1 or equivalent.

Teaching methods

This module focuses on learning through doing. Each week a new topic is introduced in a lecture, followed by hands-on computer-based lab sessions, formative self-study tasks and assessed coursework exercises. These are wll designed to help you put computer graphics principles into practice.

Algorithms and principles are made concrete by working with real software. You will implement different rendering algorithms and experience the pros and cons of each approach. You will complete three assessed coursework exercises on your own and you are free to explore a number of voluntary practical problem tasks in small groups which will allow you to develop your ideas in discussion with colleagues, and learn from one another.

Support will given by the module leader, Graduate Teaching Assistants (GTAs), and through a computer graphics framework specially designed for this module that lets you explore modern, shader-based graphics programming. Lab sessions are supervised allowing you to get further advice and feedback from experts.

As the module progresses you will build up a set of techniques, and will use them to work with graphics algorithms of increasing size and complexity.

The Piazza Q&A web service will be used as an open online discussion forum for the module.


There will be three assessed exercises, which are small, focused, practical, computer-based exercises, undertaken as individuals. In total these exercises count for 20% of the marks for the module. Weekly voluntary exercises give the opportunity for weekly feedback to help you to improve your shader programming skills. There will be a final written exam,which will test both theoretical and practical aspects of the subject. This exam counts for the remaining 80% of the marks for the module.

Feedback for the assessed exercises is provided by written feedback. The supervised lab sessions also provide an opportunity for you to receive verbal feedback as you work through the exercises.      

Reading list

Module leaders

Dr Abhijeet Ghosh
Dr Bernhard Kainz