COSC456 Computer Graphics, COSC556 Advanced Computer Graphics

Last modified: "March 26, 2012 10:57:05 by matt"

Instructor: Matt Evett ; Dept. Computer Science; room 511C Pray-Harrold
Tel: 734-487-1227; e-mail:;

Office Hours: Hours are here.
I try to maintain an "open door policy": you are welcome to drop by at times other than office hours, and generally I'll be able to talk to you, but sometimes I may be too busy.


Make sure you make use of the emuonline site for this course. There are announcements there for the assignments!! The emuonline site is the official mechanism for distributing information about the course. All students in the class are required to register for that caucus. To do so you will need an EMU e-mail account. This is free. If you don't already have one, go the the Halle library and get one.

Text Book (source code, etc.)

We're using Angel and Shreiner's Interactive Computer Graphics, 6th ed. (Addison Wesley). The source code for the major projects described in the previous edition of the textbook can be found here.

Assignments (subject to change!!)

Submissions: To submit assignments, go to

Caveat Emptor: Programming and other assignments should be completed by each student on their own. It is expressly forbidden for students to collaborate on assignments without the express permission of the instructor. A few friendly pointers and a bit of advice is fine, but "borrowing" or copying another's work is grounds for punitive action, including a failing grade and possible expulsion from the University. In general, do not find yourself in a situation in which you have given a copy of your code to someone, or you have been given someone else's code.

Bouncing Ball(#1) Due date: Feb. 2?

Dungeon Crawl Due date: March 27 ?

Hilly Dungeon Crawl Due date: April 3 ?

Animated Blender Robots Due date: April 23 ?

Answers to assignments:

None yet!

Lecture Notes

Notes on Blender

These are just my talking notes. They are pretty rough--I've not tried to clean them up especially.

OpenGL Tutorials and Demos

There are many tutorials online. Demonstrations illustrating basic GL stuff such as lighting, transformations, and textures can be found at The demos are written in C. You can download both executables and source code. I recommend the source code as a way of seeing how GL applications can be written.

Programming Environment

We will be programming mostly in C and C++, using the OpenGL graphics library. OpenGL is not object-oriented, so doesn't make full use of C++. Nonetheless, you can certainly write OO programs that link to the C-based OpenGL. You will need both OpenGL, GLEW and GLUT (a windowing toolkit based on OpenGL).

OpenGL Here is some information about how to install OpenGL (if needed), GLEW and GLUT on a PC running Windows 7.

Working on a Mac with XCode: click here for information.

Documentation of OpenGL

Other than the Mesa doc, I recommend the book, OpenGL Programming Guide, by Mason Woo, et al.

There is on-line documentation of GLUT. See, also, the main GLUT page.