15-468, 15-668, 15-868 Physics-based rendering
Spring 2024

Final project instructions

Key deadlines

Key logistics

Teams: Final projects must be done 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.

If you want to use a renderer or codebase other than DIRT or Mitsuba for your final project, you should discuss this with the instructors and get approval from them before you submit your final project proposal. We will allow final projects that use other renderers or codebases on a case-by-case basis.

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 (by April 5th, optional but highly encouraged)

Each student will send the teaching staff a direct message on Slack with a list of features they are considering implementing, as well as a proposed categorization (simple, intermediate, advanced) and number of points for each feature. The teaching staff will follow up on the direct messages, 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 (April 5th)

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

Final deliverables: rendering competition image, code, report, and project presentation

There are four final deliverables for your project.

Project report and code (April 29th, during final exam week): 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 report should be written as a SIGGRAPH paper (you can use the author kit for the formatting). Your code should be submitted through GitHub classroom.

Project presentation and rendering competition image (April 30th, during final exam week): Project presentations will happen during a special class session scheduled during the exam period. Each presentation will last for 5 minutes, with 3 more minutes for questions from the competition judge, teaching staff, and other students. We will enforce time limits strictly! Therefore, you should make sure to prepare and practice your presentation in advance. You should prepare as many slides as you think you need for the minutes you have (we recommend one slide per minute). Your presentation should include your image submission for the rendering competition. We will decide the winners of the competition at the end of the project presentation session.

Special Thanks

A lot 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 College.