Computer Graphics - 2015/16

The course description outlines the context, syllabus and activities. You will find course prerequisites and course recommended texts there too.

The course covers the fundamental algorithms associated with line drawing, polygonal decriptions for 3D objects, curve and surface representation, object transformations and viewing transformations and projections, shading and illumination techniques.


  • Students are assumed to have basic mathematical knowledge, specifically matrix and vector algebra.
  • Coursework will assume knowledge of programming in C++, and will require you to learn a C style language (GLSL). If you are not comfortable with this it is strongly advised not to take the course.

Lecture series:

Probable timetable for lectures. Ordering of topics may change. Lectures take place Tuesday and Friday, 11:10am-12:00pm in Lecture Theatre 1, 7 Bristo Square, starting with the first lecture on Tuesday 22nd September. Zone: Central.

Lecture slides are being updated, new slides will be posted in advance of the lectures.

  • Lecture 1, 22/9/2015 - Introduction, object representations PDF
  • Lecture 2, 25/9/2015 - Illumination and shading PDF updated. Phong illumination, Flat shading, Phong shading examples.
  • Lecture 3, 29/9/2015 - Transformations PDF updated
  • Lecture 4, 2/10/2015 - OpenGL PDF updated
  • Lecture 5, 6/10/2015 - View transformation PDF
  • Lecture 6, 9/10/2015 - Rasterisation PDF
  • Lecture 7, 13/10/2015 - Texture mapping and antialiasing PDF
  • Lecture 8, 16/10/2015 - Environment mapping PDF
  • Lecture 9, 20/10/2015 - Shadows PDF
  • Lecture 10, 23/10/2015 - Ray tracing PDF
  • Lecture 11, 3/11/2015 - Hidden surface removal and transparency PDF
  • Lecture 12, 6/11/2015 - Global illumination (1) PDF
  • Lecture 13, 10/11/2015 - Global illumination (2) PDF
  • Lecture 14, 13/11/2015 - Curves and surfaces (1) PDF
  • Lecture 15, 17/11/2015 - Curves and surfaces (2) PDF

Extra materials:


There are two coursework submissions, one from each of the two sections of the course. Both exercises will be programmed in C++, in an OpenGL framework that will be provided. The first coursework will also requiring programming in OpenGL shading language (GLSL). A framework will be provided that handles all OpenGL API calls, and renders output on the screen. You will need to provide extra code that performs the specified functions. This will not require knowledge of OpenGL APIs.

Start dates are: Coursework 1 - 2/10/15, Coursework 2 - 30/10/15. Deadlines are 4pm on 23/10/15 and 4pm on 20/11/15 respectively. Assignments will be sent by email and uploaded to this page when they are set. All work is submitted electronically using the Informatics generic electronic submission procedure.

submit cg {1|2} file1, file2, etc.
- or -
submit cg {1|2} directory - to give the directory name to submit (submits all below it, so be careful).

The program must be compiled and run on DICE, and you must submit your work through the above route. Work will not be accepted otherwise. DICE machines running Scientific Linux 7 can be found in the Drill Hall computer room in Forrest Hill.

Coursework 1

Deadline 4pm 23rd October 2015. Coursework 1 can be downloaded here. Instructions for the coursework are included and are also available to download. To uncompress the coursework on DICE Linux use:

tar xzf cw1.tgz


The submitted coursework will be evaluated based on the correctness of the implementation, quality of the rendered results and the description about the work. The algorithmic mistakes will be pointed out, which may be useful for further implementation and when answering related questions in the final exam. Feedback on coursework will be provided within two weeks of the submission date. Formative feedback will be provided verbally as a result of discussions during lectures.

Relevant books available online

These books are currently available digitally through the library, search for the title here.

Useful links

Tom Thorne
Last updated 1/10/15

Home : Teaching : Courses 

Informatics Forum, 10 Crichton Street, Edinburgh, EH8 9AB, Scotland, UK
Tel: +44 131 651 5661, Fax: +44 131 651 1426, E-mail:
Please contact our webadmin with any comments or corrections. Logging and Cookies
Unless explicitly stated otherwise, all material is copyright © The University of Edinburgh