View-Direction Based Lighting
Part of a larger shading model detailed HERE, this is an example of how to introduce View-Direction Based Lighting into your custom shading model.
Diff Color and Brightness values can be changed.
Replacing the Normal Direction vector with a View Direction vector results in shading that smoothly transitions over the surface of an object without taking into account any surface detail of said object. The advantage to this method is that, unlike flat shading which uses no light information, one is able to achieve a flat shaded appearance while allowing objects to respond to scene-lighting.