Download the guideline as PDF

Overview

Your mission, should you choose to accept it, is to create something graphically beautiful, technically interesting, and just generally impress us with your newfound graphical prowess.

You will need to ensure that it is clear from your proposal why the project merits a significant amount of ​technically interesting​ work​. What do we mean by “technically interesting”? Imagine you were to write OpenGL code which rendered a photorealistic scene using nothing but graphical primitives. You can imagine spending months perfecting this scene by altering 100,000 vertex values by hand. This would be a massive quantity of work; however, it is not at all technically interesting. Avoid choosing a project which takes lots of time and grunt­work without solving any interesting problems like those you have seen in the course so far.

Also, do not assume that a project which mimics the below inspirations represents an adequate amount of work. For example, for the cel­shader example below, it would be simple to get a basic version working within thirty minutes. However, you could also work on a custom cel­shader for months and still find ways to improve it. So, do your research, and make it clear to us why your project is justified as “technically interesting”.

That said, try to refrain from being exclusively technically interesting. This is a graphics course, after all, so aesthetics are important! If the nature of your project is a light­rendering algorithm, make sure the light looks beautiful. If the project involves a rigid­body physics simulation, make sure the motion of the objects is beautiful.

Ultimately, we encourage you to challenge yourself by finding a project which interests you! If everything you dream up feels like “an obligation” ­ then keep searching! Find something you love.

The possibilities are limitless, but that’s a vague thing to say, right? You may use the following list as inspiration. Think of these items as suggestions or starter points for your own idea. While you could mimic them directly, you may also be more interested in making them “your own”:

You may also find an inspiring research paper to implement. Here is one example describing realistic rendering of watercolor paint.

Additionally, consider looking through some of the more famous graphics books, which have been around since the 90s, the “GPU Gems” series. You could pick an effect described in a chapter of a GPU Gems book and turn it into a project proposal. The full text of GPU Gems 1, 2, and 3 is available here.

You can review projects from previous years to get ideas as well:

http://physbam.stanford.edu/cs148/showcase.html has final project images from several previous offerings of the course. Note that you are not required to do a raytraced image for your final project. We are teaching this class differently than it has been taught in the past. Only a few very strong ray traced image proposals will be accepted for this offering of the class. ­We encourage you to branch out and try projects from different areas of graphics.