Texturing

Textures are used to modify the appearance of an object through the use of procedural functions. A texture may modify any surface characteristic, such as diffuse color, reflectivity, or transparency, or it may modify the surface normal (``bump mapping'') in order to give the appearance of a rough surface.

Any number of textures may be associated with an object. If more than one texture is specified, they are applied in the order given. This allows one to compose texturing functions and create, for example a tiled marble ground plane using the <#661#>checker<#661#> and <#662#>marble<#662#> textures.

Textures are associated with objects by following the object specification by a number of lines of the form:

<#664#>texture<#664#> <#665#>name<#665#> ;SPMlt;<#666#>Texturing Arguments<#666#>;SPMgt; [<#667#>Transformations<#667#>]

Transformations may be applied to the texture in order to, for example, shrink or grow feature size, change the orientation of features, and change the position of features.

Several of the texturing functions take the name of a colormap as an argument. A colormap is 256-line ASCII file, with each line containing three space-separated values ranging from 0 to 255. Each line gives the red, green, and blue values for a single entry in the colormap.