Computer Graphics: 2014-2015
Lecturer | |
Degrees | Schedule B1 (CS&P) — Computer Science and Philosophy Schedule S1(3rd years) — Computer Science |
Term | Michaelmas Term 2014 (16 lectures) |
Overview
This course is an introductory course in Computer Graphics, and covers a wide range of the field of interactive computer graphics at all levels of abstraction, and with emphasis on both theory and practise. Core topics include: the graphics programming pipeline, common transformations, viewing 3D objects, the human visual system, colour science, image processing, basic drawing, common 3D geometry data structures, modelling materials, illumination and rendering. It follows a standard textbook in the field, with additional material used to keep the course up-to-date.Learning outcomes
Knowledge and understanding
- Understanding of the fundamentals of the modern computer graphics pipeline
- The mathematics of affine transformations in three dimensions
- Common data structures to represent and manipulate geometry
- Colour and light representation and manipulation in graphics systems
- Basic shading techniques
- Application of mathematics to graphics systems
Practical skills
- Ability to program low-level scan-conversion of simple shapes
- Working knowledge of a modern 3D graphics library via the practical assignments
- Ability to produce usable graphics user-interfaces
- Ability to manipulate 3D objects in virtual environments
- Ability to write programs from a practical specification and produce realistic graphics outpts
- GPU programming
Synopsis
The following are major topics that will be covered. (Numbers in brackets give an approximation to the number of lecture hours spent on the topic.)
- Fundamentals of graphics hardware and software (4)
- Essential algorithms: line generation, solid area display, transformations, clipping, projection (4)
- Abstraction, and simple examples of libraries of graphics functions (1)
- Modelling 3D geometry(2)
- Input devices, interactive techniques, and the human-machine interface (1)
- Human Visual Perception and Colour Science (1)
- Image Processing (1)
- Material Modelling, Lighting and Rendering (2)
There is practical work to supplement the lecture material; the course does assume previous experience of practical programming in a high-level procedural language, and simple knowledge of matrices and vectors. The practicals themselves will be in Java, or using Java-like syntax (GPU).
Syllabus
The following are major topics that will be covered. (Numbers in brackets give an approximation to the number of lecture hours spent on the topic.)
- Fundamentals of graphics hardware and software (3).
- Essential algorithms: line generation, solid area display, transformations, clipping, projection (5).
- Abstraction, and simple examples of libraries of graphics functions (2).
- Modelling of 3-dimensional solids, and display of parametric curves (2).
- Rendering techniques and colour and lighting models (3).
- Input devices, interactive techniques, and the human-machine interface (1).
Reading list
The main course text is
- Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL by Shreiner and Angel, Pearson Education ISBN 9780273752264, 61 GBP (41GBP Amazon)
Supplemental Reading
There are many text books on computer graphics. Books you are likely to find in College libraries are:
- "Computer Graphics: Principles and Practice" by Foley, Van Dam, Feiner, & Hughes, Addison-Wesley ISBN 0201848406
- “Fundamentals of Computer Graphics” by Peter Shirley et al., ISBN 978-1568812694
Another recent book is
- "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.