Textures

Material settings seen up to now produce nice, smooth uniform objects. This is never true in reality, where disuniformities are most common.

These disuniformities, which may take many aspects, in colour, in reflective or specular power, in roughness etc. are taken into account by Blender via textures.

Textures from the Material Point of View

In Blender, the Materials and Textures form separate blocks. This approach was chosen to keep the interface simple and to allow universal integration between Textures, Lamps, and World blocks. The relationship between a Material and a Texture is called the 'mapping'. This relationship is two-sided. First, the information that is passed on to the Texture must be specified. Then the effect of the Texture on the Material is specified. The MaterialButtons on the right-hand side (and the Lamp and World buttons) are reserved for the mapping. The buttons are organized in the sequence in which the 'texture pipeline' is performed.

Figure 16. Texture Channels

Figure 16 shows texture channels. Each Material has eight channels to which Textures can be linked. Each channel has its own individual mapping. By default, textures are executed one after another and then superimposed. A second Texture channel can completely replace the first one!

Figure 17. Material Coordinate input

Figure 17 shows coordinates input. Each Texture has a 3D coordinate (the texture coordinate) as input. The values passed to the texture as coordinates for each pixel of the rendered image belonging to a given material is computed according to these buttons:

Figure 18. Texture mapping

If the texture is an image it is necessarily 2D. It is hence necessary to map the 3D space to 2D. The most flexible way is to use UV mapping, otherwise, four possible pre-set mappings are provided (Figure 18)

Figure 19. Coordinate transformation

The X,Y and Z coordinates passed to the texture can be shuffled to obtain special effects. The buttons in Figure 19 allows switching X into Y or Z and so on, or turns them off.

Figure 20. Figure

As a further, subsequent, elaboration, coordinates can be scaled and translated by assigning an offset (Figure 20).

Figure 21. Texture selection block

The Texture itself is designated by its name. A standard menu button group is here. You can either add a new texture or assign one which has already been defined and named (Figure 21).

Figure 22. Texture Inputs

Figure 22 shows texture input settings. The three buttons on the top state if the texture should be used as a "Stencil", that is a Mask for subsequent texture channels, as a Negative texture, assigning negative, rather than positive, values, or as a black and white, intensity only, texture. The three sliders below define the texture base color. This can be overridden by colour specifications inside the texture definition. Finally the last slider defines the intensity of the texture effect.

Figure 23. Texture Outputs

Figure 23 shows the toggle buttons which defines which characteristic of the material is actually to be affected by the texture. Some of these buttons are three state buttons, hence the texture can be applied positive or negative. All these buttons are independent.

Figure 24. Output settings

Output settings (Figure 24) indicates the strength of the effect of the Texture output. Mixing is possible with a standard value, addition, subtraction or multiplication. Textures give three types of output:

The intensity of all these can be adjusted separately via the pertinent sliders (Figure 24)

Textures themselves

Once a new texture has been added to a material, it can be defined by switching to Texture Buttons (F6) or to obtain Figure 25.

Figure 25. Texture buttons

The top row of radio buttons selects the Texture type. A distinction is now necessary. The second button Image allows for an image to be loaded and used as a texture (the first button simply is "no texture"). The third allows for the usage of a very special kind of texture, the Environment Map (EnvMap) and the fourth allows for loading an external piece of code to define the texture. These first three are very peculiar and will be treated separately later on.

The remaining buttons define 3D procedural texture, that is texture defined mathematically. Their usage is generally simpler, yet they can give outstanding results once mastered.

We will describe just one of them the Wood one, leaving you the pleasure of investigating further. Full details of each is given in the reference chapter.

Wood is a procedural, this means that each 3D coordinate can be translated directly into a color or a value. These types of textures are 'real' 3D, they fit together perfectly at the edges and continue to look like what they are meant to look like even when cut; as if a block of wood has really been cut in two. Procedural textures are not filtered or anti-aliased. This is hardly ever a problem: the user can easily keep the specified frequencies within acceptable limits.

