Computer Laboratory

Course material 2010–11

Advanced Graphics

Lecturers: Professor N.A. Dodgson and Dr P.A. Benton

No. of lectures: 12

Prerequisite course: Computer Graphics and Image Processing


This course provides students with a solid grounding in a variety of three-dimensional modelling mechanisms. It also provides an introduction to radiosity, animation, hardware technologies, and current commercial uses of computer graphics.


  • Revision, polygons, hardware. Revision of the ray tracing and polygon scan conversion methods of making images from 3D models; the pros and cons of each approach. Current uses of computer graphics in animation, special effects, Computer-Aided Design and marketing. Drawing polygons. Graphics cards. [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.