CS 33400 Fundamentals of Computer Graphics
-general information-
Final: Wed 12/15/2010 7:00p - 9:00p HAAS G066
Administrative
affairs
·
Instructor:
Voicu Popescu, popescu@purdue.edu
-
Office hour: by appointment, LWSN 3179
·
Teaching
assistant: Neil Battacharya, nbhattac@purdue.edu
Lectures
·
Basics
·
Triangle
rasterization
·
Planar pinhole camera
·
Rasterization
parameter interpolation
·
Basic
lighting and shading
·
Texture mapping
·
Environment
mapping
·
Projective
texture and shadow mapping
·
Hardware
rendering
·
Geometry
approximations for interactive reflection rendering
Prerequisites
- Basic programming (data
structures, algorithms, file I/O, C / C++)
- Some basic mathematics
concepts (3D vectors, matrices)
Syllabus
We will spend the semester studying and implementing
interactive 3D graphics techniques. The syllabus has three parts.
·
Basics
o Vectors,
matrices, transformations
o Basic
analytical geometry (e.g. points, lines, segments, planes, triangles,
intersections)
o Camera
models, projection, navigation
·
Classic feed-forward rendering
o Rasterization
o Screen
space and model space interpolation
o Basic
shading
o Texture
mapping, projective texture mapping
o Shadow
mapping
o Environment
mapping
o Antialising
o GPU
programming
·
Advanced rendering techniques (a subset of the
following topics, time permitting)
o Ray
tracing
o Geometric
modeling
o Image-based
rendering
o Automated
scene modeling (e.g. stereo, structured light, laser range finding)
o Computational
photography
o Camera
model design
Required (but Fun)
Work
- Assignments (pending TA
support)
- 10 total, due
approximately every week
- Require implementation
of a pipeline stage or rendering technique; they are incremental, you
cannot complete the later assignments w/o having earlier assignments that
work; you are responsible for not falling behind (and for catching up); I
will not give out solutions to the earlier assignments since you need to understand the earlier
assignments.
- credit
- 5% each assignment
- numerous extra-credit
opportunities
- late policy
- once late (up to one
week): no penalty
- late second and
subsequent times: 0 points for assignment
- all assignments are
required by the last day of classes for completion of course
- turn in assignments
via Blackboard Vista
- assignments need to
compile and link and run once downloaded; use relative paths
- include Readme.txt or
Readme.doc file describing your submission
- after you receive the grade
for an assignment you have exactly 1 week for asking for a regrade
- Exams
- Midterm 20%
- Final exam 30%
Cheating policy
- Do not cheat!
- Frequent and thorough scans
for cheating
- If caught automatic failing
grade for the class and reported to the Dean of Students' Office
- Examples of cheating
(courtesy of Gene Spafford)
- Using part or all of
someone else's work, from this or any prior semester, in projects or
homework without the instructor's prior approval;
- Misrepresenting the
functionality of code. That is, if a student submits a project with
falsified output or test data to make it look as if a program works
better than it does;
- Using hidden notes or
hints to answer questions during a test that does not allow open notes or
crib sheets;
- Submitting answers on
homework or projects that were developed or researched by any other
individual and presented as the student's own work;
- Copying text from a
book or paper to include in the student's own writing without clearly
marking it as a quote and citing the source (This is plagiarism and may
be a violation of copyright law as well as cheating.);
- Setting permissions on
files and directories in a student's account so that someone can easily
copy programs and documents, or allowing any other person, in the class
or otherwise, to use your computer account (note that this is also a
violation of department policy or PUCC policy;
- Providing program code
or problem solutions to another student in the class without the
instructor's explicit, prior approval;
- Encouraging anyone to
do any of the above, or failing to report anyone involved in any of these
activities.
Course material
- Recommended texts
- Peter Shirley, Fundamentals of Computer Graphics,
ISBN 1568811241
- Alan Watt, 3D Computer Graphics, ISBN
0-201-39855-9
- Foley, van Dam et al.,
Computer Graphics Principles and
Practice, ISBN 0-201-84840-6
Voicu Popescu, fall 2010