DM809 Computer Game Programming I: Graphics
Fall 2008, 1st quarter
Official Course Description
description at the web pages of the faculty.
Time and Place
Since no slots free for all can be found, the schedule will rotate among
slots where few (normally at most three) persons have overlap. This should
minimize the overall overlap, and distribute it somewhat evenly among those
The schedule for the entire course can be read from the plan of lectures
The course takes place in weeks 35 through 41. The first lecture is Monday,
August 25. This first lecture will only be from 13:15 to 14:00 (due to
teachers obligations in connection with information to new first year
As textbook, we will use the following:
Real-Time Rendering, 3rd edition
By Tomas Akenine-Möller, Eric Haines, and Naty Hoffman
Published by A.K. Peters, 2008
Note that it is the 3rd edition, which has just come out.
The book has a website, with lots
of pointers to useful additional material.
For the programming projects in the course, you will need to become
acquainted with a graphics API of you choice, (OpenGL or DirectX), and
possibly an interface to it from your preferred programming language (say,
Java). For this, you may very well want to buy a book on your chosen
graphics API. However, note that the course will contain basically no
teaching on the actual use of graphics APIs, and the choice of API and
accompanying material is left to you.
The exam is oral, with grades on the 7-point marking scale. Programming
project must be passed in order to attend the exam.
The exam date will be October 22. The room will be
U149C (in the recently built
At the oral exam, you will draw an exam
question delineating a part of curriculum which you are to present in the
first half of the examination. More details of the exam form are described
at the bottom of the list of exam questions. The exact exam curriculum is
also stated there.
The sequence and expected times of students can be
There will be a spørgetime (session for asking questions on the exam and
the curriculum) Monday, October 20, at 14.15 in
The grades at the exam ended up with the following
|Monday, August 25
||Imada seminar room
||Introduction to course (slides).
|Friday, August 29
||Imada seminar room
||Sections 1.0, 4.0, 4.1, 4.2, A.3.2, and A.4 in the textbook (given
|Tuesday, September 2
||Section 4.6 in the textbook (given
|Thursday, September 4
||Discussion of the project. Representations of
Matrices, Euler angles,
axis/angle. Quaternions for axis/angle representation.
||Section 4.3 in the textbook (given
as handout). Overview of rotation
representations. Section 15.3.8 from Advanced Animation and
Rendering Techniques by Watt and Watt, ACM Press, 1992 (given as
handout). Handout, but not curriculum: note by Hans J. Munkholm showing
that any rotation can be expressed as a rotation around an axis.
Much more material (including code) on rotations can be found on the
Wikipedia page, and the references in it.
|Monday, September 8
||More on quaternions, interpolations, slerp, squad.
||Same as last lecture.
|Wednesday, September 10
||A bit more on the perspective projection. The graphics pipeline and
||Pages 81-82 and 85-87 in 3D Game Engine Design by David
H. Eberly, Morgan Kaufmann, 2001 (given as handout).
Chapters 2 and 3 in the textbook (given
|Thursday, September 18
||Sections 5.1-4, 7.1-3, 5.5, 7.4, and 8.3 in the textbook
|Monday, September 22
||Advanced shading models: BRDFs
||Sections 7.5-9 in the textbook.
|Wednesday, September 24
||Area and environmental lighting.
||Sections 8.1-4 in the textbook.
|Friday, September 26
||More on area and environmental lighting. Start on textures.
||Sections 8.5-6 and 6.1 in the textbook.
|Tuesday, September 30
||Textures. Transparency and alpha-blending.
||Sections 6.2-7 and 5.7 in the textbook.
|Wednesday, October 1
||Gamma correction. Image based effects.
||Sections 5.8, 10.1-3, and 10.5-7 in the textbook.
|Wednesday, October 8
||More on image based effects.
||Sections 10.8 and 10.12-14 in the textbook. For a bit more details on
the techniques for depth-of-field, see
|Friday, October 10
||Fog. Volume rendering. Polygon simplification. Acceleration algorithms:
spatial data structures, culling techniques, level-of-detail.
||Sections 10.15-16 and 12.5.1 in the textbook. Chapter 14 in the
As part of the Study Boards schedule of course evaluations, a course
evaluation has been carried out (after the course, before the exam). The
aggregated answers (with comments
removed for anonymity, as required by the Study Board) and the
teachers plan of actions are now available.
Maintained by Rolf Fagerberg