[Arnold] Gamma and linear input data

Arnold has three global settings for linearizing input data by applying an inverse-gamma correction. By default, texture maps, light colors, and shader colors are assumed to be already linear, but if you need to linearize them, set the gammas to 2.2.

C:\solidangle\Arnold-\bin>kick -info options | find "gamma"
FLOAT         texture_gamma                     1
FLOAT         light_gamma                       1
FLOAT         shader_gamma                      1


  • The texture_gamma applies only to non-floating point textures. Floating point (Half, Float) textures are assumed linear.
  • Texture maps used to control things like normals, displacement, and opacity, will also be linearized if you set texture_gamma to 2.2.
  • The light and shader gammas apply to colors picked from color swatches in the application UI (that is, color ports that don’t have a shader tree plugged into them).

In plugins like SItoA and MtoA, you can find these gamma settings in the global render options.

I guess I should mention that in Softimage, you could use the built-in color management and leave these all set to 1.

[MtoA] Deadline and MtoA 1.0.x

Update: Deadline 6.1 and later support MtoA 1.0.x

Recently I discovered that Deadline 6.0 doesn’t work with MtoA 1.0.x, and it’s because of a change to the MtoA verbosity levels controls in the Render Settings UI. I think an update for Deadline will soon take care of this problem.

This is the error that stops everything:

0: WARNING: Strict error checking on, ignoring the following unrecognized error or warning. If it is fatal, please email support@thinkboxsoftware.com with the error message.
0: STDOUT: Error: No object matches name: defaultArnoldRenderOptions.log_console_verbosity

At first, I “ignored” that error in the log, but after I eliminated all other possible causes, I came back to it.

I worked around it by editing the default MayaBatch.py file in the DeadlineRepository (on my machine, that’s here: C:\DeadlineRepository6\plugins\MayaBatch\MayaBatch.py).

Go to lines 910, 911, and 912, and change lines 911 and 912 to look like this:

elif self.Renderer == "arnold" or self.Renderer == "arnoldexport":
self.Verbosity = self.GetPluginInfoEntryWithDefault( "ArnoldVerbose", "2" )
return 'removeRenderLayerAdjustmentAndUnlock defaultArnoldRenderOptions.log_verbosity; catch(`setAttr defaultArnoldRenderOptions.log_verbosity ' + self.Verbosity + '`);'

When you submit a job, make sure you set the Arnold verbosity level to 0, 1, or 2. Nothing higher.

[SItoA] Uninstalling SItoA

When you install an addon like SItoA, you may see an error like this the next time you start Softimage:

// ERROR : 2356 - This plug-in is not installed: ArnoldRenderPreferences

That’s because addons like SItoA install custom preferences, which are left behind when you uninstall the addon. At startup, Softimage finds the custom preference but can’t find the plugin that owns the preference (because it’s been uninstalled).

To get rid of this error, go to your Softimage user folder, and delete the Data\Preferences\Arnold Render.preset file.


Solid Angle’s New Website

The minimalist solidangle.com is gone. Check out our new web site:

  1. Read the latest Arnold news.
  2. Download and try the latest versions of Arnold for Maya and Softimage.
  3. Check out the Customer gallery and see the amazing work that our users have creating with Arnold. Feel free to participate: send us your amazing Arnold renders.
  4. Learn the technology behind Arnold in the past white papers on our Arnold Research section.

Plus plenty, plenty more. Arnold is no longer in the dark, so come and see what it’s all about.

[MtoA] Installing MtoA 1.0.0 on Linux

A few notes:

  • You need root permissions to do the automatic installation.
  • Use sudo, not su. You want to install MtoA under your user account, not the root user account. sudo will let you install MtoA with root permissions, but under your own user account.
  • If you install as root, the MtoA installer copies mtoa.mod to /root/maya/2014-x64/modules. Unless you’re running Maya as root, that’s no good. You want the mtoa.mod file in your home directory (for example, /home/stephen/maya/2014-x64/modules). That way, when you run Maya it will load mtoa.mod and find the MtoA plugin.
  • The automatic installation also copies arnoldRenderer.xml to /usr/autodesk/maya2014-x64/bin/rendererDesc. That allows you to batch render with Arnold from Maya, without having to set MAYA_RENDER_DESC_PATH.

Entry point not found

An Entry Point Not Found error message might look rather weird (because you’re looking at the decorated name of a function).
but usually such an error just means that the wrong version of a DLL (in this case, OpenImageIO.dll) is being loaded by the main program (mayabatch in this case). The problem could be as simple as your PATH pointing to another application that ships a different version of the DLL.

Using Dependency Walker, you can check a DLL to see the decorated names of the functions it exports. But usually you don’t have to dig down to that level a detail. Dependency Walker will show you what version of the DLL is being loaded, and that’s usually enough.

[MtoA] [SItoA] Setting multiple Arnold parameters with the User Options

If you need to set multiple parameters in the User Options, you can use whitespace (spaces, tabs, and newlines) as delimiters to separate parameter statements. For example:

enable_procedural_cache off error_color_bad_pixel 1 .25 1 declare test constant FLOAT test 2
enable_procedural_cache off\n error_color_bad_pixel 1 .25\n declare test constant FLOAT\n test 2

Upgrading to Arnold 4.1.x

Arnold 4.1.x has plenty of new features and improvements, and you can read about those in the release notes.

Here’s a few other little things to know about Arnold 4.1.x:

  • All shaders, procedurals, and plug-ins like SItoA and MtoA need to be recompiled to work with Arnold 4.1.x.
  • You need a new license to render with Arnold 4.1.x. An Arnold 400 license won’t work with Arnold 4.1.x.
  • Ass files written by Arnold 4.1.x cannot be loaded by older versions of Arnold.
  • Cross posted here