ECS275A

ECS275A Advanced Computer Graphics
Realistic Image Synthesis

Winter Quarter 2011



Course Description:

In this class, you will learn and implement realistic image synthesis techniques with a focus on rendering algorithms taking into account the effect of global illumination.

Course Home Page

http://www.cs.ucdavis.edu/~ma/ECS275

Prerequisite

ECS175

Time & Place:

Tuesday and Thursday, 6:10-7:30pm, in 159 Olsen

Instructor:

Professor Kwan-Liu Ma
2121 Kemper
752-6958
ma@cs.ucdavis.edu
Office hours: by appointment

Recommended Books and reading

1. Realistic Ray Tracing, Peter Shirley, A K Peters, Ltd. (2nd edition)
2. Radiosity and Realistic Image Synthesis, Michael Cohen and John Wallace, Academic Press Professional
3. Realistic Image Synthesis using Photon Mapping, Henrik Wann Jensen, A K Peters, Ltd.
4. Physically Based Rendering, Matt Pharr and Greg Humphreys, Morgan Kaufmann (2nd edition)

A collection of research papers is also provided. You will choose a paper from this list to present in class.

Other Resources

Assignments and Grading

There will be 3 programming assignments, one midterm exam, and one final project:
  • Assignment #1 (15%): a simple raytracer (due January 20)
  • Assignment #2 (20%): an enhanced raytracer (due February 3)
  • Assignment #3 (15%): radiosity or photon mapping (due February 18)
  • 80-minute midterm exam (20%) (on March 1)
  • Paper presentation (10%) (on February 15, 17, and 24)
    Each presentation is about 20 minutes.
  • Final project proposal (5%) (on February 24th in class)
    A 1-2 pages proposal with a minimum of 500 words.
    Final project presentation (5%) (on March 11)
    Final project is normally an extension of project 3, and a demonstration to the whole group is required. Under exceptional circumstance, a muli-person team project may be proposed. Final project demo and report (10%) with a minimum of 2,000 words is due on March 17.
Important: A computer program that does not run and generate images will not be graded. An assignment that is partially complete must be clearly documented to indicate what functionalities were (or were not) implemented.

For all projects, you may use the Linux PCs in the labs at the basement of Engineering II. The use of these systems is not required to complete the problems of the course. However, it is required that you get the final version of the programs running on these systems since I will grade your programs on a Linux PC. All non-standard libraries used must be included in your submission.

Due Date:
To receive full credit for a problem, the program must be turned in complete by midnight of the due date. Problems that are turned in after this time will be penalized 10 points per day.

Follow these instructions to turn in your programs.

Regrade:

In general, regrades must be turned in no later than one week after the graded papers were made available, not from when the student picked up her or his paper. However, at the end of the quarter, papers to be considered for regrades must be turned in earlier, as will be announced. Similarly, any missing or misrecorded grades must be reported within a week of their posting, except as will be announced at the end of the quarter.
Sample Grades:
90% 80% 70% 60% 50%
A B C D F
Incompletes:
I do not give them unless extreme circumstances are presented and documented. In this case, the student should be prepared to retake the class completely.

Class Attendance

Class attendance is not required. However, you are responsible for all material covered, assignments and examinations given, announcements made, etc. in all classes. If you miss a class, consult one of your classmates for notes and announcements. Class handouts will be available online in the class home page:
http://www.cs.ucdavis.edu/~ma/ECS275

Policies, Cheating and Plagiarism

This is a demanding course and you will acquire a tremendous amount of knowledge. There is information available to you, not only from books or from over the Internet, but also from other students in the course. While I would like to encourage cooperative work, each student is to do his or her own work on each assignment. The basic idea is simple. Share the ideas, share the strategies, help each other with system productivity, ask questions of others, but produce your own code. Create a synergistic environment where we all learn much more than you could if you did this class entirely on your own.

Any instance of suspected cheating or plagiarism (e.g., copying other student's code) will be referred to the Office of Student Judicial Affairs for adjudication. The `Code of Academic Conduct' describes relevant policies and procedures. Ask the instructor for clarification beforehand if the above rules are not clear.