Instructor 



Phone 
(416) 9787201 

Office Hours 
BA 5258, M 4 

Lectures 
MW 3 

Tutorials 
W 4 




Online 
http://www.dgp.toronto.edu/~karan/courses/csc418/winter_2007/index.html 

This course introduces the basic concepts and algorithms of computer graphics. It covers the basic methods
needed to model and render 3D objects, including much of the following:
graphics displays, basic optics, line drawing, affine and perspective
transformations, windows and viewports, clipping, visibility, illumination and
reflectance models, radiometry, energy transfer models, parametric
representations, curves and surfaces, texture mapping, graphics hardware, ray
tracing, graphics toolkits, animation systems.
The student is expected to read background material on the hardware and local
software, and should be comfortable with elementary linear algebra, geometry,
and vector calculus. It is also assumed that the student is comfortable
programming in basic C++.
line drawing, affine and perspective transformations, polygon meshes, keyframe animation, animation systems, camera models, clipping, visibility, illumination models, texture mapping, graphics hardware, ray tracing, antialiasing, parametric representations, curves and surfaces, subdivision methods.
Rcommended P. Shirley, Fundamentals of Computer Graphics, A. K. Peters, 2002.
Mason Woo et al, OpenGL 1.2 Programming Guide, Third Edition, AddisonWesley, 1999 (recommended for learning OpenGL).
Reference F.S. Hill, Jr. Computer Graphics Using OpenGL, Second Edition, Prentice Hall, 2005.
J. D. Foley, A. van Dam, S. K. Feiner, and J. F. Hughes. Computer Graphics: Principles and Practice, 2nd Edition, in C , Addison Wesley, 1990.
D. Hearn and M. P. Baker. Computer Graphics, Third Edition, Addison Wesley, 2003.
A. Watt and M.
Watt, Advanced Animation and Rendering Techniques, AddisonWesley, 1992.

out 
in 
weight 
Assignment #1 
M Jan 15 
M Jan 29, in class 
10% 
Assignment #2 
M Feb 5 
M Feb 19, in class 
10% 
Assignment #3 
M Jan 8 
M Mar 26, in class 
30% 
Midterm Test 
W Feb 14, in class 

15% 
Final 


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.
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.