COM3503 3D Computer Graphics
|| This module is an introduction to the techniques used in
modern 3D computer graphics. It deals with fundamental
techniques that are the basis of work in a range of industries, e.g. entertainment
and computer-aided design. Both basic and advanced topics concerned with
the production of images of abstract 3D objects are covered, including: 3D representations and manipulations
in graphics, light reflection models, realism techniques
such as shadows and textures, ray tracing and 3D animation.
Students should be aware that there are limited places available on this course.
|| Formal examination (2 hours) [60%].
Programming assignment [40%].
||Dr Steve Maddock
- to provide a comprehensive theoretical and practical
approach to the foundation topics in three-dimensional
computer graphics; and
- to make use of a graphics API (application
programming interface) for the construction of 3D
computer graphics software
||By the end of this course the students should:
- be able to use matrices to transform (hierarchical)
objects in 3D coordinate systems;
- be able to describe and apply a 3D viewing pipeline
to display data-structured objects, modelled in a world
of real numbers, on a discrete, raster screen device;
- be able to reason about the most suitable modelling
techniques to use for particular real-world
- be able to implement standard 3D shading and
rendering techniques using a library of graphics
- understand and be able to describe and discuss a
range of techniques for increasing the realism of
- understand and be able to compare and contrast
advanced rendering techniques;
- be able to describe and discuss a range of computer
- understand and be able to implement a range of
three-dimensional computer graphics algorithms;
- be able to describe how computer graphics
techniques are used in a variety of application areas in the entertainment industry.
|| Coordinate systems and transformations [2
Building and Representing Objects [ 3 lectures ]
The graphics pipeline [ 1 lecture ]
Rendering [ 3 lectures ]
Simulating 3D Reality [ 7 lectures ]
- Incremental shading
- Hidden surface removal
- The Z-buffer
Computer Animation [ 3 lectures ]
- Simple light object interaction
- Textures and shadows
- Advanced light object interaction
Review [1 lecture]
||Students from departments other than Computer
Science will need to demonstrate skills in imperative
programming, software design and data structures and their
applications, as well as experience with vector and matrix
|| In addition to the formal lectures, there will be
approximately 10 hours of practical sessions related to learning OpenGL, as well as online help with the
|| Ongoing during lab sessions via online help and in office hours;
Final feedback sheet for the assignment
- Learn OpenGL (https://learnopengl.com/) by Joey de Vries
- Anton's OpenGL 4 Tutorials (http://antongerdelan.net/opengl)
- Either: D. Shreiner and the Khronos OpenGL ARB Working Group, OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1, Addison-Wesley, 7th edition, 2009.
- Or: John Kessenich, Graham Sellers, Dave Shreiner. OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.5 with SPIR-V Paperback (ninth edition), Addison Wesley, 2016
- A H Watt, 3D Computer Graphics (third edition), Addison-Wesley, 2000.
- immersive linear algebra by J. Ström, K. Åström, and T. Akenine-Möller
- F. Dunn and I. Parberry, 3D Math Primer for Graphics and Games Development, 2nd edition, A.K.Peters/CRC Press, 2011.
- Vince, J.A., "Mathematics for Computer Graphics (Undergraduate Topics in Computer Science)", (Fifth edition), Springer, 2017