3D Graphics and Rendering
CSCI 580
Instructor: Ulrich
Neumann PHE-402 213-740-0877
uneumann@graphics.usc.edu
Teaching Assistant: TBA
Prerequisites: C++ programming skills
Familiarity
with VC C++ development
No specific course prerequisite. Some computer graphics or image processing
course or experience is recommended. OpenGL,
Direct3D, Java3D, backgrounds are very helpful for term projects
Textbook: 3D
Computer Graphics by Alan Watt (recommended
/ not required)
A reference book on OpenGL is recommended for help
with term projects
Course Web site: USC Blackboard System
https://totale.usc.edu/
Research Publications: (examples of forums related to the class)
EUROGRAPHICS
ACM
SIGGRAPH: Computer Graphics
IEEE
Computer Graphics and Applications
ACM
Interactive 3D Graphics
Course Overview:
This course explores topics
related to 3D computer graphics rendering. It assumes that students possess an
understanding of digital images, programming, and basic linear algebra.
The course focuses on rendering algorithms
and the development of graphics libraries; it is not a course on 3D
geometric modeling, the use of commercial tools (such as Maya), or animation. We will explore how images are produced once
a model has been created or acquired.
Topics include: the 3D rendering pipeline, rasterization techniques,
lighting, color, hidden surface removal, textures, volume rendering, photo
realism, graphics hardware, and virtual environments.
Textbooks are used for
reference. Recent and seminal
publications will be referenced when appropriate to get an understanding of the
research frontiers. Copies of
recommended papers will be available from the class web site. Video/DVDs may be used to illustrate concepts
and results.
The course is based on the belief
that computer graphics is best learned by doing. There are no written exams. Grades are based on the homework programming
assignments and a final term-programming project. Homework assignments focus on producing the components
of a 3D graphics library. The term
project is expected to take most of the 2nd half of the semester to
complete and should explore a new research concept or a novel extension to a
research publication. A one-page
proposal abstract is required by mid-semester for approval by the instructor,
and a 4-5 page report describing the complete project is required at the end of
the semester. All the projects are
presented and demonstrated in the final days of class.
You are encouraged to talk among
yourselves about the assignments and projects; however you must turn in your
own work. Files that are clearly the
same, or slightly altered copies of each other, will receive zero credit and
the USC Office of Student Judicial Affairs and Community Standards will be
notified. Protect yourself by making
your work unreadable by others.
See http://www.usc.edu/student-affairs/SJACS/nonacademicreview.html
for details of the USC student conduct code.
Home Work Assignments (approximate sequence – subject to change)
Compile
and run for setup
Triangle
renderer with Z-buffer and constant color
Transformations
Lighting
and shading
Procedural
and image textures
Accumulation
buffer anti-aliasing
Project
(due at end of semester)