final Project: Cell Shading Craziness

For my final project, I decided to make a cartoon rendering program. I ended up making the program a little more extensible than just a simple cartoon rendering program. The shader texture files are simply ascii files with 32 floats in them that you can hand edit to creat your own effects. I played around with them and came up with some chrome effects, flat shading, a gradient that looks almost like true (openGL light-based) rendering, a couple of cartoon-like 3 step color schemes, and a high-contrast shader.

My first approach to cell shading was actually a polygon-based approach. depending on the polygon's angle to the light, I would shade it in a different way. This ended up not being faster or better looking so I opted for the texture-mapped approach.

The outline widths, outline colors, and cell colors are all user selectable from the gui.

Here are two movies of cell shading action:
Three Step Shading
Chrome (pen and ink) Shading

Here are some sample pictures of the different effects and models:

The Car:

The Car With a High Contrast Shader:
Pseudo Cell Car: Thin Chrome Effect With White Outlines:
Car With Wide Outlines and High Contrast:
The Woman Model: The Chrome Woman:
The Demonic Woman: The Flat Shaded Woman:
The Hippie Shoe: The Flat Shaded Sandal:
The Sandal With Gradient Shader: The Sandal With High Contrast and Thick Lines:
The Pseudo Sandal: The Sandal Gradient Zoomed in:
The Shark: The Shark With 3-Step Shading:
The Shark With Thin Chrome Shading: The Shark With Invers 3-Step Shading:

This program allows you to load up any poly object that we've used in this class and cartoon render it. To use the program type in "final" at the command prompt.

The program will load a default cell shader, but not a model, so you'll have to hit the load button and select one.

Once the model is loaded, you can click on the cell shading button to see the object cartoon rendered. You can turn outlines on and off with the outlines button.

The pseudo cell button allows you to render the model with my first attempt shader. This shader doesn't do any smooth shading on the polygons, leaving the shading dependent on the polygon edges. This approach was very ugly, so I quickly abandoned it and started working on the textured approach.

The sliders allow you to change the color of you cell shading and outlines.

The whistles go woo.

Questions about this program? email me: nlieby@cats.ucsc.edu