CS 334: Fundamentals of Computer Graphics
Announcements
- No lecture on Monday November
19
- Demos in the graphics lab on
Monday November 19 between 1:00 and 3:00
- Mark Danks, Sony Computer
Entertainment America, talk in LWSN 3102A/B
- Course and instructor
evaluations on Monday December 3rd
Lectures & Code
Assignments
Administrative Affairs
Syllabus
- Basics
- Vectors,
points, matrices, coordinate systems, transformations
- Camera,
projection, modification of extrinsic (e.g. translation, rotation,
revolution, view interpolation) and intrinsic (field of view, resolution)
parameters
- Shared
vertex triangle mesh
- Wire-frame
rendering
- Rasterization
- Gouraud/Phong
lighting and shading
- Texture
mapping
- Hardware
rendering
- Basic
ray tracing
- Perspective
texture mapping
- Turning
a camera into a projector
- Camera
calibration
- Shadow
mapping
- Environment
mapping
- Rendering
distant geometry
- Rendering
distant reflected geometry
- Overcoming
EM limitations
- Single
and multiple camera geometry
- More
pinhole cameras (cylindrical, spherical, fish eye)
- Epipolar
geometry
- Application:
depth from stereo
- Application:
ray tracing acceleration
- Non-pinhole
cameras (light field, occlusion camera, k-ray camera)
- Basic
GPU programming
- Vertex
programs
- Pixel
shaders
- Non-standard
uses of the GPU
- Other
topics (e.g. image-based rendering, rendering acceleration, animation,
tracking, automated modeling)
Required (but fun) Work
- Assignments
- 8 assignments due
every 7-10 days
- Assignments 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
- 8% each assignment,
total 64%
- numerous extra-credit
opportunities
- late policy
- once late (up to one
week) no penalty
- late second and subsequent
times, 10% of assignment credit per day
- all assignments are
required by the last day of classes for completion of course
- turn in assignments
using WebCT; if you cannot turnin in on WebCT, an email with URL is due
to the TA before the due date
- assignments need to
compile and link and run once downloaded; use relative paths
- include Readme.txt or
Readme.doc file describing your submission
- Exams
- Regrading
- You can ask for
regrading within one week after assignment or exam has been returned to
you
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
- NVIDIA, GPU Gems. Programming techniques,
tips, and tricks for real-time graphics, edited by R Fernando
- NIVIDIA, GPU Gems 2. Programming Techniques for
High-Performance Graphics and General Purpose Computation, edited by
M Pharr, and R. Fernando
Voicu Popescu fall 2007