(Tutorial) Ultra-Simple Cel-Shading Implementation

This is a little trick I found, originally under the Toon Shading Model post.…shading-model=
Since I think it is no longer part of the Toon Shading Model, I decided to open a new topic separately.

I just discovered a really simple Cel Shading approach that doesn’t require any line of code to be modified.
This method is suitable for all Shading Models except hair&clearcoat, and is suitable for all types of light (other types of light other than directional light can only be used as fill light).
Can be used for forward rendering, for dynamic objects, and partially for static objects.
There are some problems with reflection, but it can be solved by setting the roughness to 1 or by controlling the specular intensity of the light direction.

I think this approach has its own potential compared to post-processing, Emissive or custom shading models.
If you have any idea about this, please let me know.

Looks intersting!, pardon my ignorance but is it possible to use normal maps as well in that implementation?

Yes.This could been done by using some convert space trick.But I’m not sure what exactly the node structure is.