Cel shader questions

  1. How mature and solid is cel shading in Unity? Are there examples of cel shading in action? I don’t see any in the Gallery.

  2. Is it a shader, or a full-screen post-processing effect? (A Pro-only feature?)

  3. Can you combine cel shading with texture images?

  4. What is the performance penalty for cel shading? Could it run on bottom-spec (Intel integrated graphics, Pentium III/Celeron) Windows machines if the geometry, lighting, and render quality were kept simple?

I’ve got a Windows/Mac project I’m bidding on that might be worth going Pro for. It doesn’t have to be 3D… but it could be!

All this will be about the standard “Toon Shading” package that comes with Unity. For more, see below.

  1. There are some very basic shaders in Toon Shading standard package. Sourcecode for the shaders is in the package itself (ToonShading/Sources).
  2. Shaders (but if you want to roll out your own, of course you can do a postprocessing effect)
  3. The ones in standard package support base texture.
  4. The ones in standard package require vertex shaders and 2 (Toony-Basic) or 4 (Toony-Lighted) textures per pass. So this means GeForce3 and up; Radeon 8500 and up. For older cards read below. Performance is quite good (e.g. the basic toon shader is much faster than something like BumpedSpecular) and does not use CPU at all.

The shaders in standard package are a very simple form of toon shading - basically a cubemap holds lighting (a banded cubemap will produce banded lighting); and outlines are done by just extruding vertices along the normals.

If you want to run on very low-end hardware, it should be possible to get toon look with no vertex shaders (instead using TexGen for the cubemap). This could run on any cubemap supporting hardware (probably anything you can find now, except ati rage128 and nvidia tnt).

Very helpful–thanks. And I would probably have found more of that on my own had I looked up “toon” instead of “cel” :sweat_smile:

I can see how a cubemap could do a lot of the desired effect.