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 |