Computer Graphics: 2024-2025
Lecturer | |
Degrees | Schedule A2(CS&P) — Computer Science and Philosophy Schedule B1 (CS&P) — Computer Science and Philosophy Schedule A2 — Computer Science Schedule B1 — Computer Science |
Term | Michaelmas Term 2024 (16 lectures) |
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
- Physically based rendering by Matt Pharr and Wenzel Jakob, MIT Press (2023)
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
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.