This blend file contains four shader node groups: NPR Diffuse v1 NPR Specular v1 NPR Diffuse v2.0 NPR Specularity v2.0
The Blend functions as a demo as well, so you can see how the shaders should be implemented if used together. I used spot lamps to demonstrate the sensitivity to colored lights (NPR Diffuse only).
Please be aware that these are by no means perfect and that they do require some adjustment for whatever project you place them in. I decided to share them here too, because I use them in production - that's when you need a dynamic setup like this!
NOTE: To get a texture to work normally with the NPR Diffuse shader, simply input a default colorramped version into the Color Intensity and you should be golden.
Of course, I simply cannot take full credit for all of it. I worked on this for a long time with Wasili Novratidis. For more info, other shaders and documentation, check out my website: http://www.pantherdynamics.yolasite.com/toon-shader.php
I make no warranties and you use it entirely at your own risk.
Updates: - No need for workarounds for textures to work. - Ambient Occlusion has improved support - Stabalized sizing and smoothing of borders (define smoothness before, with size at 0.5, as that is neutral and allows easy adjustment of smoothness) - Shader is clamped due to unpredictability of colors through the mix nodes - Classic shaders left in for reference.