91.546 Computer Graphics I

Fall Semester 2009

Last update: 16 November 2009


Course Information

Instructor: Dr. Hugh Masterman
The MITRE Corporation
Bedford, MA 
Email: hcm@mitre.org
Location: Cadence
Rt. 129 Chelmsford, MA
Time: Tuesdays
5:30 P.M. - 8:00 P.M.
Texts: Required:

Interactive Computer Graphics: A Top-Down Approach with OpenGL
Fifth Edition
Edward Angel
> Addison Wesley, ISBN 0-321-53586-3

OpenGL Programming Guide
Sixth Edition
Dave Schreiner,Jackie Neider, Tom Davis, Mason Woo 
Addison Wesley, ISBN 0321481003

Suggested:

OpenGL:  A Primer 
Edward Angel
Addison Wesley, ISBN 0-201-74186-5


Programming Environment

This course will take a "top down" approach to computer graphics, with an emphasis on graphics programming at the API level. The textbook and classroom examples will use OpenGL, a widely implemented and accepted API. For consistency, students are expected to use the OpenGL API and the C (or C++) language in completion of the short programming assignments and encouraged to use them for the final projects as well. See the Silicon Graphics OpenGL Homepage for information on free downloadable versions for a variety of platforms and operating systems.

Setting up an OpenGL Environment in Microsoft Visual Studio 6.0.

Setting up an OpenGL Environment in Microsoft Visual Studio.NET

Nitin Sonawane offers these instructions for setting up a Linux OpenGL Environment.

Here are the required files for a Microsoft OpenGL environment:

OpenGL32.lib

glu32.lib

glut32.lib

opengl32.dll

glu32.dll

glut32.dll

Return to Index.


Grading

This course will focus on graphics programming. There will be four programming assignments and a  midterm exam at about the eighth week of the course. Seventy five percent of the grade will be determined by the programming assignments taken together, and twenty five percent by the midterm. Class participation is encouraged, and will only be considered as a positive factor in grading.

Academic Honesty

The majority of the grade for this course is based upon programs submitted as solutions to the short projects and the final project. I expect all code submitted by students in this course to be their own. In exceptional circumstances, it is permissible to borrow appropriate small sections of code from other authors. Whenever this is done, the student must provide appropriate reference. Reference must include the author of the code and a location that I can use to check the source. References should take the form of comments within the code  that delineate exactly what lines were used.  In other words, there should be a comment at the beginning and end of the borrowed code.  Submissions that include copied but unreferenced code will receive zero creditReturn to Index.

Syllabus

  1. Introduction to Graphics
  2. Simple Graphics Programming
  3. Input and Interaction
  4. Geometrical Transformations
  5. Viewing in 3D
  6. Shading
  7. Implementation
  8. Textures and Images
  9. Graphics and the Web
Return to Index.

Summary Schedule for Fall 2009

Key Dates

Return to Index.

Course Schedule and Assignments

 Week 
       Material Covered         
      Assignment     
1
Sept. 8

Introduction to Graphics.   Charts.

Read Angel Ch. 1
2
Sept. 15
Class will continue to be held at Cadence Design at 5:30 PM

Simple graphics programming:  2D primitives.
Introduction to OpenGL. 
Charts. Code Example.

Read Angel Ch. 2
3
Sept. 22
 Handling Input.  Charts.
Code Example: Square

Menu Code Example

Read Angel Ch. 3

4
Sept 29

Introduction to Affine Spaces and Transformations.  Charts.
Code Example.

Read Angel Ch. 4

Assignment 1

5
Oct 6
Projections.  Charts.
Projection Code Example
Animated Cube Example
Read Angel Ch. 5
6
Oct. 13

Lighting  Charts.
Example code: Lighted Sphere

Assignment 1 due.

7
Oct. 20

More on lighting. Modified Lighted Sphere
Midterm Review

Simple Airplane Example

Assignment 2
8
Oct. 27
MIDTERM

MIDTERM STUDY GUIDE

9
Nov. 3

Review Midterm
Navigation
Multiple Windows
Multiple Window Sample Code
Outside In Viewing Code
Inside Out Viewing Code

Assignment 2 due

Assignment 3

10
Nov. 10
Pixel Operations, Texture Mapping  Charts
Texture Code Example.
11
Nov. 17
Fog Blending: Charts
Fog Example Code

Scene Graphs  Charts

Assignment 3 due.

Assignment 4

12
Nov. 24
No Class: Thanksgiving Break (Cadence Closed)
13
Dec. 1
14
Dec. 8
Assignment 4 due

Return to Index.