| Instructor: | Dr. Andrew Duchowski | 
| Office: | Edwards 444, 656-7677, 
	
	andrewd@cs.clemson.edu | 
| Office hours: | TTh 3:30--4: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: | 
	Watt, Alan, 3D Computer Graphics, 2nd Ed.,
		Addison-Wesley, 1993.
		ISBN: 0201631865
		
	 | 
| Recommended texts: | 
	Woo, Mason, Neider, Jackie, and Davis, Tom, OpenGL Programming
		Guide: The Official Guide to Learning OpenGL, 2nd ed.,
		Addison-Wesley, 1997.
		ISBN: 0201461382
		
	Kilgard, Mark J., OpenGL Programming for the X Window System,
		Addison-Wesley, 1996.
		ISBN: 0201483599
		
	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: | 
	
	   | 
		| Projects | 60% |  | Midterm(s) | 20% |  | Final Exam | 20% |  | 
		| % | Grade |  | 90-100 | A |  | 80-89 | B |  | 70-79 | C |  | 60-69 | D |  | < 60 | F |  |  | 
| 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 up to a week
	late, but points will be deducted by 20% per working day late.
	The effective date of the assignment is the date of its receipt
	(not its delivery).  Example:  assuming assignments are
	due on Thursday, the point deduction is as follows: 
	Late assignments will receive lowest priority for grading and
	returning.| % | Day received |  | 100% | Thursday (due date) |  | 80% | Friday |  | 60% | Monday |  | 40% | Tuesday |  | 20% | Wednesday |  | 0% | Thursday (1 week late) |  | 
| 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: 
	Additional topics will be selected as time permits.  Most of the
	following chapters will be omitted: Project I: Object viewer
		Objectives:
 
		Relevant textook chapters (Watt): polygonal object description files
		 displaying objects
		 3D transformations (rotations, translations, etc.) incl.
			camera pan/tilt/roll/truck, object rotations
		 selection
		 hidden surface removal (based on normal and viewpoint)
		 
		 Chp.2: data structures
		 Chp.1: 3D geometry, affine transformations
		 Chp.3: viewing systems, projections
		 Chp.5: hidden surface removal
		 
	 Project II: Object modeler
		Objectives:
 
		Relevant textook chapters (Watt): splines
		 "objects of revolution"
		 
		 Chp.6: parametric representations (splines)
		 
	 Project III: Object renderer
		Objectives:
 
		Relevant textook chapters (Watt): flat (facetted) shading
		 smooth shading
		 texture mapping (image file formats)
		 
		 Chp.5: rendering, binary space parition (?)
		 Chp.4: reflection and illumination models
		 Chp.7: texture mapping
		 
	 Project IV: Scripted Animation (including particle systems)
		Objectives:
 
		Relevant textbook chapters (Watt): keyframe animation
		 particle systems
		 scene/animation description files
		 
		 Chp.12: particle systems
		 Chp.13: 3D animation
		
		 
	 Chp.8: ray tracing
	 Chp.9: volume rendering
	 Chp.10: radiosity
	 Chp.11: anti-aliasing
	 Chp.12: fractals
	 Chp.14: color spaces
	 |