Winter 2018 - General Information
Please note that this course is not a prerequisite for
COMP 559 Computer Animation in winter term 2018
Please also note that 557 is now a 4 credit course!
||8:35 AM - 9:55 AM, Tuesdays and Thursdays
||514 398 2577
||2 PM - 4 PM, Wendesdays, or by appointment (any time!)
||Fan Ma, Hugo Scurti, Yue Wang|
Contact information and office hourse on My Courses
||for discussion boards and assignment submission
The study of fundamental mathematical, algorithmic and
representational issues in computer graphics. The topics include
an overview of graphics pipeline, projective geometry,
homogeneous coordinates, projective transformations, quadrics and
tensors, line-drawing, surface modeling and object modeling,
reflectance models and rendering, texture mapping, polyhedral
representations, colour perception, and other selected topics according to available time (see the
tentative schedule below).
Assignments, Exercises, and Exams
There will be four assignments during the term, each worth
12.5% totaling 50% of the course mark. The assignments require programming in Java. Links to
assignments will be posted
to MyCourses during the
term. Instructions for assignment setup will also be provided on
MyCourses. Late assignments will be graded with a 10% penalty and will be
accepted up to 3 days from the original due date (i.e., if you are not
going to make the deadline, get some sleep and find the time to finish
your submission properly).
There will be two exams, worth a total of 50% of the final
grade. The first will be a midterm exam which will take place in
class in mid October. It is worth
20% of your grade. The second exam will take place during the
Final Exam Period and is worth 30% of the final grade. Practice
problems, old midterms and final exams, and in some cases solutions will also be
posted to MyCourses during the term.
New for this offering of the course (updated 19 Oct, 2017), the following course textbook is recommended, and is available for purchase at the McGill bookstore for the beginning of the term.
- Computer Graphics Principles and Practice, 3rd Edition, Hughes et al.
This book is a recent update of a classic textbook, and is the most complete reference available (covering many additional topics that we will not have time for in the course). The other very useful reference for working
on OpenGL assignments it the OpenGL programming guide.
- OpenGL Programming Guide: The official guide to learning OpenGL (The red Book, now orange?),
There are also many alternative and online resources that you may find helpful for much of the material, including these listed below.
- The Graphics Codex (mostly focuses on
rendering, but has an important overlap with many fundamentla topics, and shows how material
across several popular texts is related)
- Fundamentals of Computer Graphics, 3rd or 4th Edition, Shirley and Marschner, the previous
textbook for this course, which you may find for cheap in a used book store.
Links to additional online resources will be provided in MyCourses throughout the term.
Graduate students interested in this course, who have not already taken a graphics course, will likely have taken courses equivalent to the prerequisites listed below. For undergraduate students, there are three official prerequisites for the course:
- COMP 206 Introduction to Software Systems -- Historically, the assignments have required programming in
C and the use the unix utility make, but for several years the assignments have been in Java. Nevertheless, the prerequisite still has some relevance because for the use of libraries, and debugging and testing of code.
- MATH 222 Calculs 3 -- Graphics involves parametric representations, partial derivatives and integrals and some vector calculus. This prerequisite will ensure you are prepared, and it or its equivalent is required for all CS Majors.
- MATH 223 Linear Algebra -- This course will build upon your basic understanding of vectors and matrices. You
should have at least a B grade in your linear algebra course, or be prepared for a
- COMP 251 Data Structures and Algorithms -- This prerequisite is mostly there to ensure that students have a sufficiently high level of mathematical maturity. A high grade in COMP 250 is probably sufficient though.
The following schedule is tentative. The adjusted schedule
will be recorded in MyCourses as the term progresses. Adjustments
will be made to synchronize with assignments and to better match
material in the textbook and other sources. Topics will be added
and removed depending on interest and time permitting.
Sets as Geometry
Normalized device coordinates
Half edge data structure introduction
Half Edge data structure examples
Level of Detail introduction
Edge collapse and vertex split
Point plane distance
Quadric error metric introduction
Quadric error metric
Limit point analysis
Subdivision surface introduction
Bezier, Interpolation, and Hermite curves
Change of basis
Tensor product patches
B-spline introduction and intuition
Surfaces of revolution,
Pipeline rasterization and operations
Painter's and Warnock algorithm
Binary space partitions
Midterm Exam (in class)
Ray triangle intersection
Ray quadric intersection
Constructive solid geometry
Illumination (ambient, diffuse, specular, attenuation)
Light and reflectance models
Shading models (Phong, Gouraud)
Magnification and Minification
Stencil shadow volumes
The rendering equation
Colour matching experiment
Colour conversion between different displays
Colour purity and saturation
Just noticable differences
Gamuts and gamma
Review for final
In case you didn't already know...
McGill University values academic integrity. Therefore, all students must understand
the meaning and consequences of cheating, plagiarism and other academic offences
under the Code of Student Conduct and Disciplinary Procedures. See
www.mcgill.ca/integrity for more information, as well as
www.mcgill.ca/students/srr/honest with respect to student rights and responsibilities.
It should be noted that, in accordance with article 15 of the Charter of Students'
Rights, students may submit examination answers in either French or English.
According to Senate regulations, instructors are not permitted to make special arrangements
for final exams. Please consult the Calendar, section 126.96.36.199, General University
Information and Regulations at www.mcgill.ca. Special arrangements in emergencies
may be requested at your Student Affairs Office. If you have a disability, please
advise the Office for Students with Disabilities (398-6009) as early in the term
as possible so that we can provide appropriate accommodation to support your success.
In the event of circumstances beyond the instructor's control, the evaluation scheme
as set out in this document might require change. In such a case, every effort will
be made to obtain consensus agreement from the class.
Additional policies governing academic issues which affect students can be found
in the Handbook on Student Rights and Responsibilities.