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/ECS275Prerequisite
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 appointmentRecommended 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
- NVIDIA OptiX
- CUDA
- OpenCL
- OptiX Starter
- Ray Tracing News
- RADBIB: a comprehensive bibliography of radiosity and related global illumination papers, theses, articles, and books. Go to the "Resources" page.
- Graphics Gems Code Repository
Assignments and Grading
There will be 3 programming assignments, one midterm exam, and one final project: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.
- 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.
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.Regrade:
Follow these instructions to turn in your programs.
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:
Incompletes:
90% 80% 70% 60% 50% A B C D F
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.