Instructor: |
Lee Iverson |
|||
TA: |
Sunny Yuen <sunnykhy AT interchange.ubc.ca> |
|||
Classes: |
TTh 14:00-15:30 Chem/Bio 102 |
|||
Office
Hours: |
|
|||
Outline: |
This course is an introduction
to computer graphics using OpenGL. This means a number of things,
including a crash course in linear algebra as it relates to points,
lines, and planes in three dimensions and some simple projective forms.
We will also consider the nature of the graphics pipeline in modern
graphics processors and as it is represented in the programming APIs
that allow us to manipulate and interact with graphical objects on
computer screens. |
|||
Structure: |
The course will be structured in
two halves. Prior to the midterm exam we will deal with the material in
a fairly traditional classroom form accompanied by three small
programming projects. During this part of the term, we will be covering
the material very quickly, so
it will be essential to read the assigned chapters in the textbook before coming to class. Classroom
time will be spent working through the difficult concepts in the
readings and providing more dynamic illustrations of these concepts. The second half of the term will be devoted to a large programming project, working in teams of 3 to 5. You will be required to design, develop and demonstrate a 3D graphical computer game. During this time, there will be one lecture a week on some more advanced topics that may aid you in your development, with the other two class hours operating as supervised laboratory time. A large list of resources will be made available, both in reserve and online. |
|||
Textbook: | Edward Angel, "Interactive Computer Graphics: A Top-Down
Approach Using OpenGL" (4th ed.), Online Textbook Material, including source code. |
|||
Tools: |
The main software APIs used in
the instructional examples for this course will cover the standard
OpenGL APIs and the GLUT and GLUI toolkits for user interface
development. These should all be equally usable on Linux or MS Windows
systems, so either OS is usable. |
|||
Evaluation: |
The course grade will be divided
up as such:
|
|||
Expectations: |
Students are expected to attend
all lectures in the first half of the term and to take advantage of the
targeted lectures. It is very important that the assigned chapters should be read
prior to the lectures in the first half of the term, since we will be
moving through the material quickly. In
the second half of the term the class hours of T/Th 14:00-15:30 will be
supervised time in the computer labs for any team or individual needing
coding or debugging help. |
|||
Resources: |
A page of resources for OpenGL and GLUT programming and
for computer game development. |
|||
Project: |
You
will be able to choose your project teams. Email the list of team
members to Dr. Iverson by Sep 15. The project teams will be posted
when established and an outline of the project requirements is also available.
|
|||
Teams: |
The team assignments will be made available when finalized. |
Schedule: |
|||
Jan 8, 10 |
Ch. 1 | Introduction |
PDF PDF |
Jan 15, 17 |
Ch. 2 | Graphics Programming |
PDF Code |
Jan 18 |
Team choices to be nominated (by email to leei+478@ece...) |
||
Jan 17 |
Assignment
1 |
||
Jan 22, 24 |
Ch. 4 | Linear Algebra and 3D Geometry |
PDF |
Jan 24 |
Assignment 1 due | ||
Jan 29, 31 |
Ch. 5 | Viewing and Projections |
PDF |
Jan 31 |
Assignment
2 |
||
Jan 31 |
Game
Project |
||
Feb 5, 7 |
Chs. 6&7 | Shading, Lighting and Texture
Mapping |
PDF |
Feb 7 |
Assignment 2 due | ||
Feb 12 |
Assignment 3 |
||
Feb 12, 14 |
Chs. 8&9 | Rendering and Scene Graphs |
PDF |
Feb 19, 21 |
Midterm Break |
||
|
Advice for Game Design and
Development |
PDF |
|
Feb 26 |
Game Physics |
PDF, PPT | |
Feb 26 |
Assignment 3 due | ||
Feb 28 |
Animation |
PDF |
|
Mar 4 |
GPU Programming |
PDF |
|
Mar 6 |
Multi-pass Rendering |
PDF |
|
Mar 11 |
Midterm Examination (2003, 2006) |
||
Mar - Apr |
Project work |
||
Apr 14 |
Project reports due (5pm) by email to leei+478 AT ece.ubc.ca |
Sample 1 Sample 2 |
|
Apr 18 |
Demo day! (3:30pm - 6pm). Please fill out attached form (PDF or PPT) and print 4 copies for the demo. |
Reports Teams |
|
Final Exam (none!) "Finals? Finals? We don't need no steenking finals!" |