ECE660, Interactive Computer Graphics, Spring, 2003
 
[ START - Syllabus - Interesting Links ]
 
 

Prof. F.S. Hill,Jr. (Sandy Hill
Dept. of Electrical and Computer Engineering, University of Massachusetts

 

Homework and Project Assignments for Spring, 2003:

Also in the first week or so of classes, obtain and install OpenGL, and test out the following simple OpenGL demo program (see it as a text file here)

Here is a new "OpenGL PitFalls to Avoid" page by Mark Kilgard (thanks to Chris Vadnais for pointing it out).
You may find the Introduction to SDL helpful for future projects.
Here are some help notes on making using SDL easier to use with OpenGL.
Get a partial implementation of the Camera class here.
Have a look at a sample program that uses rubber banding and menus: hlRubber2.cpp



Here's a great OpenGL page maintained by Nate Robbins, with all sorts of links, and his tutorial on transformations.

The principal journals in Computer Graphics
ACM SIGGRAPH Conference Proceedings (annual) : (look at http://www.siggraph.org)

ACM Transaction on Graphics ("TOGS") - quarterly

IEEE Transactions on Visualization and Computer Graphics (look at http://www.ieee.org) - monthly

IEEE Computer Graphics and Applications - bimonthly

Journal of Graphics Tools - web page - A.K. Peters, quarterly

Excellent series of Books: Graphics Gems - all from Academic Press, Boston
(Code available here, and some links)
Graphics Gems - Andrew Glassner, Ed., 1990

Graphics Gems II - James Arvo, Ed., 1991

Graphics Gems III - David Kirk, Ed., 1992

Graphics Gems IV -  Paul Heckbert, Ed., 1994

Graphics Gems V - Alan Paeth, Ed. 1995



1. A link to an on-line Postscript tutorial (thanks to David Wissenbach, for the tip)
2. And the Postscript Reference manual is on-line! (thanks to Huan Le, for the tip)

4. A GLUI tip from Eric Ciocca: To avoid GLUI corruption when using the idle function, you should explicitly reset the current drawing window to the graphics window at the start of every call to the idle function (see Section 2.5 of the GLUI manual):
"6. In your idle callback, explicitly set the current GLUT window before rendering or posting a redisplay
event. Otherwise the redisplay may accidently be sent to a GLUI window.

void myGlutIdle( void ) {
glutSetWindow(main_window);
glutPostRedisplay();}"



Obtaining Ghostscript:

Note: A new site for GhostScript has been pointed out to me by Rob Cook.
Lots of links there; I have found the Nelson Beebe installation page to be particularly helpful.
And don't miss the GhostScript FAQ.

Some good (hardcopy) PostScript references:


Some HELP in getting started with OpenGL.
New Hot Tip! (thanks to Chris Vadnais)
 A GLUT-based User Interface Library (GLUI) has been developed by Paul Rademacher at UNC. It allows you to
add controls such as buttons, checkboxes, spinners, etc. to OpenGL applications, (painlessly).
          Obtain GLUI and the user manual (in PDF) here.

The OpenGL data flow diagram is available on line (thanks, Scott nagel, for the tip).
Skeletal beginnings of the PolyPointArray class.
Find out about various Graphics File Formats here.
Some pretty pictures as we'll be making in ECE660.



And some further helpful resources for learning OpenGL
  1. OpenGL home Page
  2. OpenGL Documentation: Specs, Overview, Extensions
  3. Hearn and Baker's OpenGL supplement
  4. OpenGL Programming Courses and Tutorials
  5. GLut: OpenGL Utility Toolkit
  • Computer Graphics Home Page
  • RayShade Home Page
  • Toy Story Home Page
  • Some tips on Web page Design


    The ECE660 FTP site contains some handouts and utility files you may find helpful during the course.


    Links to information on obtaining and using  OpenGL.
    Some recommended shareware programs:
    Hexpert: Excellent hexadecimal file reader and editor: to see what's "really" in a file.
    ACDC: For viewing images in many different file formats.
    And of course, visit Tucows frequently for all sorts of utilities.


    You will find some suggestions here for Good Books on Learning C++.
    You can find Some Helpful Hints on Getting Going with Turbo C/C++ or Borland C/C++ here.

    This page last revised 1/30/03