Department of Computer Science
Worcester Polytechnic Institute

Course Title: Computer Graphics
Course Number: CS-543
Term Fall 2008

Meeting Info: Tuesdays, 6:00pm-8:50pm,
Fuller Labs (FL), Room 311

Instructor: Prof. Robert W. Lindeman
E-Mail: gogo at wpi.edu
Office: FL-B24a
Telephone: x6712

Textbook: Hill, F.S., Kelley, S.M., Computer Graphics Using OpenGL, Third Edition, 2007, Prentice Hall, ISBN: 0-13-149670-0

Read each chapter during the week it is assigned. The books discuss much more than I can cover in class, and I will cover things not in the books. You must come to class prepared!

Course Objectives:

This course is designed to give you an appreciation for the complexity involved in representing scenes (called modelling) and then drawing them using the computer (called rendering). The topics covered here have been the source of much excitement in the field of CS, in part due to the instantaneous feedback you get while creating programs that do these sorts of things, partly because of the trade-offs one must make in order to balance realism with modelling and rendering time, and partly because of the ability to "show off" what you have created to others.

There are several objectives for this course:

Grading:

50% Projects
25% Midterm Exam
25% Final Exam

Projects:

The assignments for this course consist of several programming problems. The programming assignments are designed to supplement the theoretical foundations established in the lecture with practical experience. The assignments for this course are very demanding, and will require a lot of time. On the flip side, most people enjoy the assignments in this course, so it should be okay.

Here is a link to instructions for downloading and installing MinGW, which is a good way to write portable code under Windows. If your code compiles and runs under Windows using MinGW, there is a good chance it will also do so on CCC.

Each assignment is to be done individually, though discussion about different approaches is encouraged (more about this below).

Late Policy:

Assignments are due at the specified date and time.
Late assignments will be penalized 10% for each 24-hour period after the due date/time. You will be given adequate time to complete each assignment, if you start when it is assigned. Assignments will be turned in electronically, and the date/time received will be used to determine any late penalty.

Exams:

All exams will be closed book and closed note. If you read the book, keep up with the assignments, ask questions in class, and study hard, you should have no problem with the exams. Participation in the exams is mandatory. See the instructor if you expect not to be available on the exam dates.

Office Hours:

You do not need an appointment to come to office hours; just show up and take your turn. Office hours are an important way for you to get help or to discuss anything you have on your mind. I am there to help you; that is an important part of my job, so please make good use of these hours. Here is a link to my weekly schedule, including office hours. Feel free to come by during free times in my schedule, if you need to.

Discussion Boards:

There is a place on the WPI Game Development Club Forums for this course, and you are encouranged to post your questions there, and to look for answers there. We will be using this heavily during the course for clarifications, corrections, etc. Please take advantage of this as well.

General:

Questions and discussion are highly encouraged throughout the lecture hours. The best way to reach the instructor is by using e-mail.

Class Conduct:

This course is intended for serious students. Participants will be expected to adhere to all rules of professional behavior. As such, students are expected to discuss their work with each other, but are also expected to do the work by themselves. Any breach of professional ethics as evidenced, for example, by copying exams or assignments, downloading code from the Internet, cooperating in more than discussions and study groups, misusing computer resources, or using outside help of any kind, will be considered adequate reason for an NR in the course. It is to be emphasized that knowledge of material and professional behavior are tied together; failure in one of them negates any excellence in the other. Students who stay in the course past the first three days agree to adhere to the strictest rules of professional behavior.

The official WPI statements on Academic Honesty can be accessed at http://www.wpi.edu/Pubs/Policies/Honesty/Students/. Those who have any doubt about what that means, and fail to gain that understanding after a discussion with the instructor, are encouraged to drop this class. Remember this warning - any breach of ethics will give you an F for the course.

Course Schedule:

Week Dates Lecture Topic Materials Book Chapters Projects
1 09/02 Introduction; Getting your feet wet in OpenGL. Set 1 (1up)
Set 2 (1up)
Set 3 (1up)
Ch. 1-2 Project 0 ASSIGNED
2 09/09 2D Systems; Window-to-viewport Mapping; Clipping; Points, Scalars, and Vectors Set 4 (1up)
Set 5 (1up)
Ch. 3, Ch. 4, App. 4 Project 1 ASSIGNED
3 09/16 3D Coordinate Systems; 3D Modeling Set 6 (1up)
Set 7 (1up)
Ch. 5 Project 1, Part 1 DUE
Project 2 ASSIGNED
4 09/23 3D Modeling using Polygonal Meshes; 2D Transformations Set 8 (1up)
Set 9 (1up)
Ch. 6.1-6.2, 6.6, Ch. 7.1-7.5, Ch. 8.1-8.3 Project 1, Part 2 DUE
5 09/30 3D Transformations; Fractals; The Synthetic Camera Fractal Terrain Applet Ch. 7.4, Ch. 8.2 Project 2 DUE
Project 3 ASSIGNED
6 10/07 3D Clipping; Illumination and Shading; Texturing; Hidden-Surface Removal; Shadows Set 12 (1up)
Set 13 (1up)
Ch. 8.4-8.6 Project 1, Part 3 DUE
Project 3, "prep" work DUE
7 10/14 MIDTERM EXAM


8 10/21 Raster Graphics: Line Drawing, Polygon Fill, etc. Set 14 (1up)
Ch. 9 Project 3 DUE
9 10/28 Curves; Color Spaces Set 15 (1up)
Set 16 (1up)
Set 17 (1up)
Set 18 (1up)
Ch. 10, Ch. 11, Ch. 12 Project 1, Part 4 DUE
10 11/04 Ray Tracing Set 19 (1up)
Set 20 (1up)
Ch. 12
11 11/11 Ray Tracing Set 21 (1up)
Set 22 (1up)
Ch. 12 Project 4 ASSIGNED
12 11/18 Ray Tracing Set 23 (1up)
Set 24 (1up)
Ch. 12
13 11/25 NO CLASS - THANKSGIVING

Project 4 DUE
14 12/02 GPU Programming; Advanced Mapping Functions: Bump, Normal, Environment, Parallax, etc. Set 25
Set 26
CG Tutorial
CG Environment Mapping
Project 5 ASSIGNED
15 12/09 GPU Programming, continued; Review. Set 27 (1up)
Supplemental Readings Dec. 12: Project 5 DUE
16 12/16 FINAL EXAM


Main Web Resources

Miscellaneous Web Resources