Skip to main content

Computer Graphics:  2023-2024

Lecturer

Degrees

Schedule A2(CS&P)Computer Science and Philosophy

Schedule B1 (CS&P)Computer Science and Philosophy

Schedule A2Computer Science

Schedule B1Computer Science

Schedule A2(M&CS)Mathematics and Computer Science

Schedule B1(M&CS)Mathematics and Computer Science

Term

Overview

This course is an introductory course in Computer Graphics, and will describe mathematical tools for reasoning about displaying 2D and 3D geometric objects that are stored in a variety of data structures (covered separately in Geometric Modelling). The focus will be on display challenges and techniques for achieving satisfactory representations. Candidates may take Computer Graphics either before or after taking Geometric Modelling as the two have been designed to complement each other. There is no expectation to take both courses.

Learning outcomes

The lectures give an introduction to direct applications of vector calculus in viewing and illuminating 3D objects in a variety of styles (wireframe, facets, etc). Algebraic manipulation of 3D and 4D matrices leads to transformations that are applied to graphical scenes in order to make them appear to move or be viewed from different angles. Different ways of representing colours and intensities are looked at, together with conversion between these. 

The classes reinforce this knowledge through pen and paper calculational questions about the schemes studied, illustrating numerical manipulation that can be expected in an examination setting. 

More complex numerical manipulation is covered in practicals, where the heavy number crunching is used to achieve aesthetic effects. All practicals deal with simple spherical objects, but are open ended, allowing the students to create more realistic scenes.

Synopsis

The course materials will be published online as the course progresses

The following topics will covered, not necessarily in this order

  • Raster Images
  • Basic Transformations, Transformation Matrices
  • Relative Positions of Objects (vector algebra)
  • Looking through a Camera 
  • Projections (parallel, orthographic)
  • The Graphics Pipeline
  • Wireframe Rendering, Facet Rendering, Ray-traced Rendering 
  • Colour schemes 
  • Texture mapping, real world materials
  • Shaders 
  • Quaternions
  • Articulated objects

 

Syllabus

Examinable topics

  • Raster Images
  • Basic Transformations, Transformation Matrices
  • Relative Positions of Objects (vector algebra)
  • Looking through a Camera 
  • Projections (parallel, orthographic)
  • The Graphics Pipeline
  • Wireframe Rendering, Facet Rendering, Ray-traced Rendering 
  • Colour schemes 
  • Texture mapping, real world materials
  • Shaders 
  • Quaternions
  • Articulated objects

Reading list

The main course text (referred to in each set of lecture notes) is

  • Fundamentals of Computer Graphics by Peter Shirley et al., CRC Press (2009), ISBN 978-1568814698 

Other concepts, such as quaternions and kinematic chains, can be studied using 

  • 3D Math Primer for Graphics and Game Development by Fletcher Dunn and Ian Parberry, CRC Press (2011)
  • Computer Animation: Algorithms and Techniques by Rick Parent, Newnes (2012)

Online book

Supplemental Reading. Books you are likely to find in college libraries 

  • Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL by Shreiner and Angel, Pearson Education ISBN 978-0273752264
  • Computer Graphics: Principles and Practice by Foley, Van Dam, Feiner, & Hughes, Addison-Wesley  ISBN 0201848406
  • Mathematics for Computer Graphics by John Vince, ISBN 1849960224
  • Real-time Rendering Akenine-Möller, T., Haines, E., & Hoffman, N. (2019). CRC Press, ISBN 978-1138627000
  • Global Illumination Compendium by Philip Dutre (websource: https://people.cs.kuleuven.be/~philip.dutre/GI/
  • Computer Graphics with OpenGL by Hearn, Baker and Carithers, ISBN 978-0132484572

 

Feedback

Students are formally asked for feedback at the end of the course. Students can also submit feedback at any point here. Feedback received here will go to the Head of Academic Administration, and will be dealt with confidentially when being passed on further. All feedback is welcome.

Taking our courses

This form is not to be used by students studying for a degree in the Department of Computer Science, or for Visiting Students who are registered for Computer Science courses

Other matriculated University of Oxford students who are interested in taking this, or other, courses in the Department of Computer Science, must complete this online form by 17.00 on Friday of 0th week of term in which the course is taught. Late requests, and requests sent by email, will not be considered. All requests must be approved by the relevant Computer Science departmental committee and can only be submitted using this form.