CS 4451: Computer Graphics
Summer 2001


Instructor: Larry F. Hodges, Ph.D.
                        hodges@cc.gatech.edu
                        CRB 373, 404 894-VRVR
 

Text:   Computer Graphics: Principles and Practice, 2nd Edition in C by Foley, van Dam, Feiner and Hughes
 

Bulletin Board:     git.cc.class.cs4451
            The Teaching Assistant will read the class bulletin board at least once every 60 hours.  All questions concerning assignments should be asked through the bulletin board first.
 

Teaching Assistants:


 

Programming:
You will write 3-4 programs for this course. All programs must be written in C/C++.  Documentation will count as 20% of the grade for each program.

Compiling and executing without errors on the published test data is considered minimal competency for any program.  Late programs will be penalized 3n-1 points where n is the number of days late.    NO ONE will get an incomplete because they neglected to turn in programming assignments.

You may discuss high level design strategies and specifications of the assignments with other students in this class.  However, your programs (and homework)  are to represent your own work.  All coding and detailed algorithm design decisions are to be made without consultation with others.
 

Grading:
Programs      40%
Quizes (2)     30%
Final Exam   30%

Grades as of 7/27/01

FINAL GRADES
 
 
 

Quizzes

  1. The first Quiz will be on June 11, 2001.
  2. Here are some PRACTICE PROBLEMS
  3. The second Quiz will be on July 16, 2001..
  4. Graduating Seniors will take their exam on Monday, July 25th
  5. Final exam for the course is at 8:00 am on Monday, July 30.


Computer Accounts
All programming assignments will be tested on an SGI. You may use a PC, but you must make sure that your program can compile and run on an SGI. The SGI cluster on the first floor in CCB is available to you if you already have a College of Computing account. If you are not a College of Computing student and do not have an account, please apply for an account in room 213 of CCB.
 

Getting Started
In this course, programing will be done in C/C++. We will use the OpenGL and GLUT libraries for basic graphics and windows programming. You will find the following links helpful:


 

Programs and Assignments

If you don't have a CoC account, you need to go to outside of Rm. 213 (CoC) and fill out a form and submit it.  The tray holding the forms is right outside of the door (Peter Wan's Office), and the bottom tray is the submission tray

Missing Assignments

  Assignment # 1  Click here for the input files used to test your work. 12345  I highly suggest you test your code to make sure I graded yours properly.

  Assignment # 2 *Hints for this assignment are located as a link off of the assignment page.

  Assignment # 3 *Be sure to read all instructions - some things have changed since last assignment.

  Assignment # 4 - Implement a Ray Tracer
 

Submitting Programs
The source code must be emailed as an attachment. All assignments are due at the start of class on the due date. Submissions after class begins will be considered late. All programs will be tested on an SGI. You may use a PC, but you must make sure that your program can compile and run on an SGI. Use the Makefile provided by the TA to compile your program on the SGI. Your name must be included in the header of the source code as comments.
 
 




Course Topics and Notes


Topic Reading Assignment in Textbook
Raster Graphics Hardware Chapters 1 and 4
Lines, Circles, and Simple Antialiasing 3.1, 3.2, 3.3, 3.17
Polygons 3.5, 3.6, 3.8, 13.1.2
2-D Transformations 5.1, 5.2, 5.3
Windows, Viewports 5.4, 5.5
Clipping 3.11, 3.12, 3.14
3-D Math Review 5.6, 5.7, 5.8
Basic Modeling 11.1, 11.2
Projections Chapter 6
Visible Surface Determination 15.2, 15.4, 15.5, 15.6
Illumination 16.1, 16.2
Smooth Shading 16.1, 16.2
Intersection Algorithms for Ray-tracing 15.10.1
Reflection and Refraction 15.10.2
3D Clipping 6.5.3
Bounding Volumes for Ray-Tracing  
Color 13.2-13.5
Quaternions page 1063
Ray-Tracing Quadric Surfaces