COSC456 Computer Graphics, COSC556 Advanced Computer Graphics

Last modified: "September 5, 2018  10:57:05 by matt"
Nota Bene: this is an archival web site.  See canvas.emich.edu for the up to date materials.

Instructor: Matt Evett ; Dept. Computer Science; room 511C Pray-Harrold
Tel: 734-487-1227; e-mail: mevett@emich.edu; http://emunix.emich.edu/~evett

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.


Syllabus

Make sure you make use of the Canvas course shell for this course. There are announcements there for the assignments!! The Canvas shell is the official mechanism for distributing information about the course.


Text Book (source code, etc.)

We're using Angel and Shreiner's Interactive Computer Graphics: A Top-Down Approach with WebGL, 7th ed. (Addison Wesley). You must use this edition of the text.  The source code for the major projects described in the previous edition of the textbook can be found here.

Labs

Lab 1 Getting acquainted with WebGL

Lab 2 Basic WebGL

Lab 3 Viewing and Matrix Transformation

Lab 4 Shading and Lighting

Lab 5 Global Hemispheric Lighting

Lab 6 Texture Mapping

Assignments (subject to change!!)

Submissions: To submit assignments, go to emuonline.edu

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 http://www.xmission.com/~nate/tutors.html. 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.