Search Paths
In the rendering options, you can set the paths where Arnold will look for shaders, procedurals, and textures.
For shaders and procedurals, they are automatically loaded if contained into the directory pointed by the ARNOLD_PLUGIN_PATH directory.
Also, you can use the following environment variables that will be read and set as your defaults when creating a new scene:
•SITOA_SHADERS_PATH
: for shaders
•SITOA_PROCEDURALS_PATH
: for procedurals
The paths can be changed at any time from the Arnold Render Options. If doing so, the following rule applies:
If you don't need to link to shaders other than the ones coming with SItoA, leave the field void. So, when loading a scene saved with a previous SItoA version, the shaders of your current SItoA version will be loaded.
The rule also means that if you set the shader search path to, say, a workgroup location only, none of the Softimage legacy shaders will be found. So, if you need to have your workgroup's shaders used, be sure to add also the SItoA bin directory to the search path, separated by a ';' character. The order does not matter.
Example: I have some custom shaders in a workgroup located under:
C:\dev\Arnold\WG
and my SItoA addon installed under:
C:\Users\stefano\Autodesk\Softimage_2010_SP1\Addons\SItoA
Then, to have everything working, I have to set:
Shaders Search Path = C:\Users\stefano\Autodesk\Softimage_2010_SP1\Addons\SItoA\Application\Plugins\bin\nt-x86-64;C:\dev\Arnold\WG\Application\bin\nt-x86-64
Note that the full path to the shader DLLs is required.
Environment Variables
Environment variables are supported for the search paths, through the [ENV_VAR] syntax.
Let's reuse the above example, and say that in my setenv.bat, I set two env vars:
set MY_WG_BIN=C:\dev\Arnold\WG\Application\bin\nt-x86-64
set MY_SITOA_ADDON=C:\Users\stefano\Autodesk\Softimage_2010_SP1\Addons\SItoA
Then, I can simply set:
Shaders Search Path = [MY_SITOA_ADDON]\Application\Plugins\bin\nt-x86-64;[MY_WG_BIN]
An environment variable must point to a single location. Something like:
set MY_PATHS = C:\dev\Arnold\WG\Application\bin\nt-x86-64;C:\Users\stefano\Autodesk\Softimage_2010_SP1\Addons\SItoA
will not work.
Absolute vs Relative paths
If Use Absolute Texture Paths (From the ASS Archives tab of the rendering options) is enabled, the absolute paths is exported and optionally translated by the linktab file if Translate Paths is enabled.
Otherwise, the relative paths, with respect to Textures Search Path, is exported.
Say we have to export a texture whose full path is C:\img\head\eye.jpg
If you set Textures Search Path to "C:\img",
then the texture is exported as "head\eye.jpg",
If set to "C:\temp",
the texture is exported as "..\img\head\eye.jpg",
and so on.
In order to have the conversion working, the Textures Search Path must exist.
Example: Textures Search Path == C:\invalid
(where C:\invalid does not exist on disk)
then, a warning message is fired, and we export the plain file name, so
Exported path == eye.jpg
Textures Search Path can be made of more that one path, separated by ';'
Example: Textures Search Path == C:\img\head;C:\temp
For multiple search paths, we convert to relative paths with respect to the first of the search paths for which the conversion was successful.
So, if we have 2 search paths, we always try to convert with respect to the first one. If failing, we try the second one, and so on. In the case of failure (none of the search paths worked), we export the plain file name and we log a warning.
This information also applies to procedural search paths, with respect to the Absolute Procedural Path flag.
Cross-platform Path Translation
For cross-platform path translations we need to specify an environment variable:
•SITOA_LINKTAB_LOCATION
When this variable is declared, the "Translate Paths" parameter in the Arnold Render Options will be enabled. This variable must point to the Softimage linktab.ini file with an absolute path including the filename.
Defining the linktab File
The linktab file is used when the render network uses a mix of Windows and other operating systems. Each line in a linktab file contains a Windows-style path and a UNIX-style path, indicating where Softimage, and resources such as textures, are located on both operating systems. This allows the rendering server to find the required files on the clients regardless of the operating system.
Most linktab files contain only one line, indicating where Softimage is located on both platforms. Here is a sample linktab file:
C:\Softimage /usr/Softimage
•The Windows path must come before the Unix-style path and they must be separated by a tab, not spaces.
•Linux path names are case-sensitive, but Windows paths are not (they are case-insensitive).
•Do not use slashes (\ or /) at the end of the linktab paths.
•If you are using textures or memory-mapped images, you must have entries that point to the directories containing them.
•You can use an exclamation mark to distinguish a mounted volume from the rest of the path. For example, if \\foobar\users\fred (Windows) is equivalent to /home/fred (Linux) and F:\foobar\users is a mounted volume, the line in the linktab file would look like this:
\\foobar\users!fred /home/fred
The linktab file must be present on the server and client computers, in the directory specified by the SI_LINKTAB_LOCATION environment variable.
• SI_LINKTAB_LOCATION
can define both the path and file name or just the path; if no file name is explicitly set, Softimage assumes the name will be linktab.ini.
• When a scene is imported from SOFTIMAGE|3D into Autodesk Softimage, Softimage searches in SI_LOCATION for linktab.ini
. Define SI_LOCATION
in setenv.bat
(Windows) or .xsi_5.0
(Linux) as the directory where Softimage is installed and place a copy of linktab.ini
there (if you want to reuse the linktab file used by SOFTIMAGE|3D; otherwise, just make SI_LOCATION
point to the same path and linktab name as defined by SI_LINKTAB_LOCATION
for Softimage).
For details on how Softimage uses the linktab file, see 'Configuring the linktab.ini
File' in the Softimage 'Setup & Licensing Guide'.