Textures

Further Reading
See Textures in the Arnold User Guide
The Arnold for Maya User Guide explains how to work with Arnold textures in the Maya user interface. The Arnold User Guide provides the full documentation for Arnold textures.

Auto-generate TX Textures

When using Arnold it is best to use a tiled mipmapped texture format such as .exr or .tx that has been created using maketx.

By default, tiled and mipmapped TX textures are automatically generated for each image shader. The resulting TX will be placed next to the original texture files. When the texture filename contains tags such as UDIMs, a TX texture will be generated for each sub-tile.

It can take a bit of time to convert a texture to TX, especially for large textures stored on a network share, but usually, this is done only for the first render. For subsequent renders, if an existing matching TX texture is detected, it won't be regenerated unless the source texture contents or colorspace has changed. Also, note that if the input texture filename already has a .tx extension, it will be left as-is.

Disabling auto-generation

A toggle to disable auto-generation of .tx textures can be found in the Textures tab of the Arnold Render Settings to disable TX auto-generation globally. This behavior can also be disabled per texture with the Auto-generate TX Textures toggle on the Ai Image shader and Maya file nodes.

Linearization

Also, the TX texture will be linearized according to the color space rules in the Color Management settings in Maya.

There is no texture filtering when not using mipmapped textures. This can cause some differences, more notably for emissive maps and displacement maps.

Flushing Caches

The Flush Caches menu can be found within the Arnold menubar in the main application window

If you have Auto-mipmap or Auto-tile options enabled by default, a pre-process of the texture will be performed by OIIO in the first render that a texture is used. This will be saved in the texture cache, and the process will not be required in the following renders. The drawback of this is that in Windows, textures will be locked after the first render.

If you need to modify texture while you are rendering, you have the following options:

Used texture files are locked after a render has been started (even if it is not an IPR session) and they cannot be written by another application such as Photoshop, for example. The typical message that is shown is:

The user then has to close the application and reopen the scene for the Arnold plugin to accept the newly saved texture file. A workaround is to flush the caches.

Selected Textures

Only flushes the selected textures.

Skydome lights

Flush all textures assigned to a skydome light.

Quad lights

Flush all textures assigned to a quad light.

All

Flush all texture caches in the scene, including normal, skydome and quad light textures.

Maketx

Maketx is a command-line utility to convert images to tiled, MIP-mapped textures, similar to txmake in Pixar Renderman. It is part of OpenImageIO ( http://www.openimageio.org ) and was developed by Larry Gritz at Sony Pictures Imageworks.

Mip-Mapping Bias

Mip-Mapping Bias offsets the Mip-Map level from which a texture is sampled. Negative values indicate a larger Mip-Map level (bigger texture); a positive value indicates a smaller Mip-Map level (smaller texture). This is evident at the top of the images below:

Diagram showing Mip-Mapping process

The example below shows the effect on a render when increasing the Mip-Mapping bias:

Tokens

In addition to the Arnold attr, tile, and udim tokens, MtoA also supports shapeName and shapePath tokens.

In addition to the Arnold attr, tile, and udim tokens, MtoA also supports shapeName and shapePath tokens.

shapeName

The texture token <shapeName> provides a direct connection between the name of the mesh and the texture name, replacing the name of the 'shape' at render time.

Here's an example shapeName workflow:

shapePath

The <shapePath> token gets replaced with the full name of the node as exported to Arnold, with "|" replaced with "_". But only if full paths are exported in the render settings.

e.g. A node named | pCube1|pCubeShape1 in Maya will become _pCube1_pCubeShape1 in <shapePath>.

Note:

This feature may be deprecated in the future as you can get the node name using <attr:name> instead.

Examples

Token Texture Name Texture Path Shape Name Result
<attr:> moon.tx <attr:planet default:moon>.tx
<shapename> main_RedShape.tx main_<shapename>.tx Red RedShape
<tile> texture _u1_v1 .tx texture<tile>.tx _u1_v1
<udim> texture_v0001.tx texture_v0001.<udim>.tx 1001, 1002, 1003 etc