Materials and textures

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).

Figure 1. Rendering engine basic principle.

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).

Figure 2. Light re-irradiated in the diffusion phenomenon.

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:

A subsequent section, devoted to the actual implementation of the material, will analyze all these and their relative settings.