The File texture procedure lets you use a pix file as a parametric texture on a shader. Pix files are typically files created in Alias or some other compatible paint package, scanned images or previously rendered images.
The main new feature in v7 is the concept of a “super-texture”. This allows a single File Texture to refer to a number of image files and the objects that use those files. This is ideal for convert-solid-to-texture, where instead of creating many shaders and textures, only one is created, but the texture points back to the many different pix images. The parameters relevant to “super-texture” are “object” and “object_image”.
The other important new feature is the “filter” option. This allows you many ways to deal with the filtering/anti-aliasing of textures. A setting of 0 means no filtering at all - this allows for exactly pixel-to-pixel match, less memory used, faster rendering, but also may fall into danger of aliasing artifacts. A setting of 1 results in exactly the same rendering as in version 6. For better quality renderings, set the value to be > 1. As the value increases, the more complicated the filter shape and thus the more expensive the rendering. The optimal quality and speed combination would be to choose the quadratic filter (3).
Argument Name | Absolute Range | Useful Range | Default | Description |
filter | 0-5 | 1 | 0 indicates no filtering; 1 indicates blend-filter (only choice in v6); 2 indicates box-filter; 3 indicates quadratic filter; 4 indicates quartic filter; 5 indicates gaussian filter. | |
filter_width | 0.707 | Filter width that applies only when “filter” > 1. The larger the filter width, the more expensive the rendering. | ||
image | string | Name of pix or mask file to be used for parametric texturing. | ||
object | string | Name of object that the super-texture applies to. | ||
object_image | string | Name of pix image that the object‘s super-texture applies to. | ||
urepeat | -infinity, infinity | -10.0, 10.0 | 1.0 | # of copies in u direction within coverage area. |
vrepeat | -infinity, infinity | -10.0, 10.0 | 1.0 | # of copies in v direction within coverage area. |
uoffset | -infinity, infinity | -1.0, 1.0 | 0.0 | U offset repeat within coverage area |
voffset | -infinity, infinity | -1.0, 1.0 | 0.0 | V offset repeat within coverage area |
ucoverage | -infinity, infinity | 0.0, 1.0 | 1.0 | amount of U surface to be textured |
vcoverage | -infinity, infinity | 0.0, 1.0 | 1.0 | amount of V surface to be textured |
utranslate | -infinity, infinity | -1.0, 1.0 | 0.0 | amount of U coverage area to be moved. |
vtranslate | -infinity, infinity | -1.0, 1.0 | 0.0 | amount of V coverage area to be moved. |
uwrap | TRUE FALSE | TRUE | flag to wrap texture around U boundaries of coverage area. | |
vwrap | TRUE FALSE | TRUE | flag to wrap texture around U boundaries of coverage area. | |
worldspace | TRUE FALSE | FALSE | flag to use world space texture mapping | |
rotate | -infinity, infinity | -360.0, 360.0 | 0.0 | angle coverage area to be rotated |
mirror | TRUE FALSE | FALSE | flag to match edges of texture |