Computer Graphics - 2016/17

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 20th September. Zone: Central.

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

Please note schedule has been updated.

  • Lecture 1, 20/9/2016 - Introduction, graphics pipeline PDF
  • Lecture 2, 23/9/2016 - Object representations PDF. Polygon meshes, face and vertex normals.
  • Lecture 3, 27/9/2016 - Transformations PDF
  • Lecture 4, 30/9/2016 - Illumination and shading PDF . Phong illumination, Flat shading, Phong shading examples.
  • Lecture 5, 4/10/2016 - View Transformation and Clipping PDF
  • Lecture 6, 7/10/2016 - Tutorial for the first assignment at Forrest Hill 1.B31 Description about the course work
  • Lecture 7, 11/10/2016 - Rasterisation PDF
  • Lecture 8, 14/10/2016 - Antialiasing, Texture Mapping PDF
  • Lecture 9, 18/10/2016 - Environment Mapping, Mirroring PDF
  • Lecture 10, 21/10/2016 - Shadows PDF
  • Lecture 11, 25/10/2016 - Hidden Surface Removal / Transparency PDF
  • Lecture 12, 28/10/2016 - Ray Tracing PDF
  • Lecture 13, 1/11/2016 - Bump mapping and Global Illumination PDF
  • Lecture 14, 4/11/2016 - Tutorial for the second assignment at Forrest Hill 1.B31 PDF
  • Lecture 15, 8/11/2016 - Global Illumination 2 PDF
  • Lecture 16, 11/11/2016 - Curves and Surfaces 1 PDF
  • Lecture 17, 15/11/2016 - Curves and Surfaces 2 PDF
  • Lecture 18, 18/11/2016 - Review 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/16, Coursework 2 - 30/10/16. Deadlines are 4pm on 24/10/16 and 4pm on 21/11/16 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 24th October 2016. 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

Coursework 2

Deadline 4pm 23rd November 2016. Coursework 2 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 cw2.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

Taku KOmura
Last updated 16/9/16

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