Advanced Computer Graphics
Computer Science 3460:657-080
Spring, 1999

Instructor: Dr. Yingcai Xiao
Office: Ayer 224
Telephone: 972-5809
Class Meets: TT 6:40-7:55 PM, Kolbe 215.
Office Hours: Tuesday 1:00-4:30, Thursday 1:00-2:00 and 3:15-4:30, or by appointment.

Prerequisites: 3460:457/557 (Computer Graphics), which means you should know:

  1. Basic operations of vectors and matrices.
  2. Basic concepts of 2-D computer graphics.
  3. Good programming skills in C on UNIX.
  1. To know the basic concepts of 3-D computer graphics. For examples, homogeneous coordinates and transformations, 3D viewing pipeline, shading, lighting, ray tracing, z-buffering, transparency, stereo, radiosity, volume rendering, animation and NURBS.
  2. To know how to write 3-D graphics applications using the industrial standard libraries like OpenGL. For example, to write a program to simulate a flying Space Shuttle. This is to prepare you for a real industrial job in graphics.
  3. To know how to build a 3-D graphics library like OpenGL and how its components were written.
  4. Inspire some research ideas through personalized projects.
Text Books:

"Computer Graphics: Principles and Practice", 2nd edition in C, by Foley etc., Addison-Wesley.
"OpenGL Programming Guide", by Neider etc., Addison-Wesley.

3D Graphics Library:

The 3D graphics library we will be using is Mesa. It is a public domain version of the industrial standard OpenGL graphics library. It is installed on our SUN network at /usr/local/AdvGraphics/Mesa. It supports many different operating systems including SunOS, SGI IRIX, OS/2, MacOS, Windows95, Windows/NT, VMS and Next. You can get Mesa from the web at or anonymously ftp it from under the directory pub/Mesa.

Reference Books:

"Interactive Computer Graphics: A Top Down Approach with OpenGL", by Edward Angel, Addison-Wesley.
"The Visualization Toolkit: An Object-Oriented Approach to 3D Graphics", by Will Schroeder etc., Prentice Hall.
"Introduction to Computer Graphics", 2nd edition in C, by Foley etc., Addison-Wesley, 1996.
"Computer Graphics", 2nd ed., by Hearn and Baker, Prentice Hall.

Assignments and Tests:

  1. A total of 5 programming assignments. Each assignment will be worth 20 points. Late penalty is 5% a day for each assignment. Total programming score is 100 points. (A few blank floppy disks are needed for the programming assignments).
  2. One term project, 100 points and up to 20 bonus points.
  3. One close-book midterm in the 8th week, 100 points.
  4. One close-book comprehensive final, 100 points. Tuesday, May 11 at 6:00 - 7:55 pm.

Grading:  Course Points = PA * 0.2 + PRJ * 0.2 + MID * 0.2 + FINAL * 0.4

    A: 94%-100% of Course Points
    A-: 90%-93.9% of Course Points
    B+: 87%-89.9% of Course Points
    B: 84%-86.9% of Course Points
    B-: 80%-83.9% of Course Points
    C+: 77%-79.9% of Course Points
    C: 74%-76.9% of Course Points
    C-: 70%-73.9% of Course Points
    D+: 67%-69.9% of Course Points
    D: 64%-66.9% of Course Points
    D-: 60%-63.9% of Course Points
    F: Less than 60% of Course Points


Withdrawals: The final day to process withdrawals by the University is Friday, April 16, 1999.


  1. The home page for the class is Please check the site periodically for information updates related to the class. Your own pages will be linked to it whence they are created.
  2. To further assist your study, a directory called /usr/local/AdvGraphics has been created on our SUN network. The directory contains the following information: program examples, programming assignments, and miscellaneous (syllabus, tips and hints).
  3. Everyone in the class is recommended to do the following as soon as possible.
    1. Attending a UNIX seminar.
    2. Attending a SUN seminar after the UNIX seminar.
Text Coverage (Tentative) :

Week 1: Introduction to Computer Graphics and Visualization
Week 2: Chapter 5, Geometrical Transformations.
Week 3: Chapter 6, Viewing in 3D.
Week 4: OpenGL.
Week 5: Chapter 13, Achromatic and Colored Light.
            Chapter 14, The Quest for Visual Realism.
            Chapter 21, Animation.
Week 6: Chapter 15, Visible Surface Determination.
            Chapter 17, Image Manipulation.
Week 7-10: Chapter 16, Illumination and Shading.
Week 11-12: Chapter 11 Representing Curves and Surfaces.
Week 13: Chapter 12, Solid Modeling.
                Chapter 20, Advanced Modeling Techniques.
Week 14-15: Project Presentation.