15-463 Computer Graphics 2 - Administrative Info

Semester: Spring 2001
Time: TR 10:30-11:50
Place: Doherty Hall 2315

Professor: Paul Heckbert

Teaching Assistants:
To email Paul and both TA's, please use 463-staff@cs

Course Secretary: Virginia Arrington

Electronic Information

The class web page at /afs/andrew/scs/cs/15-463/pub/www/463.html or

is the primary online source for documents and info. The slides for batches of lectures will periodically be made available on the notes page. We recommend you print the lecture notes and annotate them. Note that not all of the slides shown in lecture will be available electronically.

The class newsgroup is cmu.cs.class.cs463. This group will serve as a Q&A forum. Feel free to ask questions or exchange information. We'll read the group and answer. We'll also post important official announcements there, as well as in the web page.

Public and private files for this class are in the AFS hierarchy

which we call classdir. Each student will get a subdirectory in classdir/students named after his or her Andrew ID, to be used for electronic submission of assignments, and to meet your class-related storage needs. The quota for your student directory will eventually be 75 megabytes. (As of 15 Jan 01 it is half that; pairs of students share a 75 MB volume). Public files are in classdir/pub. This directory holds these WWW files, documentation, and starter code for assignments.


We assume you are comfortable with C++, the OpenGL graphics library, calculus, elementary linear algebra, 3-D transformations, homogeneous matrices, and splines. And you should be familiar with basic raster graphics, Bresenham's algorithm, implicit surfaces, parametric curves, the z-buffer algorithm, Phong shading, ray tracing, color, and diffuse and specular reflection. If you are lacking some of this background then you'll be expected to pick it up mostly on your own.

Registrar's info about this course: schedule , course description (big PDF)

Required Text

Other Texts and Sources


Grading Policies

The following are approximate: The programming assignments be worth 12% each, and the homeworks 9% each.

Late penalty on assignments: 20% of their value per CMU class day (a class day is a non-holiday weekday) except in cases of medical emergencies or other special circumstances (speak to professor in advance, if possible). You may use Maple or similar systems to help with algebra on assignments, but where you do, turn in a transcript. There is no set formula for assigning letter grades in this class. In particular, to get a good grade you need to do well in both the programming assignments and the written assignments.

Assignments and Homework

There will be two kinds of assignments: Programming assignments and homeworks.

For programming assignments, we encourage you to use the software tools we provide (which means working on a platform we support, or bringing the tools up on some other platform yourself.) Supported platforms will be Andrew cluster Linux PC's and Sparcs. If you choose to use something non-standard, you're more on your own. The current plan is that all assignments will be done individually, not in groups.

Grading on programming assignments is based on your programs' functionality, usability, and on the quality of the animations or images you produce. In the assignment handouts, we will clearly identify the required or extra credit features. You must write these portions of the software yourself. (Two students were caught stealing & exchanging code in 15-462 recently, and they were punished). Other portions of the software are not required to be your own work. Libraries for user interfaces, model file parsing, and picture I/O can be shared or borrowed. If you borrow software from elsewhere (e.g. another student, a book, the internet), you should tell the professor or TA. You are free to discuss the assignments with others, but do not copy each others' work.

This is not a user interface course. If you feel compelled to hone your UI, we suggest you finish the requirements of the assignment first and only then polish your user interface.

The homeworks are more mathematical and algorithmic in nature, and give you a preview of the kinds of questions you might expect on the midterm and final.


You can use any language or machine you like. Machines with 24 bits per pixel are preferable, since they have better color resolution. On a 16 or 8 bit display, color pictures must typically be displayed with dithering that masks the "true" appearance of your pictures.

The Wean cluster includes:

Note that 15-462 will be using these machines this semester also, so contention for these machines may be high at times. Joel Welling, the instructor for that course, and I have attempted to schedule the assignments to minimize such problems. If you can't find a machine in Wean, you could always try the other clusters on campus. Also good, if you have access to them, are SGI workstations. Although their processor speeds are slower than top-of-the-line PC's, their graphics performance is sometimes faster (depends on the model).

Also, there are PC's running Windows NT in Wean 5205 and 5207, but if you use these, you'll be more on your own.

Digital video equipment is available in the CFA Multimedia Studio.

Software libraries we will use: FLTK (user interface library), OpenGL (3D graphics library), Xlib (X window system), and SVL (vector/matrix library). Support code for some assignments is written in C, for others, it is written in C++. See software page for more info.

Other courses related to computer graphics at CMU
Jobs and scholarships in computer graphics

15-463, Computer Graphics 2

18 Jan. 2001