CPSC 405/605-001 Graphical Systems
Spring 2000
TTh 12:30--1:45 Jordan G032
Syllabus
<http://andrewd.ces.clemson.edu/courses/cpsc605/spring99/syllabus.html>

Instructor: Dr. Andrew Duchowski
Office: Edwards 444, 656-7677, andrewd@cs.clemson.edu
Office hours: TTh 2:00--3:30 (or by appointment)
Email: Communication with the instructor via email is encouraged. It is unlikely that a talk request will be answered, however.
Required texts:
  1. Angel, Edward, Interactive Computer Graphics: A Top-Down Approach with OpenGL, 2nd Ed., Addison-Wesley Longman, 2000. ISBN: 020138597X

Recommended texts:
  1. Woo, Mason; Neider, Jackie; Davis, Tom; and Shreiner, Dave OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.2, 3rd ed., Addison-Wesley, 1999. ISBN: 0201604582

  2. Kilgard, Mark J., OpenGL Programming for the X Window System, Addison-Wesley, 1996. ISBN: 0201483599

  3. Harlow, Eric, Developing Linux Applications with GTK+ and GDK, New Riders, 1999. ISBN: 0735700214

  4. Foley, James D., van Dam, Andries, Feiner, Steven K., and Hughes, John F., Computer Graphics: Principles and Practice, 2nd ed., Addison-Wesley, 1990. ISBN: 0201848406
Supplemental texts: None.
Grading scheme: Based on programming assignments, final project, 1 or 2 midterms, and the final exam.
Grade distribution:
Projects60%
Midterm(s)20%
Final Exam20%
%Grade
90-100A
80-89B
70-79C
60-69D
< 60F
Programming assignments: Problem specification and due date will be given in class.
Assignment grading: Source code and demonstrations will be required.
Assignment format: Hardcopy of the assignment must include the following:
  • Description of the problem.
  • Description of the solution.
  • Documentation of the program (e.g., user documentation).
Assignment late policy: Late assignments will be accepted but points will be deducted according to the formula 2n2 - 1 where n is the number of days late. Example: assuming assignments are due on Thursday, the point deduction is as follows:
Max points possible Day received Days late
100Thursday0 (due date)
99Friday1 day late
69Monday4 days late
51Tuesday5 days late
29Wednesday6 days late
3Thursday7 days late
0Thursday8 days late
Late assignments will receive lowest priority for grading and returning.
Attendance: Roll will be taken for the first one or two weeks while the class roll fluctuates. However, attendance is not required. Absence, excused or not, does not change the responsibility for assigned work. Tests missed due to excused absences will normally result in the test not being counted in the average grade (i.e., there will normally be no makeup tests). An unexcused absence from a test will normally result in a grade of zero for that test. Students are expected to give at least one week advance notice for excused absences.
Independent work: Unless otherwise stated explicitly (e.g., in the case of the final project), each student must do his or her work independently.
Academic dishonesty: The University policies on academic dishonesty apply. Publicly-available code or other material may be freely used if appropriately attributed. Each student is responsible for protecting his or her files from access by others. Work that is essentially the same and submitted without proper attribution is considered to be a violation of academic dishonesty policy by all those submitting the work, regardless of who actually did the work.
Class cancelation: Students are expected to wait for 15 minutes after the class beginning time before leaving if the instructor is late.
Course description: The course will cover computer graphics methods, data structures, analysis of algorithms, and selected implementation examples, generally coinciding with the main programming assignments assigned throughout the term:
  • Project I: Object viewer
    Objectives:
    • polygonal object description files (vrml, alias|wavefront)
    • displaying objects
    • 3D transformations (rotations, translations, etc.) incl. camera pan/tilt/roll/truck, object rotations
    • selection
    • hidden surface removal (based on normal and viewpoint)
    Relevant textook chapters (Angel):
    • Chp.1: graphics systems and models
    • Chp.2: graphics programming
    • Chp.3: input and interaction
    • Chp.4: geometric objects (and ADTs) and (affine) transformations
    • Chp.5: viewing (systems, projections, and hidden surface removal)

  • Project II: Object renderer
    Objectives:
    • flat (facetted) shading
    • smooth shading
    • texture mapping (image file formats)
    Relevant textook chapters (Angel):
    • Chp.6: shading (reflection and illumination models)
    • Chp.7: implementation of a renderer
    • Chp.9: discrete techniques (texture mapping)

  • Project III: Object modeler
    Objectives:
    • splines
    • "objects of revolution"
    Relevant textook chapters (Angel):
    • Chp.10: curves and sufraces (parametric representations, splines)

  • Project IV: Animation (particle systems)
    Objectives:
    • particle systems
    • scene/animation description files
    Relevant textbook chapters (Angel):
    • Chp.11: procedural models (e.g., fractal terrains)
Additional topics will be selected as time permits. Most of the following chapters will be omitted:
  • Chp.8: hierarchical and object-oriented grahpics
  • Chp.12: visualization