CS348B Final Project Instructions

Proposal Due: Friday May 19th, 11:59PM

Rendering Competition (Demo Day): 4:30PM, Friday June 9th, 2nd floor of Sweet Hall

Write-up Due: Monday June 12th, 11:59PM

Please create a page for your final project on FinalProjectPages. You will need to add your project proposal and later your final project writeup to this page.

Also, if you need a partner, make a posting on the FindAPartnerPage.


Your final project is 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 get an idea of our expectations, check out the images produced by past participants. On Friday June 9th, you will present your project to a panel of judges as part of the CS348B rendering competition. As extra incentive, we are offering a grand prize that includes a free trip to SIGGRAPH in Boston in August for the best image produced! Here are some things to think about following when choosing a project:

Some Project Ideas

Here are some examples of challanging projects.


Your main task should be to implement cool rendering algorithms, rather than spending all of your time modeling a complex scene. However, you do need to provide pbrt with a scene to render! Check the RenderMan resources page for info about the RIB file format. You can convert this file form to a pbrt scene file using the utility rib2pbrt. the pbrt website also has some plugins on its download page that might be useful to you, such as a Maya-to-pbrt scene exporter, and a .obj file reader.

Project Proposal

As a first step you should write a one page project proposal and add it to your project page. 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.

Here is an example project page.

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.

Demo/Judgement Day

On demo day (see dates at the top of the page), 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. All demos will be on the second floor of Sweet Hall where the myth machines are located. 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 absolultely need to have your rendering done by this date. Late days are not allowed on the final project.

Final Write-up

Your final project writeup should be added to your project page by 11:59PM on Monday, June 12th (no late days allowed). The writeup should contain a two to three page project summary with a brief results section and any conclusions or comments you have based on your experiences. In your summary, describe the techniques you used to produce your images (or refer the reader to papers for spurrious detail), who did what on the project, as well as any problems that you encountered and had to overcome. Your final writeup page is a great place to show us any cool or illustrative images you produced that you don't have the chance to to show on demo day. Your final project pages will be archived in the wiki, and future CS348B students will be looking at them for years to come, so please put good effort into the writeup.

Rendering Competition Judges

The judges for the rendering competition will be announced shortly.


The final project will count 1/2 (or more, if based on our judgement, we consider the project truly outstanding) towards your final grade in the course. 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. Mega-lines of code 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!

FinalProject (last edited 2006-06-08 14:18:54 by PatHanrahan)