WPI Computer Science Department

Computer Science Department
------------------------------------------

CS 543, Computer Graphics, Fall Semester 2003


Lectures: GH-227, Mondays, 6pm - 8.50pm

Instructor: Prof. Emmanuel Agu, FL-139, 508-831-5568, emmanuel@cs.wpi.edu
Office Hours: Monday, Tuesday, Thursday, Friday: 10:00AM - 11:00AM, Others by appointment

Text: Computer Graphics using OpenGL (second edition) by F.S. Hill Jr.
Supplemental texts (Optional): OpenGL Programming Guide (3rd Edition) by Woo, Neider, Davis and Shreiner
and OpenGL Reference Manual (3rd Edition) by Shreiner

Facilities: You may 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. Important: No matter what platform you write your code on, the final executable must run on the WPI CCC machines with clear instructions on your documentation how to run it. The preferred machine for your work is ccc.wpi.edu.

Class Websites: The class website is at http://www.cs.wpi.edu/~emmanuel/courses/cs543/. A myWPI class website has also been set up. The discussion board should be used for asking questions to avoid excessive emails and so that everyone can benefit from answers given. Emails should be used for specific questions which are unique to you.

Software Utilities: You will be provided a simplified interface to OpenGL, called MiniGL. All programs for this course can be completed by extending one or more of the sample programs provided. You can get miniGL off the web in zip format for the PC and tar format for unix (See homework 1). The README file may be useful in knowing how things are written and getting things going. A has also been provided for the UNIX environment.

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

Notes:

  1. Reading is mandatory, working ahead is encouraged.
  2. Exams are based on both lectures and readings, 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 NR 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). , which can be found in the bin directory in the cs543 account on the CCC servers. Both your executable and source code must be turned in. Files MUST include instructions on compiling and running the program and should be WELL documented. 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 or executables! Any questions regarding the program may be sent to either the TA or me via e-mail, or you may stop by during the posted office hours.

Projects: There will be six projects, two projects in 2D, two in 3D and 2 in raytracing. The 3D projects involve the modeling and rendering of a 3D castle for entry into a national amateur architectural contest An approximation would be fine - I wouldn't expect you to be able 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 doorways, windows, etc) though those of you planning on doing 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 castle could be approximated with a number of cylinders, spheres and boxes, and later enhanced by varying sizes, shapes, and detail. Don't get too detailed, though, as the computational demands in executing your program may become quite tedious during debugging and refinement! 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 after the start of class on the Monday following the due date

Schedule:

Week 1 (Sept 8)
   Topics: overview, graphics intro, basic HW/SW, OpenGL/GLUT intro
   Reading: Ch 1 - 2 
   Project 1 Due: Monday, Sept 15, in-class
 
Week 2 (Sept 15)
   Topics: 2D systems, window-to-viewport mapping, clipping,   
   Fractals, points, scalars, vectors
   Reading: , 3.1 - 3.3, Ch 9, 4.2-4.4, appendix 2
   Project 2 Due: Monday, Sept 29, in-class
 
Week 3 (Sept 22)
   Topics: 3D Transformations and coordinate systems, 3D modeling
   Reading: ch 5.2 - 5.5
 
Week 4 (Sept 29)
   Topics: 3D modeling using polygonal meshes, the synthetic camera, 3D viewing, view volume and projection
   Reading: 6.1, 6.2, ch 7.1 - 7.4, 8.1-8.3
   Project 3 Due: Monday, Oct 13, in-class
 
Week 5 (Oct 6)
   Topics: 3D clipping, illumination, shading 
   Reading: section 7.4, ch 8.4 - 8.6
 
Week 6 (Oct 13)
   Topics: Texturing, Hidden Surface Removal, Shadows
   Reading: ch 13, 10, 11
 
Week 7 (Oct 20)
   Midterm Exam: Oct 20
   
Week 8 (Oct 27)
   Topics: raster graphics (line drawing, polygon fill, etc)
   Reading: ch 10
   Project 4  Due: Monday, Nov 10, in-class
 
Week 9 (Nov 3)
   Topics: Curves, Color spaces, ray tracing
   Reading: 11, 12 
 
Week 10 (Nov 10)
   Topics: Ray tracing
   Reading: ch  14 
   Project 5 , Due: Mon Nov 24, in-class
 
Week 11 (Nov 17)
   Topics: Ray tracing
   Reading: ch  14
 
Week 12 (Nov 24)
   Topics: Ray tracing
   Reading: ch  14
   Project 6, Due: Monday, Dec 8, in-class5
 
Week 13 (Dec 1)
   Topics: Ray tracing
   Reading: ch  14
 
Week 14 (Dec 8)
   Final Exam: Mon, Dec 15, in-class

Class Slides

Week 1 Slides Lecture 1 (part I) [ pdf ] Lecture 1 (part II) [ pdf ] Lecture 1 (part III) [ pdf ]
Week 2 Slides Lecture 2 (part I) [ pdf ] Lecture 2 (part IIa) [ pdf ] Lecture 2 (part IIb) [ pdf ] Lecture 2 (part III) [ pdf ]
Week 3 Slides Lecture 3 (part I) [ pdf ] Lecture 3 (part II) [ pdf ] Lecture 3 (part III) [ pdf ]
Week 4 Slides Lecture 4 (part I) [ pdf ] Lecture 4 (part II) [ pdf ] Lecture 4 (part III) [ pdf ]
Week 5 Slides Lecture 5 (part I) [ pdf ] Lecture 5 (part II) [ pdf ] Lecture 5 (part III) [ pdf ]
Week 6 Slides Lecture 6 (part I) [ pdf ] Lecture 6 (part II) [ pdf ] Lecture 6 (part III) [ pdf ]
Week 7 Slides Lecture 7 (part I) [ pdf ] Lecture 7 (part II) [ pdf ] Lecture 7 (part III) [ pdf ]
Week 8 Slides Lecture 8 (part I) [ pdf ] Lecture 8 (part II) [ pdf ] Lecture 8 (part III) [ pdf ]
Week 9 Slides Lecture 9 (part I) [ pdf ] Lecture 9 (part II) [ pdf ] Lecture 9 (part III) [ pdf ]
Week 10 Slides Lecture 10 (part I) [ pdf ] Lecture 10 (part II) [ pdf ] Lecture 10 (part III) [ pdf ]
Week 11 Slides Lecture 11 (part I) [ pdf ] Lecture 11 (part II) [ pdf ] Lecture 11 (part III) [ pdf ]
Week 12 Slides Lecture 12 (part I) [ pdf ] Lecture 12 (part II) [ pdf ] Final Exam Review[ pdf ]

Old Exams

Past Midterm Exams Midterm Exam review [ pdf ] Midterm 96 Fall Semester [pdf] Midterm 96 Spring Semester [pdf] Midterm 02 Fall Semester [pdf] Midterm 02 Spring Semester [pdf]
Final Exams Final 98 [pdf] Final 02 Fall [pdf]

Main Web Resources Miscellaneous Web Resources

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

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

mailto:webmaster@cs.wpi.edu