CSC471 - Introduction to Computer Graphics

Professor: Zoë J. Wood


Welcome to computer graphics!

The following images are from some of the top final projects from past classes of CSC 471. Please see all the top projects. Just click on an image to find out more about the project.

Links:
syllabus

Final project history and references:
Final project requirement information
Final project rubric
Some resources for final projects

final projects from Fall 2003
final projects from Winter 2004
final projects from Spring 2004
final projects from Spring 2005
final projects from Spring 2006
final projects from Winter 2007
final projects from Spring 2009

Programming assignments
Program 1
Program 1 - Base code
Program 1 - resource
Simple example program using STL vector
Top voted screen shots of student's work from program 1 - 2006
Examples from program 1 - 2007
Program 1 binary
Program 2
base program for Program 2
Program 3
base program for program 3
example of very simple lighting
Program 4
Nice examples of past student's work from program 4

Lab assignments
simple_release.cpp
lab2.pdf (drawing points/coord xform)
lab3.pdf (drawing lines & circle)
lab4.pdf (scan conversion)
lab5.pdf (2d transforms)
lab6.pdf (vectors & virtual trackball prep)
lab7.pdf (lighting)
lab8.pdf (viewing)
lab9.pdf (hierarchical modeling)
lab9.5.pdf (pitch and yaw camera - optional???)
lab 10 (texture mapping)
base program and images for lab 10
Lab 11 (optional) - picking lab
picking3d_release.cpp: Example code of OpenGL picking

High School Shadow Lab: handout Working Code Code with a bug to find

Lecture and Lab notes
Lab1.pdf
Lab2.pdf
Hierarchical modeing.pdf
Texture.pdf


Resources
Topics and sample questions for midterm1
Topics for midterm 2

Reference for coordinate frames and transforms This reference is a very useful rough draft of a chapter from S. Gortler's Introduction to Graphics.

General Information about getting started
We will be using OpenGL and GLUT to develop graphics applications in this class. You are welcome to use either C or C++ in conjunction with OpenGL and GLUT to write your programming assignments. If you are having trouble getting an initial visual studio project to work, here is the handout given in lab about getting started. A very useful site for information about OpenGL is: http://www.opengl.org/
If you would like to write your programs on your home machine, you will need to download GLUT. You can do so from a variety of places, including: http://www.xmission.com/~nate/glut.html
Or just search for "download glut windows" under google for other options. Likewise a search under google for "install glut windows" under google will give you good reference for installing the library, header and dll files in the correct place.
Anyone who would like to try a different compiler at home (than visual studio) may be interested in this link which lists several free compilers for windows (there are similar resources available for macintosh and linux): http://www.magma.ca/~louievb/gcc/several_free_compiler.html

Here are instructions on how one student got their code to compile at home on their Macintosh using OS X.


Material and inspiration for assignments and material for this course have been gratefully constributed by the following people: Hugues Hoppe, Steven Gortler, Hanspeter Pfister, Alex Pang, and Mathieu Desbrun