Non-photorealistic rendering in hand drawn styles


Sponsor Irfan Essa
http://www.cc.gatech.edu/~irfan
206 CoC

Antonio Haro
http://www.cc.gatech.edu/~haro
226A CoC
 

Area CPL / GVU

Problem
Graphics research has traditionally focused on creating images that are indistinguishable from images of the real world. Non-photorealistic rendering (NPR) strives for the opposite effect. The majority of NPR research done currently focuses specifically on hand drawn styles, that is, pen and ink, charcoal, watercolor, etc. Hand-drawn NPR styles are important because they can often show more detail or information than would be available in a real image. One only needs to look at an anatomy book or an auto repair manual for evidence of this.

The goal of this project is for you to create your own non-photorealistic renderer, based on an already existing system. This system will read in a 3D model and render it in several styles, which you will implement. This is also a good opportunity to get familiar with Open GL and development on the PC platform, although knowledge of programming on the Windows platform is not a pre-requisite.

Background
There is a  lot of work that has been done in this area. Here are some good links to learn more about the area:

What you need to do:
  1. Download the base renderer and get it to compile. The base renderer will let you load 3d models, view them, and render their silhouettes. You can download the Visual C++ project file and code here.
  2. Once you have the base renderer working, try adding new styles. Read the following to get ideas:
    1. Lee Markosian, Kowalski Michael A., Trychin Samuel J., et. al, Real-Time Nonphotorealistic Rendering, Brown Univeristy, SIGGRAPH 1997.
    2. Intel's paper on their NPR sdk: ftp://download.intel.com/ial/3dsoftware/toon.pdf
    3. Chandler Wilkerson's NPR class project on the Web: http://rodin.cs.uh.edu/~chandler/toon/
  3. Some things to think about:
    1. What do different periodic functions look like as strokes? (These are the types of strokes they use in the Markosian SIGGRAPH paper.) Why do some look better than others?
    2. Can you make the silhouette edges of the 3d model look airbrushed?
    3. What about a cartoon/comic-book look?
    4. What other strokes/styles can you think of? How close do they look to what an artist would do?
    5. Write up your findings and submit your documented code. A Web page of your findings with screen shots of your renderer in action would be preferable.
Evaluation

Based on the report turned in to the sponsor of the project by the due date.