Previous:Patterned Textures Main Index Next:Tiles
In addition to specifying blended color with a color map or a pigment map you may create a blend of textures using texture_map
. The syntax for a texture map is identical to the pigment map except you specify a texture in each map entry.
The syntax for texture_map
is as follows:
- texture_map{
TEXTURE_MAP_BODY }
- [
Value TEXTURE_BODY ]
Where Value is a float value between 0.0 and 1.0 inclusive and each TEXTURE_BODY is anything which can be inside a texture{...}
statement. The texture
keyword and {}
braces need not be specified.
Note that the []
brackets are part of the actual TEXTURE_MAP_ENTRY. They are not notational symbols denoting optional parts. The brackets surround each entry in the texture map. There may be from 2 to 256 entries in the map.
For example:
texture { gradient x //this is the PATTERN_TYPE texture_map { [0.3 pigment{Red} finish{phong 1}] [0.3 T_Wood11] //this is a texture identifier [0.6 T_Wood11] [0.9 pigment{DMFWood4} finish{Shiny}] } }
When the gradient x
function returns values from 0.0 to 0.3 the red highlighted texture is used. From 0.3 to 0.6 the texture identifier T_Wood11
is used. From 0.6 up to 0.9 a blend of T_Wood11
and a shiny DMFWood4
is used. From 0.9 on up only the shiny wood is used.
Texture maps may be nested to any level of complexity you desire. The textures in a map may have color maps or texture maps or any type of texture you want.
The blended area of a texture map works by fully calculating both contributing textures in their entirety and then linearly interpolating the apparent colors. This means that reflection, refraction and lighting calculations are done twice for every point. This is in contrast to using a pigment map and a normal map in a plain texture, where the pigment is computed, then the normal, then reflection, refraction and lighting are calculated once for that point.
Entire textures may also be used with the block patterns such as checker
, hexagon
and brick
. For example...
texture { checker texture { T_Wood12 scale .8 } texture { pigment { White_Marble } finish { Shiny } scale .5 } } }
Note that in the case of block patterns the texture
wrapping is required around the texture information. Also note that this syntax prohibits the use of a layered texture however you can work around this by declaring a texture identifier for the layered texture and referencing the identifier.
A texture map is also used with the average
texture type. See "Average" for details.
You may declare and use texture map identifiers but the only way to declare a texture block pattern list is to declare a texture identifier for the entire texture.
Previous:Patterned Textures Main Index Next:Tiles