In some special cases, several materials can be mixed, which is the purpose of the mixture class of modifiers. Materials define the fundamental properties of a surface. There are material types with just plain opaque properties, some with a metallic look, others with transparent and refractive behaviour and a few unusual ones for modelling fog and smoke, true mirrors, or other special features. While most material types above basically have constant color and reflectance values, materials in the real world often don't. The modifier class of patterns can be used to modify any material , in order to define changes in color and reflectance depending on any number of parameters.
Patterns are procedural modifiers, that use functions and variables as input.
Modifications can depend on the location in space, the orientation of the surface, the distance from the viewpoint, a random function and many other quantities. An unlimited number of patterns can be used to modify any material, so that their effects will be superimposed on each other. Textures When just manipulating the color and reflectivity of a surface, we may notice that some objects still have a rather dull look, while the real thing would show a much more interesting surface structure. A texture will manipulate the normal vector used by the program when evaluating a specific point on a surface. As a consequence, even a otherwise flat surface will reflect more light in places where the normal vector points closer towards a light source than in others.