Department of Computer Science
Worcester Polytechnic Institute

Course Title: Computer Graphics
Course Number: CS-543
Semester Fall 2015

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

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

Textbook: Angel, E., Shreiner, D., Interactive Computer Graphics: A Top-Down Approach, 7th Edition, 2015, Pearson, ISBN: 0-13-357484-9

Read each chapter during the week it is assigned. The book discusses 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 modeling) 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 modeling 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:


50% Projects
25% Midterm Exam
25% Final Exam


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.

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.


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.


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, or misusing computer resources, will be considered adequate reason for an F 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 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 with WebGL. Course Intro Slides
WebGL Intro Slides
Ch. 1-2 Project 0 ASSIGNED
Project 1 ASSIGNED
2 09/09 Animation & Input Image Formation Slides
Pipeline Intro Slides
WebGL Program Structure Slides
WebGL Complete Programs Slides
Ch. 3 Project 1.1 DUE
3 09/16 Geometry Shaders Slides
Points, Scalars, Vector Slides
3D Modeling Slides
2D Transformation Slides
3D Transformation Slides
Ch. 4 Project 1.2 DUE
4 09/23 Transformations; Viewing WebGL Transforms Slides
Applying Transforms Slides
Camera Positioning Slides
Camera Control Slides
Viewing Projections Slides
Ch. 4 & 5
5 09/30 Viewing; Lighting Illumination & Shading-I Slides
Shading-II Slides
Viewing Projection-I Slides
Viewing Projection-II Slides
Ch. 5 & 6
6 10/07 Shading; Projections; Meshes Mesh Slides
Ch. 6 Project 1.3 DUE


9 10/28 Mapping Techniques Fractals & IFS Slides
Ch. 7 Project 2 ASSIGNED
10 11/04 Mapping Techniques Cliff's Mapping Slides
Mapping Slides
Emmanuel's Mapping Slides
Ch. 7 Project 2: PREP WORK DUE
11 11/11 Rasterization, Hidden Surface Removal, & Clipping Acceleration Structures Slides
Ch. 8 Project 2: New Work DUE
12 11/18 Rasterization, Hidden Surface Removal & Clipping; Hierarchy Hidden Surfaces Slides
Rasterization Slides
Ch. 8 & 9 Project 3 ASSIGNED

Project 3: PREP WORK DUE (Tuesday)
14 12/02 Clipping; Curves & Surfaces 2D Clipping Slides
3D Clipping Slides
Curves & Surfaces Slides
15 12/09 Advanced Topics; Final Review

Project 3: New Work DUE
16 12/16 FINAL EXAM

Main Web Resources

Miscellaneous Web Resources