WPI Computer Science Department

Computer Science Department

CS 4731 Computer Graphics, D Term 2010

Lectures: FL-320, MTRF, 1pm - 1.50am

Teaching Assistants: TJ Loughlin (tjloughl@cs) and Jia Wang (wangjia@cs)

Instructor: Prof. Emmanuel Agu, FL-139, 508-831-5568, emmanuel@cs.wpi.edu
Office Hours: Tuesdays 2 - 3PM, Thursdays: 3PM - 4PM; Others by appointment

Required Text: Computer Graphics using OpenGL (Third edition) by F.S. Hill Jr. and S Kelley

Supplemental texts (Optional):

Facilities: You should do your assignments in C/C++ but may choose to develop your code on either Unix or Windows. Note that compiled graphics code tends to be large and may consume more than one megabyte of disk space. Very important: No matter what platform you write your code on, the final executable must run on the WPI CCC Unix machines with clear instructions in your documentation on how to run it. Your submitted code will be compiled, tested and graded on the machine ccc.wpi.edu. Make sure your code runs well on that machine before submitting it. Points will be deducted if you do not check that your code works on that machine.

Class Websites: The class website is at http://web.cs.wpi.edu/~emmanuel/courses/cs4731/D10/. A myWPI class website has also been set up. Please post your questions on the discussion board to avoid excessive emails and so that everyone can benefit from answers given. You may send email to me if you have questions on matters that concern only you.

Software Utilities: Your programs will be written in OpenGL. OpenGL is installed on the CCC machines. For project 4, you will be provided a simplified interface to OpenGL, called MiniGL. You will get miniGL software later in the course.

Grade Policy: 50% exams (2 exams), 50% assignments (4 projects)


  1. Reading is mandatory, working ahead is encouraged.
  2. Exams shall be based on lectures, readings and a bit of project knowledge, so class attendance is strongly encouraged.
  3. Working and discussions in pairs is okay. However, each student must turn in different and unique projects.
  4. Cheating is strictly forbidden
  5. Cheating (a.k.a., academic dishonesty), defined as taking credit for work you did not do or knowledge you do not possess, is strictly forbidden. First offenders will receive a zero grade for the assignment or exam in question and an academic dishonesty report will be filed with the Office of Student Affairs. Repeat offenders will receive an F for the course and the case will be brought before the campus hearing board (see Student Handbook).
  6. All assignments should be submitted using the turnin facility (For more info on turnin, see http://www.cs.wpi.edu/Help/turnin.html). Both your executable and source code must be turned in. Your documentation MUST include the structure of your project, what each file contains and instructions for compiling and running the program. Typically, a well-organized README ASCII text file is sufficient. Insufficient documentation will result in a loss of points. Data files should include a comment line at the start giving your name, the assignment for which it is intended, and the most recent date in which the file was changed. Please do NOT turn in hardcopies!! Your README file should be ASCII text so that the TAs can open them on the same machine they will do the grading. Do NOT send in documentation in Microsoft word or Apple MAC files.

Projects: There will be four projects (1 project in 2D and interaction, 3 projects in 3D). The 3D projects involve the modeling and rendering of a car for entry into an amateur car design contest. You will model your car using basic shapes. An approximation would be fine - I would not expect you to create a state-of-the-art model - but it should be recognizable. You can choose a fixed configuration of components (location and orientation of windows, doors, windscreen, tires, etc) though those of you planning to carry out research or further projects in graphics might want to attempt some greater level of detail.

You should keep the level of detail and complexity in your object low until you get the basic functionality down, and then use your imagination to make it as interesting as you wish. For example, a basic car could be approximated with a number of cylinders, spheres and boxes, and later enhanced by varying sizes, shapes, and detail. Late assignments (turned in after the start of class on the due date) will be penalized 15 percent per day. Assignments will not be accepted once it is late by 4 days or more.


Week 1 (Mar 15 - 19)
   Topics: overview, graphics intro, basic HW/SW, OpenGL/GLUT intro, points, scalars, vectors,
   Reading: Ch 1 - 2, 3.1 - 3.3 
  Project 0  Not to be submitted 

Week 2 (Mar 22 - 26)
   Topics: 2D systems, window-to-viewport mapping, clipping, Fractals, 3D modeling
   Reading: Appendix 4, 4.1-4.4, 6.1, 6.2
   Project 1  Due: Tuesday, March 30, 11.59PM

Week 3 (Mar 29 - Apr 2)
   Topics: 3D Transformations and coordinate systems
   Reading: ch 5.1 - 5.5
   Project 2  Due: Tuesday, April 6, 2010, 11.59PM

Week 4 (Apr 5 - 9)
   Topics: The synthetic camera, view volume and projection
   Reading: ch 7.1 - 7.4
   Midterm Exam: Tuesday, April 13, 2010

Week 5 (Apr 12 - 16)
   Topics: Illumination and shading
   Reading: 8.1-8.3
   Project 3  Due: Tuesday, April 20, 2010, 11.59PM

Week 6 (Apr 19 - 23)
   Topics: Texturing, Hidden Surface Removal
   Reading: ch 8.4 - 8.6

Week 7 (Apr 26 - Apr 30)
   Topics: Raster graphics, curves
   Reading: ch 9, 10
   Project 4  Due: Thursday, April 29, 11.59PM

Week 8 (May 3 - 4)
   Topics: Color spaces
   Reading: ch 11
   Final Exam: May 4, 2010

Class Slides
Old Exams

Schedule for office hours

Note: All TA (TJ and Jia) office hours will be held in the ADP lab

Monday Tuesday Wednesday Thursday Friday
9:00 - 10AM Jia
10:00 - 11AM Jia
11AM - 12PM Jia
1:00 - 1:50AM Class Class Class Class
2:00 - 3:00PM
3:00 - 4:00PM TJ Jia TJ TJ
4:00 - 5:00PM TJ Jia Jia Jia
5:00 - 6:00PM TJ Jia
6:00 - 7:00PM
7:00 - 8:00PM TJ
8:00 - 9:00PM TJ
9:00 - 10:00PM TJ

Main Web Resources

[Feedback] [Search Our Web] [Help & Index]

[Return to the WPI Homepage] [Return to CS Homepage]