Computer Laboratory

Course pages 2011–12

Advanced Graphics

Principal lecturer: Prof Neil Dodgson
Additional lecturer: Dr Alex Benton
Taken by: Part II
Past exam questions: Advanced Graphics, Advanced Graphics and HCI
Information for supervisors (contact lecturer for access permission)

No. of lectures: 12
Prerequisite course: Computer Graphics and Image Processing


This course provides students with a solid grounding in the main three-dimensional modelling mechanisms. It also provides an introduction to graphics cards, shaders, OpenGL, and radiosity.


  • Revision and commercial context. Revision of the ray tracing and polygon scan conversion methods of making images from 3D models. The standard graphics pipeline and graphics cards. Current uses of computer graphics in animation, visual effects, Computer-Aided Design and marketing. [NAD, 1 lecture]

  • Splines for modelling arbitrary 3D geometry. (splines are the standard 3D modelling mechanism for Computer-Aided Design). Features required of surface models in a Computer-Aided Design package. Bezier curves and surfaces. B-splines, from uniform, non-rational B-splines through to non-uniform, rational B-splines (NURBS). [NAD, 3 lectures]

  • Subdivision surfaces. (an alternative mechanism for representing arbitrary 3D geometry, now widely used in the animation industry). Introduction to subdivision. Pros and cons when compared to NURBS. [NAD, 2 lectures]

  • Geometric methods for ray tracing. The fundamentals of raycasting and constructive solid geometry (CSG). [PAB, 1 lecture]

  • Illumination: Ray tracing effects and global lighting. Visual effects, radiosity and photon mapping. [PAB, 1 lecture]

  • Computational geometry. The mathematics of discrete geometry: what can you know, and how well can you know it? [PAB, 1 lecture]

  • Implicit surfaces, voxels and particle systems. A sampler of special effects techniques. [PAB, 1 lecture]

  • OpenGL and shaders. Tools and technologies available today; previews of what’s coming tomorrow. [PAB, 2 lectures]


On completing the course, students should be able to

  • compare and contrast ray tracing with polygon scan conversion;

  • define NURBS basis functions, and explain how NURBS curves and surfaces are used in 2D and 3D modelling;

  • describe the underlying theory of subdivision and define the Catmull-Clark and Doo-Sabin subdivision methods;

  • understand the core technologies of ray tracing, constructive solid geometry, computational geometry, implicit surfaces, voxel rendering and particle systems;

  • understand several global illumination technologies such as radiosity and photon mapping, and be able to discuss each in detail;

  • be able to describe current graphics technology and discuss future possibilities.

Recommended reading

Students should expect to refer to one or more of these books, but should not find it necessary to purchase any of them.

* Slater, M., Steed, A. & Chrysanthou, Y. (2002). Computer graphics and virtual environments: from realism to real-time. Addison-Wesley.
Watt, A. (1999). 3D Computer graphics. Addison-Wesley (3rd ed).
de Berg, M., Cheong, O., van Kreveld, M. & Overmars, M. (2008). Computational geometry: algorithms and applications. Springer (3rd ed.).
Rogers, D.F. & Adams, J.A. (1990). Mathematical elements for computer graphics. McGraw-Hill (2nd ed.).
Warren, J. & Weimer, H. (2002). Subdivision methods for geometric design. Morgan Kaufmann.