The University of Sheffield
Department of Computer Science

COM4503 3D Computer Graphics

Summary 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.
Session Autumn 2023/24
Credits 15
Assessment
  • Programming assignment
  • Report/Topic study
Lecturer(s) Dr Steve Maddock
Resources
Aims The aims of this module are:
  • to provide a comprehensive theoretical and practical approach to the foundation topics in three-dimensional computer graphics; and
  • to make use of computer graphics software and programming for the construction of interactive 3D computer graphics scenes
Learning Outcomes  By the end of this course the students should be able to:
  • Use data structures and mathematics in representing and manipulating 3D objects
  • Identify and compare a range of techniques for increasing the realism of rendered scenes
  • Produce interactive 3D Computer Graphics software
  • Summarise and appraise information on a specific topic in computer graphics
Content Coordinate systems and transformations [2 lectures]
Building and Representing Objects [ 3 lectures ]
The graphics pipeline [ 1 lecture ]
Rendering [ 3 lectures ]
  • Incremental shading
  • Hidden surface removal
  • The Z-buffer
  • Anti-aliasing
Simulating 3D Reality [ 7 lectures ]
  • Simple light object interaction
  • Textures and shadows
  • Advanced light object interaction
Computer Animation [ 3 lectures ]
Review [1 lecture]
Restrictions
Not permitted for students who have already taken COM3503.  Students from other departments will need to demonstrate skills in imperative programming, software design and data structures and their applications, as well as experience with vector and matrix arithmetic.
Teaching Method In addition to the formal lectures, there will be 12 hours of other sessions, consisting of a mix of practical sessions related to learning to use computer graphics software for the programming assignment and tutorials covering course topics 
Feedback Ongoing during lab sessions, via online help and in office hours;
Final feedback sheet for the assignment