Monday, 8 April 2013

Tooooon Shading!!!!!




Toon Shading or Cel Shading is a type of a non-photo-realistic illumination that makes models look hand-drawn. 

In my own opinion, the word 'Toon' comes from the word cartoon which is the easiest way to draw. You usually see many examples of 2D toon shading in film companies like Disney and Pixar. However, in video games, toon shading is used many of the games such as Bastion, Legend of Zelda, Ultimate Spiderman, and Prince of Persia.

Speaking of games, did you know the Doctor Hauzer was the first video game to incorporate cel shading into its graphics? Yes indeed. In 1994, this game introduced the first early example of cel shading. Doctor Hauzer began a new and improved way of game art and thus started the trend. It was also the first 3D survival horror game in history. 


In 1999, Fear Effect became the well known 3D video game to receive notification for using cel shading in their graphics. So in other words they took all the glory from Doctor Hauzer. They took cel shading to the next level and as a result they caught everyone's attention.



As you can see in all of the examples, toon shading is basically taking a 3D image and making it look like a cartoon or a comic book picture.

Here is the one I did for one of my homework questions. Pretty cool right!!!


Here is a small piece of code taken from the fragment shader.

void main()
{
float diffuse = max(0.0, dot(n, lightEyeDirection));
float blocky = texture2D(qmap, vec2(diffuse, 0.5)).r;
vec3 c = texture2D(inputImage, texcoord).rgb;
gl_FragData[0].rgb = c*lines;
gl_FragData[1].rgb = n*1.0+1.0 + lightEyeDirection;
}

Gooch Shading

Now gooch shading is another type of non-photo-realistic shading. It gives out the black outlines too but it also computes a light source and two tone shades are included into the image to notify the curves or bends of the object. 



In my opinion, Toon/Cel shading is the most simplest non-photo-realistic thing to code and in addition, you will know when it is working when you run it in your program.









No comments:

Post a Comment