|
| ||||||||||||||||||||||||||||||||||||
| Shader | Reflectance
| |||||||||||||||||||||||||||||||||||
| Synopsis |
Approximation of woven materials such as satin cloth.
| |||||||||||||||||||||||||||||||||||
| Location | lishpro | |||||||||||||||||||||||||||||||||||
| Description |
Anisotropic reflectance shader which simulates the directional
reflectance properties of surfaces consisting of woven threads.
The surface is represented as two sets of threads running at 90
degrees to one another. The relative contribution of the two directions
of threads can be controlled by the "bias" parameter. For example,
cotton is typically woven from two threads, the warp and the weft.
These threads are alternated evenly giving equal surface coverage
and hence a bias of 0.5. Satin is woven such that either the warp
threads pass over more weft threads than they pass under, or vice versa.
For a satin weave the ratio of surface coverage between the two sets
of threads is 2:1 hence a bias of 0.66 is specified, etc. A bias of 0.0
causes all reflectance to be provided by threads aligned with the s-axis,
a bias of 1.0 causes all of the reflectance to be generated by threads
aligned with the t-axis.
The degree of anisotropy of the surface can be controlled by varying the distance between the threads using the "cylinder distance" parameter. A distance of 0.0 gives isotropic (normal) reflection, and distance of 2.0 gives maximum anisotropy. A distance of greater than 2.0 gives a flat floor between threads which reflects light isotropically. The height of the floor across the threads may also be specified with the "floor height" parameter. A value of 0.0 gives no floor, a value of 1.0 gives a completely flat, isotropic surface.
The surface direction is determined from the axes of the texture space assigned to the primitive. threads are aligned with the s- and t-axes of the texture coordinate system. It is important to assign the correct texture coordinates to achieve the desired effect. If texture coordinates are used the primitive must also be constructed entirely of triangles, use LiPrimitiveTriangulate if this is not the case. If the texture coordinates are supplied by a texture space shader then primitive need not be triangulated, but the behaviour of the shader along surfaces with constant s or t is undefined. Reflectance coefficients are provided as arguments which allow specification of the amount of ambient light ( "ambient factor"), diffuse light ( "diffuse factor") and specular light ( "specular factor") components as for the plastic shader. The sharpness of the specular highlights can be controlled using the "roughness" parameter and the colour may be controlled using the "specular colour" parameter.
Previous page alphabetically (wrappedwoodfloor) | |||||||||||||||||||||||||||||||||||
Copyright © 1990-2004, 2005 LightWork Design Limited. All rights reserved | ||||||||||||||||||||||||||||||||||||