|Time:||Tuesday and Thursday, 3:30-4:45|
|Instructor:||Greg Humphreys, firstname.lastname@example.org
Office Hours: MW 10:00-12:00 in Olsson 216
|Teaching Assistant:||Nolan Goodnight,
Office Hours: TTh 1:00-3:00 in Olsson 227 (Graphics Lab)
|Students:||Who took the class this year?|
|Assignments:||Assignments are due at 11:59:59 PM on the day in question. See the late policy below
for some more information about turning in assignments on time.|
|Description:||This course provides a broad overview of the theory and practice of rendering. We will discuss classic rendering algorithms, although most of the course will focus on either fundamentals of image synthesis or current methods for physically based rendering. The final project will be a rendering competition, with a first prize of a trip for a week to San Diego in July to attend SIGGRAPH 2003.|
|Prerequisites:||Students should have a good working knowledge of computer graphics at the level of CS445 or its equivalent. Solid knowledge of integral calculus and some basic geometric algorithms is also a must. It is also expected that students have been exposed to probability at a high school level. We will review key relevant concepts in probability, statistics, and signal processing, but some previous exposure to any or all of these topics will make that material go down a lot smoother.|
|Texts:||Principles of Digital Image Synthesis, by Andrew Glassner. Both volumes are available at the bookstore. Make sure to check out the errata before you go down a (metaphorical) rathole.|
The Renderman Interface Specification. For all your RIB writing
Exluna's list of modelers, plugins, and conversion tools. For getting RIB out of your favorite modeling package.
The RenderMan Repository has a bunch of example RIB files, shaders, and documentation.
The RenderMan FAQ has a bunch of useful information about everything RenderMan.
Ray Tracing News - a newsletter with all sorts of useful code, news, and information on ray tracing.
Internet Raytracing Competition - a good source of inspiration about scene composition and modeling. The entries here really illustrate the artistic potential of ray tracing.
|Scribing:||Graduate students taking CS647 will take turns scribing lecture notes.
Please see the TA for scheduling immediately.|
We expect scribed lecture notes to be of high quality. They should accurately and eloquently reflect the material covered in class. They will almost always include equations and diagrams. Lecture notes will be scribed using LaTeX and the templates provided below. Diagrams will be drawn as high-quality vector art (i.e., not hand-drawn, and not bitmaps), preferably in Adobe Illustrator.
The completed notes are due one week after the lecture in question. To get started. download the three files from here, and run LaTeX twice on lect00.tex. You have to run it twice to get the cross-referencing right.
You will submit your LaTeX file and all associated figures/images necessary to build it to the TA, who will review it for correctness. The TA reserves the right to send the notes back to you for further editing.
Failing to complete your assigned scribed notes in a timely way is not an option. If you are unable to do what you signed up for in the time allotted, it is your responsibility to switch with someone else. If you do this, please let the TA know that you have done so. The consequences for flaking on a scribing assignment will be dire.
For examples of high-quality scribed lecture notes, check out the notes from this course at Stanford.
|Honor Code:||The honor code applies to all work turned in for this course. In particular, all code and documentation should be entirely your own work. You may consult with other students about high-level design strategies, but you may not copy code or use the structure or organization of another students program. Said another way, you may talk with one another about your programs, but you cannot ever look at another student's code nor let another student look at your own code. Obviously, you may collaborate freely with your project partner.|
|Grading:||Grading will be based solely on the quality of your programming assignments, written assignments, and final project. There will be no exams. Each assignment (programming and written) will be worth 10% of your grade, and the final project will be worth 50%. The "Hello, World" assignment will not count towards your grade except in the sense that you will not pass the course if you do not complete it.|
|Late Policy:||You should strive to complete your assignments on time. To cope
with unforeseen circumstances, you will be allowed four days of grace
during the semester, to be used as you see fit. After these days are
gone, assignments can be turned in one day late for 50% credit. After
two days, assignments will not be accepted. No late days may be used
for the final project or the final project writeup. Notice that these
are calendar days, not weekdays, not class days, and not non-holiday days.
The clock is running during weekends, spring break, and while you're
partying. Exceptions can be made for sickness and/or family
emergencies; see the instructor.
Note in particular that computer downtime is not an excuse for lateness. Computers crash and networks go down; the world is an imperfect place. Be prepared. Do not start assignments at the last minute. Do not forget to leave time for the render to complete (this is especially true of the final project).
Doing the readings before class will greatly improve your comprehension of
the course material. This cannot be emphasized enough.|
Readings that are DIRECTLY related to your assignments are marked in italic bold. The colors mean nothing.