COT4930 Graphics Systems (was CAP4700 Computer Graphics Methods)

Last modified: "August 3, 1998 14:57:05 by matt"

Instructor: Matthew Evett

Monday/Wednesday, 5:30-6:50.
Room 311, Science and Engineering Bldg. Final Exam: Tuesday, December 8, regular time and room.

Advertisement for this course


The course name has been changed. The new name replaces all occurrences of the old name in CSE department literature. In particular, this course is one of the courses listed as an "Applications" elective for the CS bachelor's degree.

Text Book

We're using Edward Angel's Interactive Computer Graphics (Addison Wesley). The source code for the major projects described in the textbook can be found here.

Assignments

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.

Modify a paint program (#1) Due date: Wednesday, Feb. 11, demos TBA.

Modelling (#2) Due date: March 6

3-D Surfaces (#4) Due date: April 22

Answers to assignments:

None yet!


Lecture Notes

Unix MAKEFILES


Programming Environment

If you're not working at home on your PC, in your favorite IDE, recommend using emacs to do your programming on the Unix systems. Forget that ancient and obsolete VI stuff! Emacs provides automatic code indentation, displays comments in italics or a different color, displays keywords in bold or a different color. You can run a debugger directly within emacs. You can click on a function call, and have emacs automatically pull up the definition of that function in another window. All that, and much, much more!

OpenGL There is a down-loadable freeware implementation of OpenGL, called Mesa.

I've also placed binary (precompiled) libraries for the Windows95 platform here.

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.

Debugging:

You might want to examine the use of gdb for debugging your programs. gdb is similar to dbx. In gdb, you can single-step through your program, have the program stop at function calls or at a particular line of code, etc. Once stopped you can examine the values of variables. Using gdb, if your program crashes, you can see exactly where a program crashed or hung. There is documentation on the Web.

If you're really feeling frisky, you can even run gdb inside emacs. In that mode, emacs will run gdb in one window, and display your source code, as it is executed, in another. Nifty!