
This is the home page for the course CS 274: Computer Graphics,
offered by the
Department of Computer Science
at the
University of Vermont,
Fall 2006.
(N.B., the content of this page changes frequently.)
General Information:
Textbooks:
- Peter Shirley et al.,
Fundamentals of Computer Graphics,
second edition, A. K. Peters, Natick, MA, 2005.
Errata.
We'll refer to this book as FOCG.
- Dave Shreiner, Mason Woo, Jackie Neider, and Tom Davis,
and
OpenGL Programming
Guide, Third (1999) or Fourth (2003) or Fifth (2006)
Edition, Addison-Wesley, Reading Massachusetts.
Known as The Red Book.
(Required).
(Errata sheet and
example programs.)
- The reference list.
Handouts:
Most handouts are availabe in pdf format, a page description language
supported by Adobe Acrobat. If you do not have Acrobat Reader for your
personal computer, you can
download it for free from Adobe.
- syllabus [pdf] (3 pages).
Homework Assignments:
Each homework assignment usually consists of written assignments and
programming projects. The written assignments should be delivered to one
of the instructors by the due date. Your well commented programs should
be compiled into a single tar file, and delivered
over the internet, using the
submit program.
- In FOCG please read Chapters 1 and 2: pp. 1 - 49. This should be a review of basic math
and C++ programming. Please complete exercises 4 - 13 on pp. 48-49. Problem 6 should be done in C or C++.
Submit a hard copy of the source and use the submit program to submit a soft copy.
Problems 12 and 13 can be implemented in pseudo-code. Also, download
sierpinski.c and compile and test it on your machine.
Briefly explain how the mathematical algorithm works. Try running it with different initial values for p[2].
Please also comment on the code's style and efficiency. How else could it be written?
Due, Friday, Sept. 8, 2006.
- In FOCG please read Chapters 3 and 5. We will skip Chapter 4. Visit the web site
www.libpng.org/pub/png and download the requisite libraries
to support the development of applications that use png formatted images. You may also need to install
zlib and libpng.
(Note: macintosh users may prefer to download libpng from fink.sourceforge.net.
Mac OS X already installs zlib.) Also download the C++ headers that I wrote:
pixelArray.h defines a base class that manages the
geometry of a rectangular array of pixels, and rgbImage.h
defines a parameterized derived class that supports RGB images, with the ability to read from, and
write to, png image files. A member function drawPixels(), enables you to view the rgb image
in an OpenGL application. A rough example appears in the application program
viewPng.cc.
Please study and experiment with these source files. Compile and execute viewPng for your
favorite png image downloaded from the web. Your assignment will be to extend this functionality
to support the drawing of arbitrary line segments and circular arcs
using the midpoint algorithm, and filled triangles, as
described in Chapter 3, and in the course notes. You may either add new member functions to this
class, or create a new derived class that supports this functionality. Then demonstrate your
implementation
by creating a program that generates a png image that contains an interesting design that
contains an assortment of line segments, circular arcs, and filled triangles. This
assignment is due Friday, September 22, 2006.
Lecture Notes:
- Introduction [pdf]. (9/5/03)
- Viewports [pdf]. (9/8/03)
- Displays [pdf]. (9/10/03)
- Raster Algorithms (lines) [pdf].
(9/12/03)
- Raster Algorithms (circles) [pdf].
(9/15/03)
- More ways to draw circles [pdf].
(9/17/03)
- Scanline Fill Algorithm [pdf].
(9/22/03)
- Antialiasing [pdf]. (9/24/03)
- Boundary and Flood Fill [pdf].
(9/26/03)
- Mathematics of rotations [pdf].
- Two-dimensional transformations [
pdf].
- Three-dimensional transformations [
pdf].
- Viewing in two-dimensions [pdf].
- Viewing in three-dimensions [pdf].
- Polyhedral Models [pdf].
- Spline Models [pdf].
Source Code:
Resources:
OpenGL Web Sites
Postscript Web Sites
- Glenn Reid's excellent guide, Thinking in Postscript is out of print. But click
here
for information on how to download a free pdf copy for your personal use.
Graphics Hardware
Copyright (C) 2003, 2004, 2006 to Robert R. Snapp.
Last modified at 10:22 PM on 28-Aug-06.