CSC 418/2504, Fall, 2003: Computer Graphics

Instructor Karan Singh
Phone (416) 978-7201
Office Hours BA 5258, W 12-1pm
(other times by appointment only)

Lectures W 7-9pm, BA 1180
Tutorials W 6pm



This course introduces the basic concepts and algorithms of computer graphics.


Most of the following will be covered:
colour representation and perception, colour displays, basic optics, light energy transfer, line drawing, affine and perspective transformations, windows and viewports, clipping, visibility, illumination models, energy transfer models, parametric representations, curves and surfaces, subdivision methods, texture mapping, graphics hardware, ray tracing, graphics toolkits, procedural models, animation systems.

Course Texts

Required CSC 418/2504 Course Notes, Winter 2003.
Required F.S. Hill, Jr. Computer Graphics Using OpenGL, Second Edition, Prentice Hall, 2001.
Recommended Mason Woo et al, OpenGL 1.2 Programming Guide, Third Edition, Addison-Wesley, 1999 (recommended for learning OpenGL).
A. Watt and M. Watt, Advanced Animation and Rendering Techniques, Addison-Wesley, 1992.

.P. Shirley, Fundamentals of Computer Graphics, A. K. Peters, 2002.


Grading Scheme

out in weight
Assignment #1 W Sep 17  W Oct 1, in class 15%
Assignment #2 W Oct 8 W Oct 22, in class 15%
Assignment #3 W Sep 10 W Nov 26, in class 30%
Midterm Test W Nov 5, in class 15%
Final Dec 8- 17 25%

Assignments involve both analytic problems as well as implementation of algorithms. Assignment 3 will include a small project. Descriptions of suggested projects will be provided online. Late assignments will be penalized 20% per day.

You are expected to be a competent programmer in C or C++ in this course. You will need knowledge of 3D geometry, linear algebra, calculus, complexity theory, and data structures.

Plagiarism is a serious academic offense; the work submitted should be your own. If you have exchanged ideas with a fellow student and thus have answers which might be falsely construed as being plagiarised, you should state this.

Computer Facilities, St. George campus

The programming assignments will make use of the CDF Unix facilities. Those unfamiliar with CDF will find A student's Guide to CDF to be useful. This guide is available in the bookstore. The CDF workstations are located in the Engineering Annex in EA107, EA201, and EA203. There's also an online FAQ, with a variety of useful information about working on the CDF Unix machines. You may use Visual Studio to program your assignments on Windows as well (you are on your own on this platform... there is no CDF support for it and you must submit self contained executables in addition to the workspace and source files).

The course newsgroup ut.cdf.csc418h can be used as a discussion forum, and the professor and TAs will check it periodically, and may answer your questions posted there. Questions are best asked in person to the TAs or the professor, at appointed times. Common questions and problems with assignments will be handled using online FAQs.