CMSC 491/691: Computer Graphics for Games

Spring 2012 / 3 credits

MW 1:00-2:15, Admin 101

Instructor: Dr. Marc Olano (
ITE 354 (455-3094); Office Hours: MW 2:30-3:45

Corequisite: You must have had CMSC 435/634 or be enrolled this semester.

Text: Akenine-Möller, Haines and Hoffmann, Real-Time Rendering, 3rd edition, AK Peters, ISBN 978-1-56881-424-7. (recommended)


This course is an introduction to some of the computer graphics methods commonly used in 3D computer games. Computer graphics encompasses a wide variety of algorithms and techniques, many more than can be covered in just one or two courses. This course is similar in style and scope to CMSC 635/Advanced Computer Graphics, but uses computer games as a focus and motivation to explore a different set of graphics algorithms. Topics include using and manipulating scene graphs, design of interactive applications. Students will learn several common algorithms in each topic area in sufficient depth for implementation.

Note that (as the course title says), this is a course about computer graphics, specifically 3D graphics, as used by many games. It is not a class about playing games, nor about all of the other equally important aspects of creating a game (AI, art, game play, interface design, ...). I expect that the class will be a lot of work, but hope that you will find it rewarding.

Course Outcomes

On successful completion of this course, students will

  1. Know a variety of advanced graphics techniques used in games
  2. Apply a selection of these techniques
  3. Integrate an advanced graphics technique into a game environment
  4. Present technical topics to a knowledgeable audience


Grades will be based on class participation (10%), two in-class presentations (10%), programming assignments (30%), and a group final project (50%).


Programming assignments require the use of the C/C++ programming language. These assignments may be time-consuming. START EARLY! A tentative list is given below:

Assignment Weight Description Due Date
Assn 1 10% Scene Graph Feb 21
Assn 2 10% Normal Maps Mar 13
Assn 3 10% Spherical Harmonics Mar 30

Students taking the course for graduate credit (i.e. CMSC 691G) will be expected to do extra parts on each assignment and more complex work in the final project.

All assignments are due on Tuesday of the given week. They should be submitted by 11:59pm on the due date for full credit. Any assignment can be submitted by 11:59 on Friday of the week it is due for a 15 point penalty.

Academic Honesty

By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community in which everyone's academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong.

In this class, you are allowed to discuss concepts, assignments and algorithms, but the actual programming in the assignments are expected to be your own work. Submit a readme with each assignment describing the assignment and also any and all help you received.

The group project can use external software and libraries with prior instructor approval. Combining this project with projects in other classes is also OK, as long as you get prior approval from both class instructors. Outside of approved exceptions, everything else you submit should be your own. If you are required to have a written submission, all text, figures and images should be your own.


Date Topic Assn Project Presentation
Jan 30/Feb 1 Overview, Engines
Feb 6/8 Normal Maps     6: Fioravante
Feb 13/15 Lighting     13: Fioravante
15: Edoror
Feb 20/22 Spherical Harmonics Assn1   20: Harting
22: Edoror
Feb 27/29 Baking   Group 27: Abshire
29: Somers
Mar 5/7 Graphics Hardware 5: Grube
7: Sparling-Sedlak
Mar 12/14 Low-level concerns Assn2 Topic 14: Moriarty
Mar 26/28 Antialiasing Assn3   26: Abshire
28: Wang, Sutton
Apr 2/4 Texture Filtering     2: Sparling-Sedlak, Poole
4: Burdeyny
Apr 9/11 Status   Status 9: Somers, Harmon
11: Wang
Apr 16/18 Shadows     16: Grube
Apr 23/25 Quaternions   Email

23: Moriarty
25: Harmon

Apr 30/May 2 Skinning     30: Burdeyny
2: Poole
May 7/9 Final Presentations   Final 7: Sutton

Online resources