Instructor: Prof. Matthew Ward, FL-134, 831-5671, matt@cs
Office Hours: Monday: 11:00AM, Thursday: 10:00AM, Tuesday and Friday: 3:00PM,
Others by appointment
Teaching Assistants: Huahui Wu: FL-314, 831-5856, flashine@cs and
Abhishek Kumar: FL:A21, 831-5951, akumar@cs
TA Office Hours (in FL244): Tuesday: 10:00AM-12:00PM,
Wednesday: 10:00AM-11:00AM 2:00PM-5:00PM, Thursday: 10:00AM-12:00PM and
3:00PM-5:00PM
Text: The primary text for the course is Interactive Computer Graphics, a Top-Down Approach with OpenGL, by Edward Angel (second edition). Supplemental texts will be placed on reserve in the library which may assist you in understanding some of the more difficult concepts.
Facilities: You may do your assignments on any machine that supports OpenGL (packaged with Windows '95 and beyond) or MESA, a public domain version of OpenGL for Unix and Linux. Makefiles for building MESA programs on WPI can be found in /cs/cs4731/software.
Software Utilities: You will find a simplified interface to OpenGL, called MiniGL, in the /cs/cs4731/software/demos directory on wpi. All programs for this course can be completed by extending one or more of the sample programs provided.
Grade Policy: 50% exams, 50% assignments, though low grades early in the term may be forgiven in cases where students are performing very well at the end of the course. You must obtain a passing grade for both the exam portion and project portion.
Supplemental Material: All handouts and other documents can be found in the /cs/cs4731/docs directory on wpi.
Notes:
Projects: The term project involves the modeling and rendering of a 3-D vehicle for travel in outer space (real or fictitious). An approximation would be fine - I wouldn't expect you to be able to create a detailed model of the Millenium Falcon, for instance - but it should be recognizable. You can choose a fixed configuration of components (location and orientation of engines, laser cannons, landing gear, etc.), though those of you planning on taking CS4732 might want to consider configuring the components in such a way as to facilitate bending and twisting motions.
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 starship 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. Assignments will not be accepted after the start of class on the Monday following the due date.
Schedule:
Week 1 (August 30 - September 6)
Topics: Overview, Basic HW/SW, Intro to OpenGL, Geometric Modeling
Reading: Ch. 1 - 2, 8.1-8.5
Week 2 (September 7 - 13)
Topics: Interaction, Vectors, Coordinate Systems
Reading: Ch. 3.1-3.10, 4.1-4.4
Project 1 due: September 7
Week 3 (September 14 - 20)
Topics: Transformations and Viewing
Reading: Ch. 4.5 - 4.11, 5.1-5.6
Project 2 due: September 14
Week 4 (September 21 - 27)
Topics: Projection, Scan Conversion, Light
Reading: Ch. 5.7-5.10, 7.8-7.11, 6.1-6.5
Midterm Exam: September 24
Week 5 (September 28 - October 4)
Topics: Shading, Clipping, Hidden Surface Removal
Reading: Ch. 6.6-6.11, 7.1-7.7
Project 3 due: October 1
Week 6 (October 5 - 11)
Topics: Color, Ray Tracing, Texture
Reading: Ch. 7.12, 6.10, 9.1-9.8
Project 4 due: October 8
Week 7 (October 12 - 18)
Topics: Curved Surfaces
Reading: Ch. 10.1-10.8
Project 5 due: October 12
Project 6 due: October 18
Final Exam
Gallery:
Web Resource:
Tutorial for running GL on Windows: