Information on Fundamentals of Computer Graphics 308-557A

Synthetic image of course name

This page provides information for the computer graphics course taught by Gregory Dudek in the School of Computer Science, McGill University.

The gallery of ancient images submitted for one of the assignments in winter 1997 can be visited by clicking here.


Recent news and updates are listed below


General Information

The study of the fundamental mathematical, algorithmic and representational issues in computer graphics, with emphasis of 3 dimensional graphics. The key issues are how to describe and manipulate 1, 2 and 3 dimensional data and how to visualize and depict it either photo-realistically or to enhance specific attributes.

The topics to be covered are: overview of the graphics process, projective geometry, homogeneous coordinates, projective transformations, line-drawing, surface modelling and object modelling using spatial sampling and parametric functions, computational modelling of reflecance, approaches to rendering including ray tracing and radiosity, texture synthesis and mapping, polyhedral representations, video.


Professor G. Dudek,
    School of Computer Science.
    Office hours:  M: 4-5, Tu: 10-11
	    419 McConnell Building; 
	    meetings at other times by appointment only.
    Telephone: 398-4325.

Class email account: You are strongly advised to use your McGill email account for course-related mail.
Class web page:
Frequently asked questions and assignment tips: FAQ

TA information

Teaching Assistant:

Eric Bourque
Office Hours:TBA


Hot news Important news


Textbook and References:

Course textbook (available in the McGill Bookstore):
Foley, van Dam, Feiner, Hughes, Computer Graphics: principles and practice in C, Addison Wesley, Second Edition.

There is also a lower-cost abbreviated version of the text available called Introduction to Computer Graphics" by the same authors. It does not cover all of the relevant material, but deals with most of it.


Other reference texts:

A. Watt, 3D Computer Graphics, Addison Wesley, Second (1993) edition.

D. Rogers and Adams, Mathematical Elements for Computer Graphics, McGraw Hill, 1990, (ISBN 0-07-053530-2).

These are held by the Physical Sciences and Engineering Library, and the text is stocked by the McGill Bookstore. The book by Watt is quite good and concentrates specifically on three-dimensional modelling and rendering in greater detail. The library only has an older edition under the title ``Fundamentals of Three Dimensional...''. The book by Rogers and Adams provides additional details on basics and background on the basic mathematics, with emphasis on geometric transformations.


189-223 and 308-251.

The ability to write programs well in the C language under UNIX is assumed. If you don't know about Makefiles, find out now.

Syllabus and details

There will be a total of about 26 lectures. The approximate sequence of major topics is as follows:


Overview, introduction and hardware 
3-D surface description 
2-D graphics and transformations
Morphing and Warping
3-D parametric models 
3-D volumetric models
Hidden surfaces 
Lighting and reflection 
Texture mapping
Animation and assorted open issues: fractals,  graftals, video techniques.


Programming assignments will involve the use UNIX or LINUX based workstations. Knowledge of UNIX will be assumed (makefiles, compiling, linking, etc.).


Roughly four assignments will be given out, the last one being more substantial. Students wil also have to create a short video-based demo at some time during the term. Substantial programming will be involved, as well as analytic work.

Assignments will involve both elaboration of ideas seen in class, as well as exposure to more practical issues and "hands-on" experience.

Assignments should be handed in on or before 17:00 hrs. on the date due.

Late assignments MAY NOT BE CREDITED! All pages making up an assignment should be secured by binding or stapling. Paper clips or other loose attachments often come undone, with consequent loss.

All assignments must be fully documented. Document your code both internally and externally, and provide test results as appropriate. Always clearly (re)state the questions to which you are responding before presenting answers.

Collaboration / Academic Honesty:
It is reasonable to discuss with others possible general approaches to problems. It is unreasonable to work together on a detailed solution, to copy a solution, or to give away a solution. If your common discussion can be detected by looking at the solutions, then there is too much collaboration. Such instances of academic dishonesty may result in a course grade of F or potentially even more severe penalties.


All marks in this course will be recorded in the form of letter grades only. Marks will be combined as follows:

Note: this page is maintained by Professor Gregory Dudek from the School of Computer Science and the Centre for Intelligent Machines (CIM) at McGill University.


This document is copyright (c) Gregory Dudek, 2003. You are granted permission for the non-commercial use, reproduction, distribution or display of this document in any format under the following restrictions. This document must remain intact and complete and appropriate credit is given as to its source. This permission is valid for a period of 45 (forty-five) days from the time this document was obtained from McGill University. All other rights reserved by the author(s).