ECE 576
Image Synthesis
School of Electrical and Computer Engineering
Purdue University
Spring 2005
Time: MWF 10:30-11:20pm EE 115
Instructor
Dr. David S. Ebert ,
ebertd at purdue
dot edu,
MSEE 274, Phone: (765)494-9064
Office Hour : M 11:30am - 12:30pm
Quick Links
Prerequisites
EE 264, EE368, or permission of instructor
Course Description
This course will cover techniques for computer generation of realistic and
artistic images. We will cover the basics to the state-of-the-art and discuss
the implementation of these techniques on the latest generation of graphics
hardware. Students will complete an introductory project and then work on a
semester long project in one of the topic areas of the course. Students will
also present papers covering the topic area of their choice to gain experience
in understanding the literature and in presentation.
Class projects can be performed in groups of up to three students.
General Course Schedule
- Week 1: Introduction to Image Synthesis and the Graphics Pipeline
- Week 2-3: Graphics Pipeline / Hidden Surface Removal, Implementing basic
rendering on graphics hardware
- Week 4: Basic Illumination Models
- Week 5-6: Texture mapping: basic to advanced
- Week 7-8: Non-photorealistic Rendering
- Week 9-10: Advanced Illumination - radiosity, photon mapping, advanced
scattering
- Week 10-11: Procedural texturing
- Week 12: Aliasing and Anti-aliasing
- Week 13: Shadowing
- Week 14-15: Simulating natural materials and phenomena
Textbook
A. Watt and M. Watt, Advanced Animation and Rendering Techniques,
Addison-Wesley, 1992
Additional Good References:
- Physically Based Rendering : From Theory to Implementation,
Matt Pharr and Greg Humphreys, Morgan Kaufmann, 2004.
- Texturing and Modeling: A Procedural Approach, 3rd Edition,
Ebert, Musgrave, Peachey, Perlin, and Worley. Morgan Kaufman 2002.
- OpenGL 1.2: A Primer, Edward Angel,
Pearson Addison Wesley, 2001.
- Realistic Image Synthesis Using Photon Mapping Henrik Wann Jensen,
AK Peters, 2001.
- Procedural Elements for Computer Graphics, David F. Rogers,
McGraw-Hill, 1997.
- Principles of Digital Image Synthesis,Andrew Glassner, Morgan
Kaufman 1994.
- Introduction to Computer Graphics, Foley, van Dam, Feiner,
Hughes, Phillips, Addison Wesley, 1993.
Readings
Students will read and discuss seminal and current technical research papers. A list of readings (in progress and subject to frequent
update) is available
here. For off campus access to restricted
library resources (such as the ACM
digital library), use the
Libraries Proxy Service.
Grading Policy
Grades will be assigned on the basis of accumulated points. The weighting
is as follows:
- Two exams 20%
- Class participation 5%
- Critique/Questions of 1 group lecture 5%
- Five minute presentation of SIGGRAPH 2004/ EGSR 2004 paper 5%
- OpenGL Renderer 20%
- Semester Programming project 35%
- Class Lecture on related topic 10%
Programming projects and semester project phases may be turned in
up to one week after the due date with a 25% grade penalty. Phases
will not be accepted more than a week late.
Examination Policy
Make-up exams will only be
given when a student is prevented from taking the exam due to unforeseen
circumstances (e.g., sickness), and formal proof will be required to prove
the prevailing circumstance. All make-up exams will be oral exams.
The ECE faculty expect every member of the Purdue community to
practice honorable and ethical behavior both inside and outside the
classroom. Any actions that might unfairly improve a student's
score on homework, quizzes, labs, or examinations will be considered
cheating and will not be tolerated.
Examples of cheating include (but are not limited to):
- Sharing results or other information during an examination.
- Bringing forbidden material or devices to an examination.
- Working on an exam before or after the official time allowed.
- Requesting a regrade of answers or work that has been altered.
- Submitting labs that are not your own work or engaging in
forbidden lab collaborations.
The minimum penalty for cheating will be a zero for the assignment,
but the probable penalty will be a zero for the course.
You may discuss programming assignments with anyone. You can not turn
in someone else's code or use part of someone else's code.
Any help you receive
must be documented. At the beginning of your program, you must include
a comment indicating the sources you used while working on it
(excluding course staff and text), and the type of help you received
from them. If you received no help, say so. Failure to include this
comment at the top of your program will result in your program being
returned ungraded.
At the instructor's discretion, cheating on an assignment or
examination will result in a zero score, or a failing grade for the
course. All occurrences of academic dishonesty will be reported to the
Assistant Dean of Students and copied to the ECE Associate Head for
Education. If there is any question as to whether a given action might
be construed as cheating, please see the instructor or the teaching
assistant before you engage in any such action.
FOR MORE INFORMATION
Contact David Ebert,
ebertd at purdue
dot edu