15-468, 15-668, 15-868
Physics-based rendering, Spring 2022
Final project instructions
Key deadlines
Key logistics

Teams: Final projects must be done either individually, there is no option to work in teams.

Renderers: For your final project, you can work with one of the following renderers:

If you choose to use Mitsuba, your project proposal should justify this use. For example, if you want to experiment with modifications to some advanced rendering algorithm like Metropolis light transport, it is better to do so on Mitsuba. If you want to add support for new material classes, you should do that on DIRT.

Scope of final projects: Your final project should focus on implementing a set of features on top of either of the above renderers. We will broadly group implemented features into three categories:

Your project should comprise a list of features that sum up to at least 12 points. You can implement features for additional points for extra credit, e.g., to make up for credit you missed in programming assignments and quizzes, or for an A+ grade. Additionally, the list should include at least one intermediate or advanced feature. The above point breakdowns are just a rough guide. For each implemented feature, your project should produce:

In addition to the above, your final project should include a visually compelling rendering of a new scene that you put together to showcase all of the features you implemented. This image will serve as your entry to the rendering competition.

Project ideas (dates TBD, optional but highly encouraged)

Each student will post on Piazza a list of features they are considering implementing, as well as a proposed categorization (simple, intermediate, advanced) and number of points for each feature. Please make sure to make your post private and assign it to the final project folder. The teaching staff will follow up on the posts, with feedback on each proposed feature (whether it is correctly categorized, whether it is too simple or too ambitious given the project timeline, and so on). We encourage you to submit a feature list summing up to more than the required 12 points, so that you have more options for your eventual project proposal.

Coming up with project ideas: Below are a few pointers that can help you come up with ideas. You should also take advantage of office hours between now and the due dates for your proposal, to discuss potential final project topics with the teaching staff.

Below are some pointers to specific topics that the teaching staff find intriguing, and associated literature. Most of the below-listed topics would correspond to intermediate and advanced features.

Project proposal (dates TBD)

The written project proposal should be a PDF of size between 1-2 pages, to be submitted on Canvas. It should:

Final deliverables: project presentation, report, and code

There are two final deliverables for your project: A project presentation, and a project report.

Project presentation (dates TBD): Project presentations will happen during a special class scheduled during the exam period. Each presentations will last for TBD minutes, with TBD more minutes for questions from the teaching staff and other students. Time limits will be strictly enforced! Therefore, you should make sure to prepare and practice your presentation in advance. You should prepare as many slides you think you need for the minutes you have (we recommend one slide per minute). Note that the total presentation time is due to change as we finalize logistics.

Project report and code (dates TBD): Your final report, to be submitted on Canvas, should be a PDF, typeset on LaTeX, elaborating on the evaluation elements described above, for each of the features you implemented. Your code should be submitted through GitHub classroom.

Special Thanks

Some of this write-up is inspired from Kayvon Fatahalian's final project instructions for 15-769: Visual Computing Systems, and from Wojciech Jarosz's final project instructions for Rendering Algorithms at Dartmouth.