Module Information

Module Identifier
Module Title
Advanced Computer Graphics
Academic Year
Semester 1
External Examiners
  • Dr Hong Wei (Associate Professor - University of Reading)
Other Staff

Course Delivery

Delivery Type Delivery length / details
Practical 9 x 2 Hour Practicals
Lecture 33 x 1 Hour Lectures


Assessment Type Assessment length / details Proportion
Semester Assessment Written assignment  50%
Semester Exam 2 Hours   Written Exam  50%
Supplementary Exam 2 Hours   supplementary exam  50%

Learning Outcomes

On successful completion of this module students should be able to:

1. Select and deploy appropriate algorithms, programming languages and libraries behind 3D computer graphics.

2. Describe and apply the main concepts behind 3 dimensional graphics software libraries.

3. Demonstrate an awareness of the variety of hardware and software technologies that allow the creation of graphics applications.

4. Use vectors and matrices to perform 3-D transformations, including perspective and lighting transformations.

5. Describe and critique different lighting models and rendering techniques.

6. Describe and critique algorithms for modeling a variety of objects / visual phenomena.

Brief description

This course provides students with an understanding of the theoretical foundations of computer graphics and practical 3D graphics programming skills


This module provides the basis for computer graphics, allowing students to start work in the area of computer graphics. Students are introduced to topics that include:
  • The underlying mathematics of 3-dimensional graphics modeling and display techniques
  • 3-dimensional geometric coordinate transforms
  • Lighting models including local and global illumination techniques
  • Interactive graphics programming


1. Introduction: Course outline, recommended reading / resources, overview of 3D graphics, overview of WebGL. Practical - Introduction to WebGL (2 lecture + 1 practical).
2. Core mathematics for 3D graphics: Trigonometry, matrix and vector algebra. Basic 3D transformations, matrix representation and homogeneous coordinates. Composite transforms. Clipping and z-buffer hidden surface removal. Practical - transforms in WebGL (3 lectures + 1 practical).
3. Lighting and Shading: Reflection models (ambient, diffuse, specular), light types (directional, point, cone), coloured lights, multiple lights, light attenuation. Practical - lighting in WebGL ( 2 lectures + 1 practical).
4. Texture mapping: Wrapping, sampling, interpolation and anti-aliasing. Problems including perspective distortion, orientation dependence, shared vertices. Practical - texture mapping in WebGL (2 lectures + 1 practical).
5. Buffers in WebGL: render buffer, depth buffer, stencil buffer, frame buffer, usage and setting for each and example algorithms / applications discussed. Practical - using WebGL buffers (1 lecture + 1 practical).
6. Color and depth: perception of colour, colour spaces, colour display. Alternative hidden surface removal algorithms for e.g. transparency sorting, Painter's algorithm, BSP trees etc. Practical - linked object modeling and animation in WebGL (1) (3 lectures + 1 practical).
7. Advanced modeling: modeling/ rendering of difficult objects such as fur, plants, fire including the use of L-systems and particle systems. Practical - linked object modeling and animation in WebGL (2) (3 lectures + 1 practical).
8. Ray-tracing: ray-generation, ray-surface intersection, recursive ray tracing. Practical - WebGL particle systems (1) (2 lectures + 1 practical).
9. Revision lecture (2 lectures).

Module Skills

Skills Type Skills details
Application of Number Yes, computer graphics involves a lot of maths (vectors, matrices etc).
Communication Communication skills in presenting / preparing presentation slides. Written reports on lab exercises (lab book).
Improving own Learning and Performance Class test designed as way of highlighting the students own learning / deficiencies in knowledge.
Information Technology All work is IT related (web, graphics etc). Also use of powerpoint or similar and word processing for reports.
Personal Development and Career planning Practical exercises can be used as the basis for a portfolio of graphics programming work.
Problem solving Solving problems in development of algorithms and code structure for graphics
Research skills Reading around subject, proper citations etc. in practical reports.
Subject Specific Skills Graphics programming using WebGL.


This module is at CQFW Level 6