CP SC 405 / CP SC 605
Computer Graphics Systems
Fall 2009
Tu/Th 2:00 -
3:15, Daniel 415, 3 credits
|
 |
office:
McAdams
319, phone:
656-2844
email: ,
hours: M/W 4:00-5:00
Web Page:
http://www.cs.clemson.edu/~dhouse/courses/405
Course Home Directory:
~dhouse/courses/405/
|
Lectures
|
Course Catalog
Description
Principles,
computational techniques, and design concepts needed for designing
systems for effective graphical displays.
Prerequisites
CP SC 212, 215, MTHSC
108, 311: with a grade of C or better.
Course Objectives
This course will
provide a solid foundation in 3D computer graphics. The course will
emphasize material relevent to the context of
computer graphics, and digital effects. It is designed to train
students in the foundation principles of 3D computer graphics, so that
they will be able to
- understand the internal workings of commercial systems for the
rendering of digital images from 3D models
- write their own software for 3D modeling and rendering
- use 3D graphics API's
- undertake creative work and research in 3D graphics
Students attend
lectures, read,
discuss, and complete quizzes on hand-out material. They also complete
a series of programming projects designed to gradually expand their
knowledge of the field of 3D graphics.
Programming
Projects
All of the
projects
involve
programming in C++ and
require the use of graphics libraries. Work may
be done
on any computer supporting C++,
and the OpenGL, and GLUT API's.
However, before turning in an assignment, the program must be compiled
and tested under the linux
operating system, and a working Makefile
must be provided.
In order to access files from the course home directory, and to turn in
programming projects, all students will need to use their computer
science account. All students enrolled in CS courses are automatically
assigned CS accounts. You will need to
login early in the semester to change your password, or the account may
be expired. If you have problems
logging in, send an email to helpdesk@cs.clemson.edu from your Clemson
email account, or stop by 109 or 112 McAdams with a picture ID.
Text and Handout
Materials
- Shirley, Ashikhmin, Gleicher, Marschner, Reinhard, Sung,
Thompson, Willemsen, Fundamentals of Computer Graphics, 2nd
Edition, AK Peters, 2005 (or the more recent 3rd edition).
- House, 3D Computer Graphics,
Course
Notes (posted in sections on schedule page)
- Other materials linked on the Course Website
Reference Reading
Material
- Foley, Van Dam, Feiner and Hughes, Computer
Graphics
Principles and
Practice in C, 2nd Edition, Addison Wesley, 1995.
- Shreiner, Woo, Neider and Davis, OpenGL
Programming Guide, The Official Guide to Learning
OpenGL, Version 2 (5th Edition), Addison Wesley
Course Outline
The course
outline below covers the theoretical foundations of computer graphics.
Practical material on the use of the 3D graphics API OpenGL will be presented as
required throughout the semester.
- The Foundations of 3D Computer Graphics
- modeling
- light and shade
- viewing
- sampling
- Storage of Images
- pixmaps
- greyscale and RGB color
- color systems
- color displays and output devices
- image file formats
- conversion between formats
- Vectors and Vector Algebra
- what is a vector?
- additive operations
- dot product
- cross product
- solving geometric problems with vector algebra
- Rendering I
- Matrices and Matrix Algebra
- matrix representation
- matrix-vector multiplication
- the 2D and 3D affine transforms
- Coordinate Systems and Camera Models
- coordinate system transformations
- representations for rotations
- camera models
- Lighting and Shading
- lighting models
- Ambient, diffuse and specular reflection
- Phong shading model
- Geometry
- Polygons
- Polygonal surfaces and data structures
- Rendering II
- Projection systems, orthographic and perspective
- Homogeneous coordinates
- A scanline renderer
- Geometry
- scene graphs and hierarchical modeling
- OBJ file format
- implicit and parametric surface representations
- Shading
- Bidirectional reflectance distribution function
- Family of basic shading models
- Procedural shading
- Texture maps and antialiasing
- Rendering III
- Global vs. local illumination
- recursive raytracing as a solution
- Ambient occlusion
- Radiosity
- Photon mapping
- Modeling: Parametric Curves and Surfaces
- polynomial representation of parametric curves
- piecewise cubic curves
- biparametric surfaces
- subdivision surfaces
Performance
Evaluation
Grading will be
based on perfomance on a set of 8 programming projects, 10 quizzes,
the final exam, and class participation, using the
following
percentage distribution:
- Programming Projects: 50%
- Quizzes: 30%
- Final Exam: 10%
- Class Participation: 10%
Programming projects: All eight
programming projects will involve developing computer graphics software
in C++, using the OpenGL and GLUT API's. Work must be
submitted before midnight of the
due
date. No work will be accepted after this deadline. Homework problems
will be graded using the following scheme:
- 10 Meets requirements for grade of 9, but
particularly distinguished by elegance of design and execution
- 9 Meets all basic requirements, correctly
implements one suggested extension
- 8 Meets all basic requirements
- 7 Reasonable effort, but has some errors or
does not meet all
basic requirements
- 0 Unsatisfactory or late
For Undergraduate students, the final
programming project average will be
computed by
averaging the student's top 6 project grades.
For Graduate students, the final programming
project average will be
computed by
averaging the student's top 7 project grades.
Quizzes: Each Quiz will
have two questions and will be take home. Quizzes must be
submitted by the start of class on the
due
date, and
the class will begin by a discussion of the quiz problems. No quizzes will be
accepted after this deadline. Quizzes will be
graded as follows:
- 4 Both questions answered correctly
- 3 One question answered correctly, one question
nearly correct
- 2 One question answered correctly, or both
questions nearly correct
- 1 One question nearly correct
- 0 Not a reasonable effort or late
For all students, the final quiz
average will be computed by averaging the student's top 8 quizzes.
Final Examination: Students
maintaining an average of 8 or higher on both the quizzes and the
programming projects may elect to waive the final exam. In that case,
the grade will be the weighted average of the remaining 90 points. The
exam will be comprehensive. It will consist of 10 short answer and 2
essay style questions. Short answers will require at most a short
paragraph and/or a figure to answer. Essay questions will require at
most two pages, including accompanying figures, to answer.
Class Participation: The class
participation
grade is the instructor's subjective judgement of the student's
contribution to a lively classroom atmosphere.
He will consider mainly active, informed participation in classroom
discussions, quiz and homework reviews. Obviously, students not
attending class are not contributing in this way.
Late Class Policy
Your
instructor will make every effort to be in class on time, or to inform
you of any delay or cancellation. In the unusual event that he should
not arrive in class or send word by 15 minutes from the class start
time, the class is officially cancelled.
Attendance Policy
Attendance
in class is optional, but remember that a percentage of the grade is
based on class participation.
Collaboration Yes,
Plagiarism No
In this course, we
want to encourage collaboration and the free
interchange
of ideas among students and in particular the discussion of homework
and quiz problems,
approaches to solving them, etc. However, we do not allow plagiarism,
which,
as commonly defined, consists of passing off as one's own ideas, words,
writings, etc., which belong to another. In accordance with this
definition,
you are committing plagiarism if you copy the work of another person
and
turn it in as your own, even if you should have the permission of that
person. Plagiarism is one of the worst academic sins, for the
plagiarist
destroys the trust among colleagues without which research cannot be
safely
communicated.
Copyright
Materials in this
course are copyrighted. They are intended for use only by students
registered and enrolled in this course and only for instructional
activities associated with and for the duration of the course. They may
not be retained in another medium or disseminated further. They are
provided in compliance with the provisions of the Teach Act. Students
should refer to the Use of Copyrighted Materials and
“Fair Use Guidelines” policy on the Clemson University website for
additional information: http://www.lib.clemson.edu/copyright/.
Disability Access
It is
University policy to provide, on a flexible and individualized basis,
reasonable accommodations to students who have disabilities.
Students are encouraged to contact Student Disability Services to
discuss their individual needs for accommodation.
Academic
Integrity
As
members of the Clemson University community, we have inherited Thomas
Green Clemson’s vision of this institution as a ‘high seminary of
learning.’ Fundamental to this vision is a mutual commitment to
truthfulness, honor, and responsibility, without which we cannot earn
the trust and respect of others. Furthermore, we recognize that
academic dishonesty detracts from the value of a Clemson degree.
Therefore, we shall not tolerate lying, cheating, or stealing in any
form. In instances where academic standards may have been compromised,
Clemson University has a responsibility to respond appropriately and
expeditiously to charges of violations of academic integrity.
Please refer to the graduate academic integrity policy, approved March
26, 2007 by the Provost’s Advisory Council, at http://gradspace.editme.com/AcademicGrievancePolicyandProcedures#integritypolicy
Each graduate student should read this policy annually to be apprised
of this critical information.