Procedural texture can either produce coloured textures or intensity only textures. If intensity only ones are used the result is a Black and White texture. This can be greatly enhanced by the use of Colorbands.

The colorband is an often-neglected tool in the texture buttons window (F6). It gives you an impressive level of control over how procedural textures are rendered. Instead of simply rendering each texture as a linear progression from 0.0 to 1.0, you can use the colorband to create a gradient which progresses through as many variations of color and transparency (alpha) as you like (Figure 26).

Figure 26. Texture Colorband.

This leads to really cool marble and cloud textures.

To use it, select a procedural texture, such as Wood. Click the Colorband button. The Colorband is Blender's gradient editor. Each point on the band can be placed at any location and can be assigned any color and transparency. Blender will interpolate the values from one point to the next.

Select the point you want to edit with the Cur: number button. Add and delete points with the Add and Del buttons. The RGB and Alpha values of the current point are displayed, along with the point's location on the band. Dragging with the left mouse can change the location of the current point.

We can use two Wood textures to make ring patterns in two different scales which have different effects on the appearance of the wood. The Wood textures are identical except for the way they are mapped in the material buttons window, and the different color bands used. We will also also use a Clouds texture to make a grain pattern. To see the result of just one texture, isolated from the others, select the SepT button (Figure 27).

Figure 27. Separation of Textures button

TipCopying texture settings
 

By adding an existing texture you merely link that texture, but all the Material mapping parameters remains as they are. To actually copy all texture settings, inclusive of mappings, you can copy a given texture channel and paste it into another by using the two arrow buttons in Figure 27.

Figure 28, Figure 29 and Figure 30 shows the three individual textures which, when combined in a single material and mapped to various material parameters, creates a nice wood texture (Figure 31).

Figure 28. First Wood ring texture

Figure 29. Second Wood ring texture

Figure 30. Clouds texture

Figure 31. Final result

ImageTexture

The Image texture is the only true 2D texture and is the most frequently used and most advanced of Blender's textures. The standard, built-in bump mapping and perspective-corrected mip-mapping, filtering and anti-aliasing guarantee outstanding images (set DisplayButtons->OSA to ON for this). Because pictures are two-dimensional, the way in which the 3D texture coordinate is translated to 2D must be specified in the mapping buttons (Figure 18 in the Section called Textures from the Material Point of View).

The four standard mappings are: Flat, Cube, Tube and Sphere. Depending on the overall shape of the object, one of these types is more useful.

Figure 32. Flat Mapping.

The Flat mapping (Figure 32) gives best results on single planar faces, it also gives an at least interesting effect on the sphere, but compared to a sphere-mapped sphere it looks flat. On faces not in the mapping plane the last pixel of the texture is repeated, this results in the stripes on the cube and cylinder.

Figure 33. Cube Mapping.

The cube-mapping (Figure 33) gives often the most useful results when the objects are not too curvy and organic (notice the seams on the sphere).

Figure 34. Tube Mapping.

The tube-mapping (Figure 34) maps the texture around an object like a label on a bottle. The texture is therefore more stretched on the cylinder. This mapping is of course very good for making the label on a bottle or assigning stickers to rounded objects. This is not a cylindrical mapping so the ends of the cylinder are undefined.

Figure 35. Sphere Mapping.

The sphere-mapping (Figure 35) is understandably the best type for mapping a sphere, it is perfect for making a planet and similar stuff. Often it is also very useful for organic objects. It also gives an interesting effect on the cylinder.

As described in the previous section you can manipulate the texture in the texture part of the MaterialButtons. There is one important feature to manipulate the textures.

TipMoving a texture
 

When you select an object and press TKEY, you get the option to visually scale and move the texture space. But you cannot rotate the texture here. Besides this shortcut, we also have an even more powerful function for manipulating our textures.

The Object coordinates are anyway much more flexible.