CSC 418/2504, Fall, 2004: 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:
display technology,  line drawing, affine and perspective transformations, polygon meshes, keyframe animation, animation systems, procedural models, camera models, windows and viewports, clipping, visibility, illumination models, texture mapping, graphics hardware, ray tracing, antialiasing, parametric representations, curves and surfaces, subdivision methods.

Course Texts


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

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

Grading Scheme

out in weight
Assignment #1 W Sep 22  W Oct 6, in class 12%
Assignment #2 W Oct 13 W Nov 3, in class 13%
Assignment #3 W Sep 15 W Nov 24, in class 25%
Midterm Test W Oct 27, in class 15%
Final Dec 8- 17 35%

Assignments involve both analytic problems as well as implementation of algorithms. Assignment 3 is a small project to produce an animation, raytraced imagery or an interactive game. Look here for inspiration. Late assignments will be penalized 10% 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 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 the newsgroup and online FAQs.