This is a graduate level introduction to computer graphics: data structures, algorithms, hardware and software tools for producting three dimensional graphical software. In this course you will learn to use the OpenGL graphical library to produce interactive applications running under the Windows families of PC operating systems, and/or Unix environments.
The course is project oriented, with one warm-up and three graded projects. You may choose to carry out your projects individually or in teams of two or three people. There will be a mid-term take-home exam and a final exam. Both are open-book exams.
There will also be homework problems, which are not usually collected.
Instead, the students are randomly selected to present the results
of their work to the class. Failure to be prepared generates a
zero grade for that assignment. If you find yourself having trouble
with a homework assignment, come to office hours or contact Dr.
Moshell via e-mail to arrange an appointment.
| Area | Percent of Grade |
| Projects: 10%, 15%, 15% | 40% |
| Exams: 25%, 25% | 90% |
| Homework and Class Participation | 10% |
| 100% |
Text: Computer Graphics: Principles and Practice. Foley, van Dam, Feiner & Hughes. Addison-Wesley 1990. Second Edition. In the schedule below, this text is denoted by FVD. Other readings from sites on the WorldWideWeb are provided below this chart.
Class Location: BA (Business Administration) 207. Mon, Wed. 4:30 to 5:45 PM.
Office Hours: MW 1-2:30 and 3:45-4:30 PM, Room CS 234. 823 5341. Tue-Thur, call 658 5021.
| 8/26/96 | Getting Started | FVD 1,2 | ||
| 8/28/96 | Windows Programming | W3:Windows Concepts | ||
| 9/2/96 | Memorial Day | |||
| 9/4/96 | Week 2 continues | OpenGL introduction | W3:OpenGL | |
| 9/9/96 | ||||
| 9/11/96 | Geometry for Graphics | FVD 5 | ||
| 9/16/96 | Geometric ops in OpenGL | W3:OpenGL | ||
| 9/18/96 | ||||
| 9/23/96 | Viewing in 3D | FVD 6 | ||
| 9/25/96 | ||||
| 9/30/96 | Perspective in OpenGL | W3:OpenGL | ||
| 10/2/96 | Object Hierarchy | FVD 7 | ||
| 10/7/96 | VRML (Guest lecturer) | Midterm, | ||
| 10/9/96 | VRML continues | Exam, due 10/14 | ||
| 10/14/96 | Raster Algorithms | FVD 3 | ||
| 10/16/96 | ||||
| 10/21/96 | Graphics Hardware | FVD 4 | ||
| 10/23/96 | I/O, Dialogue Design | FVD 8,9 | ||
| 10/28/96 | User Interfaces | FVD 10 | ||
| 10/30/96 | Virtual Reality etc. | |||
| 11/4/96 | Curves & Surfaces | FVD 11 | ||
| 11/6/96 | Solid Modeling | FVD 12 | ||
| 11/11/96 | Veteran's Day | |||
| 11/13/96 | Colored Light; Realism | FVD 13, 14 | ||
| 11/18/96 | Visible Surfaces | FVD 15 | ||
| 11/20/96 | Illumination | FVD 16 | ||
| 11/25/96 | Texture Mapping | FVD 17 | ||
| 11/27/96 | Levels of Detail | |||
| 12/2/96 | SGI's Performer | |||
| 12/4/96 | OpenInventor | |||
| 12/9/96 | FINAL EXAM WEEK |
Initial Sources. The following sites on the WorldWideWeb will serve as starting points for your search for reference and tutorial materials.
This site contains lesson notes for a computer graphics course at the University of Toronto.
http://www.dgp.toronto.edu/people/van/courses/csc418/opengl1.html
The Silicon Graphics reference site for OpenGL is located at:
http://www.sgi.com/Technology/openGL/english.html
Information about how to download the MESA freeware version of OpenGL for your PC is located at this URL:
http://www.ssec.wisc.edu/~brianp/Mesa.html
Our Lecture Notes. Depending on the available time, I will try to post lecture notes for each class. To master computer graphics, there are a number of concepts, a whole bunch of terms, and some specific skills that you must learn. In these notes, we'll provide a list of these items - but we won't always provide their definitions. To do so would mean rewriting the whole textbook and much of the Web.
Think of these Lecture Notes as a kind of check-list of things you should know about. You still have to go to the primary sources to get the explanations, and do the projects to get the skills.
We will be using the OpenGL programming environment, in its freeware manifestation by the name of MESA. Follow that link to find out how to get your own MESA software. You will need Visual C++ to use this product on your PC. We are making arrangements to also support OpenGL on the IBM R6000 workstations and Pcs in the Digital Media Laboratory.
Lab projects will be graded by two means: demonstrations and source code reviews. On the day that each lab is due, you and I will arrange an appointment for a demonstration (usually within the next 3 to 5 days; sometimes BEFORE the due date if you're ready.) You are responsible for making sure that the software runs on a machine in the Digital Media Lab, before you schedule a demo. At the demo, you will hand me a printed copy of the source code OR you can e-mail your code to me. If you are working as a member of a two- or three-person team, only one copy of the code is required.
Internal documentation must include, at a minimum, your name, date, and a sentence at the head of every procedure describing its purpose. It is very useful to also include information about which other procedure(s) call this procedure.
And Now, on with the show! To the Index of the Lecture Notes.