15-463 Computer Graphics 2 - Administrative Info

When: Spring 1999 (Jan. 12 - Apr. 29)
Time: TR 10:30-11:50
Place: Margaret Morrison A14 (basement)

Professor: Paul Heckbert

Teaching Assistant: Andrew Bernard Course Secretary: Cleah Schlueter

Electronic Information

The class web page at /afs/andrew/scs/cs/15-463/pub/www/463.html or http://www.cs.cmu.edu/afs/andrew/scs/cs/15-463/pub/www/463.html 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 take your own notes on 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 WWW page.

Public and private files for this class are in the AFS hierarchy /afs/andrew.cmu.edu/scs/cs/15-463/, 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 be 75 megabytes. Public files are in classdir/pub. This directory holds these WWW files, documentation, and starter code for assignments.

Prerequisites

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

Required Text

Other Texts and Sources

Also

Grading Policies

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

Late penalty on assignments: 20% per CMU class day (a class day is a non-holiday weekday). Assignments WILL NOT BE ACCEPTED beyond 5 class days 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 written 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 Sparcs, SGI's, and Linux PC's. If you choose to use something non-standard (at your own risk), you'll need to make one available to us for demos.

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. We suggest you keep user interface hacking to a minimum (at least don't let it interfere with getting the graphics working).

Computers

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 ten Silicon Graphics Indy's in Wean 5205 are most recommended, since they have 24 bits per pixel (software on cluster machines) and 3-D graphics hardware. Note that 15-462 will be using these machines this semester also, so contention for these machines may be high. There are also nine SGI Octane's in CFA 317, which are even faster, but you have to request an account, and they're not on the Andrew File System. They also have a large flatbed scanner, a 3' wide color printer there, and digital video equipment there.

Sun workstations will be supported, but they employ a software implementation of OpenGL called Mesa that is about 10x slower than the hardware implementation on SGI's. The Sun Sparc Ultra Creators in Wean 5201 have 24 bits per pixel. Less desirable are the Sun Sparcs in Wean 5202 & 5204, which have only 8 bits per pixel. You might want to do software development on the Sparcs and final testing and demos on the SGI's.

PC's running Linux will also work well. You will need Mesa OpenGL for them, also. There are a number of them in Wean 5203.

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

Software libraries we will use: Xforms (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

ph@cs.cmu.edu
Jan. 1999