Texture Filtering

mental ray provides two methods for texture filtering: a fast filtered texture lookup using image pyramids (which are similar to mip-map textures but have no restrictions on texture size), and a high-quality filtering method using elliptical projections. Both methods operate on image pyramids. There is a .map image format defined by mental ray that supports filters.

When standard image files (such as .rgb) are used for filtered texture lookups (both methods), the pyramid must be created by mental ray when the image is accessed. For high-resolution images this can take a long time (sometimes up to a minute), so it is highly recommended to create this image pyramid "offline" by mental ray's imf_copy utility. When called with the -p option on the command line, it down-filters the source texture image file and writes out the filtered images in memory-mapped image format. If such a file is read with a local filter color texture statement in .mi scene file, the pyramid is read almost instantaneously.

Also, it is recommended to make local copies of the texture files on the machines in order to speed up access. When machines with different byte order are used in the network, there is a performance penalty when using only one version of the pyramid .map file (it has to be byte swapped), so it is necessary to generate the .map file in the native byte order on the respective machines.

The pre-filtered .map file containing the pyramid can also be used for standard non-filtered texture lookups (using a simple local color texture statement), in this case only the first (finest) level of the image pyramid is used.

The next sections will discuss the two methods in detail.

Copyright © 1986, 2012 NVIDIA Corporation