Effective material design requires some understanding of how simulated light and surfaces interact in Blender's rendering engine and how material settings control those interactions. A deep understanding of the engine will help you in getting the most from it.
The rendered image you obtain with Blender is a projection of the scene onto an imaginary surface called viewing plane. It is analogous to the film in a traditional camera, or the rods and cones in the human eye, but it receives simulated light, not real light. To render an image of a scene we must answer this question: what light from the scene is arriving at each point on the viewing plane?
This question is answered by following a straight line (the simulated light ray) backwards through that point on the viewing plane and the focal point (the location of the camera) until it hits a renderable surface in the scene, then determining what light would strike that point. The surface properties and incident light angle tell us how much of that light would be reflected back along the incident viewing angle (Figure 1).
There are two basic types of phenomena which take place at any point on a surface when a light ray strikes it: diffusion and specular reflection. Diffusion and specular reflection are distinguished from each other mainly by the relationship between the incident light angle and the reflected light angle.
Light striking a surface and re-irradiated via a Diffusion phenomenon will be scattered, i.e., re-irradiated in all directions isotropically. This means that the camera will see the same amount of light from that surface point no matter what the incident viewing angle is. This quality is why diffuse light is called viewpoint independent. Of course the amount of light effectively striking the surface does depend on the incident light angle. If most of the light striking a surface is being reflected diffusely, the surface will have a matte appearance (Figure 2).
Since version 2.28, Blender implements three different mathematical formulae to compute diffusion. And, even more notably, the diffusion and specular phenomena, which are usually bounded in a single type of material, have been separated so that it is possible to select diffusion and specular reflection implementation separately.
The three Diffusion implementations, or shaders, use two or more parameters each. The first two parameters are shared by all Diffuse Shaders and are the Diffuse color, or simply color, of the material, and the amount of incident light energy that is actually diffused. This latter quantity, given in a [0,1] range, is actually called Refl in the interface.
The implemented shaders are:
Lambert - This was Blender's default diffuse shader up to version 2.27, so all old tutorials refer to this, and all pre-2.28 images were created with this. It only has the default parameters.
Oren-Nayar - This is a new shader introduced in Blender 2.28. It has a somewhat more 'physical' approach to the diffusion phenomena inasmuch as, besides the two default parameters, it has a third one, determining the amount of microscopical roughness of the surface.
Toon - This is a new shader introduced in Blender 2.28. It is a very 'un-physical' shader since it is not made to fake reality but to produce 'toonish' rendering, with clear light-shadow boundaries and uniform lit/shadowed regions. Notwithstanding its 'simplicity' it needs two more parameters, defining the size of the lit area and the sharpness of the shadow boundaries.
A subsequent section, devoted to the actual implementation of the material, will analyze all these and their relative settings.