Using alShaders

Follow

Overview

In order to use alShaders on Conductor, three things must to be done:

  1. Download the linux version of the alShaders that you want to use.
  2. Indicate where the alshaders live on disk (so that they can be uploaded to conductor)
  3. Indicate the required environment variables so that alshaders can be found during render-time.

Download Linux alShaders

Because Conductor uses a linux runtime when executing jobs, the alShaders that are uploaded to  conductor must be compiled for linux.  If you're already using linux, then you're set; no downloading required.  But if you're on Windows or MacOs, you'll need to download the corresponding linux version of the alShaders that you have been using.

So for example, of you're using the Windows alShaders, e.g.

alShaders-win-1.0.0rc20-ai5.0.0.0.zip

then you'll want to download the linux version of them, e.g.

alShaders-linux-1.0.0rc20-ai5.0.0.0.zip

Once downloaded, extract the contents to disk (someplace for the long term).

Edit the config.yml file

In order to tell conductor where your alshaders live on disk, and dictate any necessary environment variables that alshaders may require, you'll need to edit your config.yml file.

upload_paths

In the config file, add a key called upload_paths (if you don't already have one), and list the path to your extracted linux alshaders, e.g. 

upload_paths:
  - //YourStudio/pipeline/alShaders-linux-1.0.0rc20-ai5.0.0.0

Note that the syntax is very important (this is a yaml file), so be sure to use a colon after upload_paths, then indent the next line 2 spaces, followed by a dash, a space, and then your directory.

Windows Drive Letters

If you're using Windows and you have saved your alshaders to a directory on a lettered drive (X:\, Z:\, etc), then some modifications will need to be made to the path that was specified in your config file (from the previous step), namely converting the backslashes to forward slashes. 

For example, instead of specifying a path such as:

Z:\pipeline\alShaders-linux-1.0.0rc20-ai5.0.0.0

You'll want to use:

Z:/pipeline/alShaders-linux-1.0.0rc20-ai5.0.0.0

environment

In order for alshaders to be found during render-time, a couple environment variables need be specifed: ARNOLD_PLUGIN_PATH and MTOA_TEMPLATES_PATH.  You can do this in the config file by adding a new key called environment (if you don't already have one), and adding the environment variables to point to the proper sub-directories or your linux alshaders directory , e.g.

environment:
  ARNOLD_PLUGIN_PATH: //YourStudio/pipeline/alShaders-linux-1.0.0rc20-ai5.0.0.0/bin
  MTOA_TEMPLATES_PATH: //YourStudio/pipeline/alShaders-linux-1.0.0rc20-ai5.0.0.0/ae

Again, syntax is important here. Indent each environment variable entry by 2 spaces.  Make sure that colons are where they need to be, and that each one is followed by a space. 

Windows Drive Letters

If you're using Windows and you have saved your alshaders to a directory on a lettered drive (X:\, Z:\, etc), then some modifications will need to be made to the path that was specified in your config file (from the previous step):

  1. Convert any backslashes to forward slashes
  2. Remove the drive letter (and colon) from the path

For example, instead of specifying a path such as:

Z:\pipeline\alShaders-linux-1.0.0rc20-ai5.0.0.0

You'll want to use:

/pipeline/alShaders-linux-1.0.0rc20-ai5.0.0.0

 

Wrap Up

You should have a final config.yml file that resembles something like this:

upload_paths:
  - //YourStudio/pipeline/alShaders-linux-1.0.0rc20-ai5.0.0.0

environment:
  ARNOLD_PLUGIN_PATH: //YourStudio/pipeline/alShaders-linux-1.0.0rc20-ai5.0.0.0/bin
  MTOA_TEMPLATES_PATH: //YourStudio/pipeline/alShaders-linux-1.0.0rc20-ai5.0.0.0/ae

See example config.yml attached to this article.

Once you have made these edits to your config, restart your application and submit your job!

Note that alshaders will continue to be part of every job so long as your config maintains these settings.