DM809 Computer Game Programming I: Graphics
Fall 2010, 1st quarter (last two weeks of August) Rolf Fagerberg
Official Course Description
See the
course
description at the web pages of the faculty.
Time and Place
The course is a summer course, and takes place from August 16 to
August 27. There will be lectures each day (MonFri) during these two
weeks. The hours will normally be 9:1512:00, and will take place in
Imadas seminar room.
Textbook
As textbook, we will use the following:
RealTime Rendering, 3rd edition
By Tomas AkenineMöller, Eric Haines, and Naty Hoffman
Published by A.K. Peters, 2008
ISBN 9871568814247
The book has a website, with lots
of pointers to useful additional material.
For the programming project 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.
Examination
The exam is oral, with grades on the 7point marking scale. The exam date
is October 27. A programming project must be passed in
order to attend the exam. The deadline is October 6.
Note that the exam takes place after the first quarter, even though the
lectures are all in August. The deadline for the programming project is
near the end of the first quarter.
At the oral exam, you will draw an exam
topic delineating a part of curriculum which you are to present in the
first part of the examination. More details of the exam form are described
at the bottom of the list of exam topics. The exact exam curriculum is also
stated there. The sequence of students at the oral exam can be
seen here.
There will be a spørgetime (session for asking questions on the exam and
the curriculum) Monday, October 25, at 13:30 in
U51. There will be another
one (for those who cannot attend the first) Tuesday, October 26, at 13:30
in U142.
The grades at the exam ended up with the following
distribution.
Lectures
Date 
Time 
Room 
Contents 
Reading 
Monday, August 16 
912 
Imada seminar room 
Introduction to course (slides). The graphics
rendering pipeline. 
The slides. Chapter 2, Chapter 3, and Section 18.1 in the textbook.

Tuesday, August 17 
912 
Imada seminar room 
Transformations. Homogeneous coordinates. Projections. 
Chapter 1 and sections 4.0, A.4, 4.1, and 4.6 in the textbook. It may
be helpful to refresh your knowledge on vectors and matrices by browsing
A.1, A.2, and A.3.

Wednesday, August 18 
912 
Imada seminar room 
More on projections. Change of coordinate systems. Euler angles. 
Sections 4.6 and 18.2 in the textbook.
Pages 8182 in 3D Game Engine Design by David H. Eberly, Morgan
Kaufmann, 2001 (given as handout).
Section A.3.2 in the textbook and notes by
teacher. Section 4.2 in the textbook.
For at derivation of the full perspective "projection" matrix (eq. 4.68)
which transforms the view frustrum to the 3D unit cube (cf. Fig. 4.19), not
just to a 2D projection plane (cf. Fig. 4.18 and eq. 4.65), see e.g. these
notes by Kenneth E. Hoff III (not curriculum).

Thursday, August 19 
912 
Imada seminar room 
Quaternions and their use for interpolating rotations. Start on
shading. 
Section 4.2 in the textbook.
Section 15.3.8 from Advanced Animation and
Rendering Techniques by Watt and Watt, ACM Press, 1992 (given as
handout). Overview of rotation
representations.
Sections 5.15 in the textbook.

Fridag, August 20 
912 
Imada seminar room 
Shading theory and models. 
Sections 7.17 in the textbook (most, but not all, of this has been
covered).

Monday, August 23 
912 
Imada seminar room 
More on Shading theory and models. 
Rest of Chapter 7 in the textbook (except Section 7.8.1, which will be
covered later).

Tuesday, August 24 
912 
Imada seminar room 
Area and environmental lighting. 
Chapter 8 in the textbook.

Wednesday, August 25 
912 
Imada seminar room 
Textures. 
Chapter 6 in the textbook.

Thursday, August 26 
912 
Imada seminar room 
More on textures. Antialiasing. Alpha blending. Gamma correction. Image
based techniques. 
In the textbook: last parts of Chapter 6, Section 7.8.1, rest of Chapter 5
(except Section 5.6.1, which is not curriculum), and Chapter 10 (except
sections 10.911, which are not curriculum). For more on gamma correction,
see
e.g. this
note by Charles Poynton (not curriculum).

Friday, August 27 
912 
Imada seminar room 
Shadows (planar shadows, shadow maps).
Acceleration algorithms:
spatial data structures, culling techniques, levelofdetail.

Sections 9.1.01 (pages 331339), 9.1.4 (only first part, pages 348352),
and 12.5 in the textbook. Chapter 14 in the textbook.

Maintained by Rolf Fagerberg
(rolf@imada.sdu.dk)

