The material settings that we've seen so far produce smooth, uniform objects, but such objects aren't particularly true to reality, where uniformity tends to be uncommon and out of place. In order to deal with this unrealistic uniformity, Blender allows the user to apply textures which can modify the reflectivity, specularity, roughness and other surface qualities of a material.
Textures fall into three primary categories:
- procedural textures (generated by a mathematical formula),
- environment maps (used to create the impression of reflections and refractions).
For an overview you may want to read our tutorial Using Textures.
Textures are like additional layers on top of the base material. Textures affect one or more aspects of the object's net coloring. The net color you see is a sort of layering of effects, shown in this example image. The layers, if you will, are:
- Your object is lit with ambient light based on your world settings.
- Your base material colors the whole surface in a uniform color that reacts to light, giving different shades of the diffuse, specular, and mirror colors based on the way light passes through and into the surface of the object.
- We have a primary texture layer that overlays a purple marble coloring.
- We next have a second cloud texture that makes the surface transparent in a misty/foggy sort of way by affecting the Alpha value
- These two textures are mixed with the base material to provide the net effect; a cube of purplish-brown fog.
This notion of using more than one texture, to achieve a combined effect, is one of the "hidden secrets" of creating realistic-looking objects. If you carefully "look at the light" while examining any real-life object, you will observe that the final appearance of that object is best described as the combination, in different ways and in different amounts, of several distinct underlying visual characteristics. These characteristics might be more (or less) strongly apparent at different angles, under different lighting conditions, and so forth. Blender allows you to achieve this in many ways. You can use "a stack of texture layers" as described in this section, or you can also use arbitrarily-complex networks ("noodles"...) of "texture nodes" as discussed here, the choice is yours.