Final Project

This assignment was modeled after the Final Project of Stanford's Image Synthesis class.
Academic Misconduct
Late Submission:
There is no option to be late for the final project.
Deadlines:
Thu, December 07 (23:59) - project proposal (submit a pdf through moodle)
Thu, January 25 (23:59) - final project report (submit a pdf through moodle)
Tue, January 30 (23:59) - presentations (submit a pdf through moodle as well as the project source code separately)

Description

For your final project we ask you to produce a realistic image of a real object or scene. The scene or object should be challenging enough to require you to design and implement an advanced rendering algorithm. The final project is your chance to investigate an area that interests you in more depth, and to showcase your creativity. To see what your peers at Stanford did, check out these descriptions. Here are some things to think about following when choosing a project:


Some Project Ideas

Try to find a project idea that you're passionate about; you'll be spending a lot of time working on it, so it's good to be excited about it! You may find inspiration from some of the assigned reading as well as from some of the more complex exercises in Physically Based Rendering. Also see the “Further Reading” section at the end of chapters that are about topics that may interest you for your final project. In addition, skimming through a list of recent graphics research papers might be useful (particularly papers published at SIGGRAPH, SIGGRAPH Asia, and the Eurographics Symposium on Rendering).

Here are some ideas that you may find interesting or may spark ideas about other projects:

Rendering Hair or Fur

Shading Languages

BRDFs and Reflection Models

Implement an approach like Westin et al's Predicting reflectance functions from complex surfaces for generating tabularized BRDF models by simulating light transport in microgeometry.

Subsurface Scattering

pbrt implements a basic version of the Jensen and Buhler 2002 subsurface scattering approach, but a number of improvements have been developed since then, including d'Eon and Irving's approach, Donner et al's empirical BSSRDF model, and Donner and Jensen's skin model.

Volumetric Light Transport

Implement Kulla and Fajardo's Importance Sampling Techniques for Path Tracing in Participating Media approach for efficient importance sampling in participating media.

Innovative Cameras

Implement a light field camera in pbrt (Light Field Photography with a Hand-held Plenoptic Camera, by Ng et al.).


Project Proposal, due Dec 07 (Thu) 23:59

As a first step you should write a one page project proposal and email me your webpage. The proposal should contain a picture of a real object or scene that you intend to reproduce. We suggest that you first pick something that you would like to simulate, and then investigate what techniques need to be used. A real object that you can carry around with you is best, but a good photograph or painting is almost as good. In addition to having illustrative pictures, your proposal should state the goal of your project, motivate why it is interesting, identify the key technical challenges you will face, and outline briefly your approach. If you are implementing an algorithm described in a particular paper, provide the reference to the paper. Please list all group member's names clearly at the top of the page, and if you plan on collaborating with others, briefly describe how each person's piece relates to the others.

The purpose of the proposal is to get everyone organized early, and it will give us the opportunity to provide feedback as to whether we think your idea is reasonable, and to offer some technical guidance, e.g. papers you might be interested in reading.


Resources

You may find some of the 3D file format converters and mesh processing tools listed at the pbrt website useful if you need to convert scenes from external modeling systems to pbrt's input format.

Final Writeup, due Jan 25 (Thu) 23:59

The writeup should be roughly 3-4 pages, and contain the following:

Please take the time to create a high quality writeup for your project (think about it as writing a tech report you'd like to keep permanently on the web). We will be archiving the final project pages and they will be viewed for years to come.

Example final writeups from Stanford students:


Presentations, due Jan 30 (Tue) 23:59

On the day of the presentations, each group will be given 15 minutes to demonstrate their system to the class and rendering competition judges and show some images that they produced. You can show off your images on any machine you see fit. Remember to bring the object/images that you are modeling and reproducing. The goals and technology that you developed should be obvious from the image itself. After all, this is graphics. Keep in mind that you absolutely need to have your rendering done by this date. Late days are not allowed on the final project.

As there is a tendency for these presentations to go long, here's some guidelines on how to prepare for the final presentation so everyone remains entertained and the judges get an adequate impression of your work.

It is useful (but not required) to get a web page or Powerpoint presentation prepared (look for alternatives to powerpoint ) to keep your presentation organized.


Grading

Grading criteria:

We will consider strongly the novelty of the idea (if it's never been done before, you get lots of credit), your technical skill in implementing the idea, and the quality of the pictures you produce. Tons of coding does not make a project good. When you are finished with your project you should post the source for your system and any test scenes and images that you have created. As stated above, you are permitted to work in small groups, but each person will be graded individually. A good group project is a system consisting of a collection of well defined subsystems. Each subsystem should be the responsibility of one person and be clearly identified as their project. A good criteria for whether you should work in a group is whether the system as a whole is greater than the sum of its parts!

The final project can be a lot of fun. Good luck!