Rendering FAQ
← Back to main +Documentation

  1. I see some Arnold warnings about procedurals and compilation version
  1. I cannot render my asset containing curves/points
  1. I cannot see any shader override when rendering with Renderman 

1. I see some Arnold warnings about procedurals and compilation version

Arnold uses the ARNOLD_PLUGIN_PATH to load procedurals.

Due to the fact that Arnold API is often updated and requires a recompilation for the new version, Multiverse needs to support multiple versions of Arnold (one for each time the Arnold API is "broken"), this means we need to supply clients with Multiple versions of the procedural. Other renderers have a more stable API and dont require to do so (example: 3Delight and Renderman).

Arnold will output a warning for procedurals that are in the path and are not compiled with the version in current use, such as:

00:00:00   775MB WARNING |  mvUsdArnoldProcedural53.dylib was compiled against non-compatible Arnold 5.3.0.1
00:00:00   775MB WARNING |  mvUsdArnoldProcedural54.dylib was compiled against non-compatible Arnold 5.4.0.0
00:00:00   775MB WARNING |  mvUsdArnoldProcedural52.dylib was compiled against non-compatible Arnold 5.2.2.1

You can safely ignore this warning:

We put all Arnold procedurals in the same folder but only the right one will be used for rendering (in the above case mvUsdArnoldProcedural60.dylib will be used because we have MtoA 4.0.1 / Arnold 6.0.1 installed and as you can see there is no warning about it).

  • TIP — You can also delete or move the procedurals for Arnold versions that you are not using to another backup folder and you will suppress these warnings. 

2. I cannot render my asset containing curves/points

Make sure your curves and points either have valid normals, or do not have any normals at all. You can save a .usda  file to verify this, if you have degenerate normal vectors such as:

 def Xform "curve"
  {
    def BasisCurves "curveShape"
      {
        # ...
        normal3f[] normals = [(0, 0, 0), (0, 0, 0), (0, 0, 0), ...] (
        interpolation = "vertex" )
      }
  }

You will then not be able to render. So make sure to have valid normals or no normals at all (each renderer knows what to do in each case).

3. I cannot see any shader override when rendering with Renderman 

You simply forgot to activate the “Render Settings> Renderman> Advanced> Output All Shaders” option. Read +Rendering with Renderman for a more comprehensive description.