Skip to navigation | Skip to main content | Skip to footer

COMP20072: Computer Graphics (2008-2009)

This is an archived syllabus from 2008-2009

Computer Graphics
Level: 2
Credit rating: 10
Pre-requisites: COMP20021 or C programming
Co-requisites: No Co-requisites
Duration: 11 weeks in second semester
Lectures: 22 in total, 2 per week
Examples classes: None but assistance available in lab sessions
Labs: 10 hours in total, 5 2-hour sessions, partly credited to COMP20910/COMP20920
Lecturers: Toby Howard
Course lecturer: Toby Howard

Additional staff: view all staff
Sem 2 w19-26,30-33 Lecture 1.1 Wed 12:00 - 13:00 -
Sem 2 w19-26,30-33 Lecture CRAW TH.1 Mon 14:00 - 15:00 -
Sem 2 w20,22,24,26,31,33 Examples LAMB LambLab Mon 09:00 - 10:00 G
Sem 2 w20,22,24,26,31,33 Examples LAMB LambLab Fri 11:00 - 12:00 F
Sem 2 w21,23,25,30,32 Lab LAMB LambLab Wed 09:00 - 11:00 G
Sem 2 w21,23,25,30,32 Lab LAMB LambLab Tue 09:00 - 11:00 F
Sem 2 w21,23,25,30,32 Lab LAMB LambLab :00 - 2:00 H
Assessment Breakdown
Exam: 80%
Coursework: 0%
Lab: 20%
Degrees for which this unit is optional
  • Artificial Intelligence BSc (Hons)


This Course Unit introduces students to the theory and practice of Interactive Computer Graphics. Its principal aim is to teach the fundamental principles of two- and three-dimensional Interactive Computer Graphics. OpenGL is used as the platform for practical C programming exercises, and as an example of a system which incorporates many of the fundamental ideas and algorithms of modern computer graphics.

Learning Outcomes

A student completing this course unit should:

Have a knowledge and understanding of the structure of an interactive computer graphics system, and the separation of system components. (A)
Have a knowledge and understanding of geometrical transformations and 3D viewing. (A)
Be able to create interactive graphics applications. (B)
To use OpenGL to perform item (3), above. (C)
Have a knowledge and understanding of techniques for representing 3D geometrical objects. (A)
Have a knowledge and understanding of interaction techniques. (A)
Have a knowledge and understanding of the fundamental principles of local and global illumination models. (A)

Assessment of Learning outcomes

Outcomes 5 and 7 are assessed by examination. Outcomes 1, 2, and 6 are assessed by examination and in the laboratory. Outcomes 3 and 4 are assessed in the laboratory.

Contribution to Programme Learning Outcomes

A1, A2, A5, B1, B2, C5, D5.


Introduction to interactive computer graphics (1)

Examples of application areas; a reference model for a computer graphic system.

Graphics hardware (1)

Raster display systems; introduction to the 3D graphics pipeline; the Z Buffer for hidden surface removal.

Introduction to the rendering process with OpenGL (1)

The role of OpenGL in the reference model; coordinate systems; viewing using a synthetic camera; output primitives and attributes.

Geometrical transformations (3)

3D transformations; matrix representation; homogeneous coordinates; combination of transformations.

Interaction (1)

Events and callbacks; input in GLUT

Scan-converting lines and polygons (1)

Representing 3D objects (1)

Modelling using polygons; techniques for creating representational polygonal meshes; non-polygonal representations.

Curves and Surfaces (2)

Bezier representations; quadrics and superquadrics; patches and meshes.

Images (2)

Colour in Computer graphics; RGB; CIE; Image formats and their applications: GIF, JPG, PNG.

Viewing (2)

Using the camera model for viewing 3D scenes; perspective and other types of projection; viewing in OpenGL.

A local illumination model (5)

Types of light source; reflectance models: diffuse (Lambert) and specular (Phong); Gouraud and Phong interpolation; lighting and shading in OpenGL; textures.

Application modelling (2)

Distinction between modelling and graphics; immediate mode versus retained mode; model storage strategies; the matrix stacks; OpenGL display lists: traversal; hierarchical data storage; instancing; how the concepts are realised in specific systems: OpenGL, VRML, Java3D.