Maketx workflow

Hey folks,

This has been coming up quite a bit lately on the lists so I thought I would whip up a quick video to try and help those that are curious. It’s a pretty simple workflow to make and use *.tx files with Arnold inside of Softimage.

Here is how…

Here is the code to create the convert2tx.bat file…

@for %%i in (%*) do "C:\path\to\maketx.exe" --filter lanczos3 -v --oiio %%i

Or a direct download if you prefer.  If it’s helpful… post a comment so I know these videos are worth while.

UPDATE: Part 2 of the .tx setup (Linear workflow):

UPDATE: For Mac users:

Follow me on twitter @GeneCrucean for updates about posts like this… and some other garbage too :)

UPDATE: Here is a very good description from Marcos about .tx files.

.tx textures are:

1) tiled (usually the tiles are 64×64 pixels)
2) mip-mapped

Because of (1), Arnold’s texture system can load one tile at a time, as needed, rather than having to wastefully load the entire texture map in memory. This can result in hugely faster texture load times, as texels that will never be seen in the rendered image will not even be loaded. In addition to the speed improvement, only the most recently used tiles are kept in memory, in a texture cache of default size 512 mb (can be tuned via options.texture_texture_max_memory_MB). Tiles that haven’t been used in a long time are simply discarded from memory, to make space for new tiles. So Arnold will never use more than 512 mb, even if you use hundreds, or thousands of 4k and 8k images. But then, if you only use a handful of 1k textures, this won’t matter much.

Because of (2), the textures are nicely antialiased, even at low AA sample settings.

The only issue is that you must worry about converting your texture maps to .tx files beforehand. Big animation studios (or RenderMan studios, in general) are used to this, but small studios or individuals are not familiar with this.

Neither of these are possible with JPEG or other untiled/unmipped formats. (unless you tell Arnold to auto-tile and auto-mip the textures for you, but this is very inefficient because it has to be done per rendered frame, rather than a one-time preprocess with maketx).