Carleton University, School of Computer Science
95.402* Computer Graphics: Real-time 3D Graphics, Fall '99
Times/Instructor: Mon 7:30pm (3 hours) Room 3120HP W.R. Lalonde (Room 5374HP)
TAs:
Shahzad Malik, TA Hours: Tuesdays, 3pm to 6pm, in the 5th floor NT lab, Herzberg
Chris Hecker, TA Hours: Thursdays, 1:30pm to 5:30pm, in the 5th floor NT lab, Herzberg
Course Description:
This course will provide students with two important skills:
(a) Better understanding of large software development.
(b) Better understanding of practical techniques that support real-time 3D graphics.
Course Goals:
To develop a real-time 3D graphics game engine in C++. After the initial software
provided, all subsequent development will be done by students in assignments and as part of the course
project to be handed in at the end of the course. The project integrates all of the tasks developed in
the assignments and additionally provides some novel facility related either to the game development
environment or the run-time game facilities. Every student must develop a unique game so don't give away
all your good ideas to your buddies. Every assignment should serve as a stepping stone to further extensions
that you might want to work on in parallel with the assignment work to help you be further along by the end
of the course.
Main Book:
OpenGL Programming Guide (NOT THE REFERENCE MANUAL), 3nd Edition, Version 1.2? of OpenGL, Addison-Wesley (Don Mills, Ontario or Reading, Massachusetts), ISBN 0-201-46138-3. Older editions will also be adequate.
Game Book:
LaMothe, A. Black Art of 3D Game Programming, Waite Group Press, Corte Madera, California, 1995 (distributed by Publishers Group West, California, 1-800-788-3123 or 1-510-658-3453, ISBN 1-57169-004-2).
References:
Any 3D Graphics books, any C++ book.
Software:
Microsoft Visual C++ with OpenGL. Access to DirectX software is also needed. Note that NT's version is not as up-to-date as Windows 98.
Laboratory:
Fifth floor labs (all NT machines). Lab contains two rows of machines with TNT2 game boards and two rows with Voodoo 3 game boards. You can't run game software without a game card.
Demo Time:
5-7 pm Monday in the lab. We want to see how you are doing, give you suggestions, etc.
Assignments:
Hand in during Demo Time in Lab or in assignment box in Room 4135 HP (no room for everyone in box).
Use an envelope with a demo disk containing
(a) an executable that can be run for evaluation purposes,
(b) source code that can be compared with results of execution, and
(c) a readme file that says what and where to look for the source specific to the assignment.
Make sure your name and student id is visible on both the envelope and disk. Due to large class size, no late assignments + assignments marked only with A or B; aim of assignments is to contribute to final project (marker's task is to suggest improvements, not haggle over marks).
Project:
Students must work individually to produce a game that is uniquely their own. A short written report is required along with the software explaining what was done and what is interesting about the work (listing all items that should increase your mark). Hand-in a disk (not returned) with the written report, the software, and executable along with paper copies that can be read.
Marking:
Assignments: 25% (once a week with occasional lapses)
Final Project: 75%
The final project is due 1 week after term ends (will also check for completion of all assignments in more detail; so there is always an opportunity to improve assignment tasks before handing everything in). Best marks awarded to games with originality, great playability, solutions to high degree of difficulty tasks, and quality and quantity of software.