v5.4 Autodesk Arnold Render


Autodesk Arnold Render

Arnold is an advanced Monte Carlo ray tracing renderer built for the demands of feature-length animation and visual effects. Originally co-developed with Sony Pictures Imageworks and now their main renderer, Arnold is used at over 300 studios worldwide including ILM, Framestore, MPC, The Mill and Digic Pictures.

Arnold was the primary renderer on dozens of films from Monster House and Cloudy with a Chance of Meatballs to Pacific Rim and Gravity. It is available as a standalone renderer on Linux, Windows and Mac OS X, with plug-ins for Maya, 3ds Max, Houdini, Cinema 4D, Katana and Softimage.

Arnold is a fast, memory efficient and scalable physically-based raytracer. Its aim is to simplify the pipeline of VFX and animation companies with a reduced set of user interface elements, and by promoting a single pass approach removing all the associated storage and management costs.


Fur & Hair

arnold fur and hairAn efficient raytraced curve primitive makes Arnold the perfect choice for rendering fur and hair using very little memory. Its hair shader has double offset speculars, transmission and is specifically designed to reduce flickering of thin hairs.

Motion blur

arnold motion blurAccurate 3D motion blur correctly interacts with shadows, volumes, indirect lighting, reflection or refraction. Deformation motion blur is extremely efficient and works for polygons, hairs and particles. Rotational motion describes precise circular arcs.

Sub-surface scattering

arnaold subsurface scatteringOur raytracing-based sub-surface scattering approach makes tuning point clouds a thing of the past. It’s easy to use, requires no additional memory, supports motion-blurred lighting, interactive lighting and its performance scales optimally as more CPU threads are used.


arnold volumesThe volumetric rendering system is based on proprietary importance sampling algorithms and can render effects such as smoke, clouds, fog, pyroclastic flow or fire. Volumes interact with direct and indirect lighting from arbitrary area light sources. Supports OpenVDB and MayaFluids.

Flexibility and extensibility

arnold flexibilityThanks to an easy to use C++ API with Python bindings, TDs and programmers can integrate Arnold in external applications, and create custom shaders, cameras, light filters and output drivers. Arnold has been integrated into many apps, both commercial and proprietary.


arnold scalabilityArnold is carefully multi-threaded and makes optimal use of all available CPU threads. Even for traditionally single-threaded operations such as loading of procedural geometry, displacement or ray accel construction. Hyper-threading provides a solid 20% speedup.


arnold instancesArnold can efficiently raytrace instances of any scene object with transformation and material overrides. It is easy to create thousands or even millions of instances resulting in trillions of renderable primitives, which is great for vegetation, large environments and FX.

Memory efficient

arnold memory efficientThanks to Arnold’s compact and highly optimized data structures, you can render scenes with hundreds of millions of unique primitives quickly and with a much lower memory footprint than is possible with other renderers.

Deferred geometry loading

arnold deferred geometry loadingGeometry can be created on demand through “procedural” nodes (or stand-ins) rather than upfront. This allows the modular assembly of scenes. Procedural nodes can point to ASS, OBJ, PLY and DLL/DSO files, opening the door to programmatic scene creation and compositing.

Subdivision and displacement

arnold subdivision and displacementArnold supports Catmull-Clark subdivision surfaces. Subdivided vertices are then vector-displaced through arbitrary shader networks. High frequencies can be automatically captured as bump map, reducing the need for excessive subdivision.

Arbitrary Output Variables (AOVs)

arnold aovArnold can render any number of AOVs or passes for compositing purposes, including normal, Z-depth, position and ID masks. It also supports deep image data. Shaders can create their own custom outputs (such as direct and indirect diffuse, specular, SSS, etc).

Standalone command-line renderer

arnold command line rendererArnold has a native scene description format stored in human-readable text files (Arnold Scene Source, or .ass). These files are easily edited, can be read and written with the C/Python API, can be lazily loaded at render time, or can be fed to the command-line renderer, kick.



Arnold can be used in Maya, Softimage, Houdini, Cinema 4D and Katana. We will release other plug-ins in the future.

All of our plug-ins are free to use when you buy Arnold licenses. This means you can easily switch 3D software packages without having to spend money on additional Arnold licenses.

maya iconArnold for Maya

Provides a beautiful interface to our photorealistic renderer within Autodesk’s Maya.

Arnold for Maya (or MtoA) provides a bridge to the Arnold renderer from within Maya’s standard interface. MtoA is now shipping with the Arnold 5.0 core.


  • Seamless integration with Maya shapes, cameras, lights and shaders.
  • Image Based Lighting support, including a state of the art physical sky.
  • Interactive rendering (IPR) allows parameter changes to be rapidly previewed without interrupting your work.
  • Support for volume rendering with Maya Fluids.
  • Support for Maya Hair and nHair.
  • Particles and nParticles support, including particle instancer.
  • Defer the creation of geometry at render time with the Stand-in placeholder nodes.
  • Productivity boost: override sets, holdout mattes, shadow catcher, passes, UDIM style textures, and arbitrary primvar data.
  • Extensible through plug-ins (Golaem, FumeFX for Maya, Yeti, Shave & Haircut).
  • XGen integration.
  • Texturable geometric lights.
  • Deep EXR.
  • Rendering of curves.


c4d iconArnold for Cinema 4D

Arnold for Cinema 4D (or C4DtoA) provides a bridge to the Arnold renderer from within the standard Cinema 4D interface.  C4DtoA is now shipping with the latest Arnold 5.0 core.


  • Seamless integration with C4D: objects (instances, cloners, deformers, generators), MoGraph geometry, hair and splines.
  • Support for both native particles and Thinking Particles.
  • The fastest interactive rendering (IPR) of all Arnold plugins, allows parameter changes to be rapidly previewed without interrupting your work.
  • Arnold Shading Network Editor, a node-based material editor.
  • A comprehensive list of shaders and utilities, including vertex maps and per-face materials.
  • Volume rendering with OpenVDB.
  • Deferred, render time generation of geometry with the Arnold procedural node.
  • Native linear workflow.
  • Team Render, including single-frame distributed rendering.
  • Support for third party plugins like X-Particles and Turbulence FD.


houdini iconArnold for Houdini

Arnold for Houdini (or HtoA) provides a tight bridge to the Arnold renderer from within the standard Houdini interface, in a way that is familiar to both Houdini users and Arnold users in Maya or Softimage. It also enables smooth lighting workflows between Houdini and other DCC applications, since setups can be exported and shared.


  • All Arnold cameras (perspective, orthographic, spherical, fisheye) with depth of field and advanced shutter controls.
  • All Arnold lights (point, distant, spot, quad, disk, cylinder, skydome, mesh) with light filters and accurate viewport representation.
  • Custom Arnold shading network context with a comprehensive list of 106 shaders and utilities.
  • Atmospheric and background effects.
  • Volume rendering with support for OpenVDB and particles.
  • Polymeshes, curves, points with support for displacement and bump mapping and subdivision.
  • Procedurals, with sample Alembic and mandelbulb implementations.
  • Accurate motion blur (transform, deform, velocity, acceleration), overridable per object.
  • Geometry attributes translation as user data.
  • Optional Arnold properties for objects and cameras.
  • Render to AOVs, in single or separate files.
  • Support all Houdini rendering contexts (render region, mplay, render viewer, render COP, batch), with support for AOVs and clickable buckets.
  • Interactive rendering (IPR) allows parameter changes to be rapidly previewed without interrupting your work.
  • Instancing.
  • Multi-camera renders.
  • DeepEXR support.


katana iconArnold for Katana

Arnold for Katana (or KtoA) provides a bridge to the Arnold renderer from within the standard Katana interface. KtoA is now shipping with the latest Arnold 5.0 core.


  • Natural integration with Katana nodes, scenegraph, and scripting.
  • Multi-threaded scene translation, made possible by Geolib3 in Katana 2+.
  • Bundled Arnold, shaders, and plugins for a smooth out-of-the-box experience.
  • Improved interactivity for live rendering (IPR) allows look changes to be rapidly previewed.
  • Ultra-fast OpenVDB volume rendering.
  • Shader networks.
  • Works with third-party shaders and renderer procedurals (for hair, etc).
  • Render outputs and AOVs, including Deep EXR.
  • Supports the curves location type in Katana for hair rendering.
  • Many light types and light filters supported, as well as interactive modification of lights.
  • Object parameters and global options better match what is available in Arnold.
  • Improved documentation within Katana (args files).


3ds max iconArnold for 3ds Max

Provides a beautiful interface to our photorealistic renderer within Autodesk’s 3ds Max.  Launched at SIGGRAPH 2016 and now with Arnold 5.0, Arnold for 3ds Max (or MAXtoA) is bundled standard with 3ds Max 2018, providing a bridge to the Arnold renderer from within the standard 3ds Max interface.


  • Integration with 3ds Max shapes, cameras, lights and shaders.
  • Image Based Lighting support, including a state of the art physical sky.
  • 3ds Max ActiveShade interactive rendering allows parameter changes to be rapidly previewed without interrupting your work.
  • Support for AOVs & Deep EXR files.
  • Defer the creation of geometry at render time with the Procedural placeholder nodes.
  • Texturable Mesh lights.
  • 3rd Party Arnold shader support.
  • MAXtoA Cloud Rendering for stills and animations. Users can join the optional Autodesk ‘Render Pilot’ program, which now supports MAXtoA.


softimage iconArnold for Softimage

A comprehensive and tailored interface to Arnold within Autodesk’s Softimage. Arnold for Softimage (or SItoA) provides a bridge to the Arnold renderer from within the standard Softimage interface.  SItoA is now available to the community under an Apache2.0 open source license at: https://github.com/Autodesk/sitoa

This repository contains the official SItoA plugin source code. Solid Angle developed the SItoA plugin commercially from 2009 to 2017.
After the Softimage end-of-life announcement in April 2014, Solid Angle committed to continue the development and maintenance of SItoA for at least a year, and then extended this period until July 2017, porting SItoA to the new Arnold 5 API along the way.


Please submit your issues and pull requests on github, the old Trac server will remain available for a while as read-only but we won’t accept any new users. We will continue to monitor and review pull requests submitted to this repo on a voluntary basis, but will not release official builds any more.


  • Seamless integration with Softimage shapes, lights (selective lights) passes and render region.
  • Full ICE support (particles, strand and geometry) with advanced instancing functionality.
  • Native Softimage render tree and shader support.
  • Stand-ins with realtime view representation.
  • Productivity boost: passes, overrides, UDIM style textures.
  • Full Alembic integration via Exocortex Crate.
  • Texturable geometric lights.
  • Deep EXR.

In general, Arnold is going to work on pretty much any 64-bit system where Houdini, Maya, Cinema 4D, 3ds Max, Katana, or Softimage works. However, there are some minimum OS requirements:

  • OSX 10.9 or later
  • Windows 7 or later, with the Visual Studio 2015 redistributable
  • Linux with at least glibc 2.12 and libstdc++ 3.4.13 (gcc 4.4.7). This is equivalent to RHEL/CentOS 6
  • CPUs need to support the SSE4.1 instruction set
  • NVidia GPU for Optix Denoiser

Host Compatibility and Requirements


  • Compatible with Maya 2015, 2016, 2016 Ext2, and 2017

Cinema 4D

  • Compatible with Cinema 4D R16, R17, and R18 (all products except Lite)


  • Houdini, Houdini FX, Houdini Indie or Houdini Education (Houdini Apprentice is not supported)


  • Compatible with Katana 2.5

3ds Max

  • Compatible with Max 2018


  • Compatible with 64-bit Softimage 2013, 2014 and 2015

What’s new in Arnold 5.4?


  • Improved progressive and adaptive sampling: Better progressive sampling patterns lead to increased noise convergence rate and faster adaptive sampling termination. (#8447)
  • clip_geo shader: The new clip_geo shader will clip out all geometry against the shapes it has been assigned to. You can limit the objects that are affected with trace sets, and optionally choose a specific shader for the intersection surfaces. Note that self-intersecting geometry or intersecting clipping objects can cause artifacts. (#7274)
  • AOV read shaders: The new aov_read_* shaders let you access built-in AOVs in the AOV shader context or custom AOVs in the regular shading context. They can be useful to reformat built-in AOVs, for example to output normal maps derived from the built-in N AOVs when baking to texture. (#7787)
  • Alembic Layering: The alembic procedural now supports Alembic layering, where extra Alembic files specified via the new layers parameter will override properties on top of the Alembic file. (#8467)
  • Alembic Arnold Properties: The alembic procedural will now set Arnold parameters from arbGeomParams if they match any Arnold parameter name and type. (#7577)
  • Alembic Material Attribute: The alembic procedural has a new material_attribute optional parameter that defines the Alembic property that contains the material names, which will be used to create the per polygon material assignments. (#8535)
  • Support for the MaterialX standard library: The materialx operator now supports look development using nodes and node graphs in the MaterialX standard library. Shading models defined using the PBR library are generated using the MaterialX Arnold OSL shader generator. (#8453)
  • Disable assignment expressions: Assignments in the set_parameter operator can be now be individually disabled. (#7182)
  • Individual parallel init selection for procedurals: You can now tag individual procedural types for serial or parallel intialization. All built-in procedurals are tagged for parallel initialization, but custom procedurals are serial by default, unless their parallel_init boolean metadata has been set. This is useful to tag non-thread safe procedural without disabling parallel initialization altogether. (#7271)
  • Autodesk analytics program: Arnold can now optionally send anonymous statistics data back to Autodesk for analysis. This will help us optimize Arnold for the workflows and systems that are commonly used. This service can be opted-in either by calling the AiPromptADPDialog() API, through the kick -ADP flag, or through other Autodesk applications that support this, such as Maya. For the moment this is only available for OSX. (#8433)
  • oiiotool: oiiotool is now distributed with Arnold. (#8501)
    Improved round corners: round_corners no longer generates non physical normals, this prevents excessive darkening near objects’ silhouettes. (#8365)
  • Faster individual node destruction: Destroying individual nodes with AiNodeDestroy() is now substantially faster in scenes with many global-scope nodes. Individually destroying 500k ginstance nodes went from 50s to about 2s. (#8343)
  • Faster scene creation and destruction on Windows: Poor Windows performance when creating and destroying scenes has been greatly improved so that performance is almost as fast as Linux and OSX. For instance, the “releasing resources” step at the end of a render with 29k curves objects went from 45s to 4s. (#4399)

GPU enhancements

  • Open Shading Language: Initial support for OSL has been added to the GPU. Like on the CPU you can mix and match OSL and compiled shaders. Note that not all closure and shading ops are supported yet, refer to the supported features and known limitations docs for details. (#5975)
  • OpenVDB Volumes: Initial OpenVDB support, note that this initial implementation is likely to use more memory on the GPU than on the CPU. (#7051)
  • Volume displacement: The volume displacement and padding logic has been implemented on GPU. (#7606)
  • Lights compatibility : Added support for light portals, cylinder lights, disk lights, and low light threshold. (#8531, #8540, #8557, #8551)
  • Standard Surface compatibility: Added support for Randomwalk v2 SSS and transmission_dispersion. (#8253, #8253)
  • Less noise in indirect samples: Better stratification now reduces the noise in indirect samples, for example with refractive surfaces. (#8615)
  • Better GPU cache pre-population ETA: More accurate GPU cache prepopulation time remaining estimate. (#8361)

API additions

Earlier listing of built-in AOVs: Built-in AOVs and LPEs are now also listed by the AtAOVIterator, no longer requiring an AiRender() call. (#8431)

New functions for custom procedurals: Custom procedurals can now define new functions procedural_update and procedural_finish (equivalent to node_update and node_finish). Those custom functions (if present) will be executed during scene update and during procedural destruction, respectively (#7961).

AiPromptADPDialog(): Call AiPromptADPDialog() in order to opt-in or out of the Autodesk analytics program (ADP). Currently ADP is only implemented for OSX, so for other platforms this is a no-op. There is a known limitation that only allows this function to work if the Arnold libraries are in the same path as the host process. (#8433)

See full Release Notes

What’s new in Arnold 5.3?

  • Adds GPU rendering option – Now users have the flexibility to choose between rendering on the CPU or GPU without changing renderers.
  • Major improvements to quality and performance for adaptive sampling, helping to reduce render times without jeopardizing final image quality
  • Improved version of Randomwalk SSS mode for more realistic shading
  • Enhanced usability for Standard Surface, giving users more control
  • Improvements to the Operator framework, including a new Include operator and more artist-friendly way to apply them
  • Better sampling of Skydome lights, reducing direct illumination noise
  • Updates to support for MaterialX, allowing users to save a shading network as a MaterialX look

What’s new in Arnold 5.2.1?


Round corners shader:
This shader modifies the shading normals near edges to give the appearance of a round corner. The simpler way to use this shader is to connect its output normal to standard_surface.normal or standard_surface.coat_normal. (#7517)

Normal map blending:
A new normal_map blending mode was added to the layer_rgba shader. This makes it easier to create fine details and is more efficient than connecting multiple bump or normal mapping nodes. (#7523)

Faster adaptive subdivision:
Faster adaptive subdivision due to more efficient computation of irregular patches: 2x speedup in some cases. (#7344, #7444, #7488)

Faster operator evaluation:
Operator evaluation is now up to 20x faster on large scenes thanks to expression caching and graph pre-processing. (#7001, #7508)

JSON log file additions:
The JSON stats file has more info, such as the hardware used. (#7196)

LPE image metadata:
Output image metadata now includes the full light path expression for each layer. (#7499)

Alembic archives:
The Alembic procedural will reuse alembic file handles, keeping up to 8 file handles open for better cache handling in parallel node initialisation. (#7071)

API additions

  • JSON stats version: The JSON stats file now has a “JSON log version” field that will be incremented each time a breaking change is made to the JSON stats format. (#7530)

Incompatible changes

  • JSON stats change: The JSON stats format has changed in order to resolve some ambiguities with nested fields. (#7074, #7530)
  • Range shader gain: The gain parameter on therange shader is now inverted for consistency with the AiGain() API function. (#7477)

Bug fixes

  • #7443 MaterialX generated shaders are scoped under their node graph name
  • #7446 alembic crash with make_instance enabled and changing frames
  • #7478 Alembic with make_instance and parallel node init enabled causes disappearing geometry
  • #7579 Alembic transform incorrect with motion blur.
  • #6221 Export full path instead of node name when writing to .ass while expanding procedurals
  • #6727 Recover from failed optix launches
  • #7074 nested timing stats are ambiguous in json output
  • #7388 metadata lexer should ignore more than three # in a row
  • #7413 alembic files with single entry array attributes should be considered not arrays
  • #7415 Noice: issues with certain crop windows combinations
  • #7416 Noice: incorrect handling of variance AOVs in a separate file
  • #7417 Noice: support additional channel suffixes and warn if the suffix is unsupported
  • #7418 Noice: skip denoising AOVs with no associated variance
  • #7419 make flatness check for quad_light more robust
  • #7422 transform motion in procedural that only contains lights can give invalid lights
  • #7431 Volumes: register new AOV volume_Z
  • #7432 Volume AOVs: shadow rays interfere with new Z and ID AOVs
  • #7445 Cell noise time not evaluated when linked
  • #7456 Thread safety of alembic procedural tokenize function
  • #7461 adaptive camera samples higher than expected
  • #7466 MaterialX: Supported parameter arrays are not processed by operator and node definition generation
  • #7467 Render callback does not support an “empty” callback
  • #7470 d’Eon BCSDF must be evaluated when `base_color` is small
  • #7472 Shadow group is not inherited in ginstance
  • #7474 curves memory report missing some entries
  • #7475 Alembic object transform fix
  • #7477 Gain function in range shader is inverted
  • #7480 Texture baking: small triangles can cause artifacts
  • #7492 Add sheen AOV labels
  • #7493 Slow expansion of multiple alembic procedurals
  • #7495 Kick -laovs should not grab a license
  • #7497 Noice: when looking for feature AOVs prioritize AOVs with the correct filter
  • #7501 Alembic procedural expansion with make_instance on using an object_transform parameter
  • #7505 Autobump (and bump) disappear for some pixels
  • #7507 Alembic Crash with arbGeoParam array property
  • #7516 user parameters not properly propagated or read from parent procedural
  • #7520 Remove the OptiX dependency on mac
  • #7524 The first parameter of OSL nodes is not initialized to the default value
  • #7539 Alembic transform/deformation motion blur mismatch
  • #7567 Alembic geometry has incorrect transform with make_instance enabled
  • #7573 Shaders should check that samples are always strictly positive
  • #7442 Copy id to child alembic nodes
  • #7548 Unexpected missing parameter warning on custom procedural instances

What’s new in Arnold 5.2?


  • Texture baking: A new type of node called uv_camera has been added that will produce an image of a given polymesh’s shaded UV space as output, which can be useful for texture baking. (#6091, #7206)
  • Improved sampling of spherical lights: A new technique for sampling point lights has been added which can show significant reductions in noise, especially for large lights illuminating surfaces at grazing angles (rim lighting, for example). (#5534)
  • Faster adaptive subdivision: Adaptive subdivision is now up to 2x to 3x faster even on a single thread. In addition, the adaptive codepath has been multi-threaded to fully take advantage of machines with many cores. The aggregated speedup in such machines can be 15x or more. (#2311, #7186, #7201, #7229)
  • Improved EXR read performance: Threaded read performance and scaling of OpenEXR files has been greatly improved. (#6605)
  • noice denoiser improvements: The stability and usability of the high-quality noice denoiser has been improved thanks to various bugfixes and improved error checking. In particular, the original metadata, display windows, bitdepth and compression are preserved in output files. (#7226)
  • OptiX denoiser improvements: The GPU memory consumption of the fast OptiX denoiser has been greatly reduced proportionally to the number of denoised AOVs. Fringing artifacts around HDR pixels have been reduced. (#6885, #7100, #7190, #7333, #6880)
  • Sheen in standard_surface: The standard_surface shader supports a new, energy-preserving sheen effect designed to render cloth-like microfiber materials such as velvet. The sheen effect is layered on top of the diffuse and subsurface components. (#7234)
  • New cell_noise shader: A new cell_noise shader has been added which can create many different useful cell-like patterns. The color of each cell is mapped to a palette parameter, enabling the easy creation of patterns with colors chosen from a specific palette. (#5985, #6051)
  • New controls in range shader: The range shader has been augmented with parameters to control contrast, bias and gain. (#7277)
  • RGB clamping in clamp shader: The clamp shader can now be configured to either a scalar or color mode. (#7278)
  • Matrix shaders: The matrix_multiply_vector and matrix_transform shaders have been reinstated. (#7243)
  • Built-in Cryptomatte: Cryptomatte AOV shaders and filters are now being included as a part of the Arnold core package. (#7301)
  • New built-in volume AOVs: The Z depth for the first volume contribution can now be output in a flat AOV with volume_Z (depth AOV for volumes was already available in deep files). Also, ID now works for volumes. (#7326, #7327)
  • New control in toon shader: Edge detection can now be controlled using a STRING type user data called toon_id. This feature is enabled when user_id is checked. Otherwise, the detected edges will be driven by the object’s own name as a toon-specific ID. (#7125)
  • Alembic procedural improvements: The Alembic library has been updated to 1.7.5 in this release. User data parameters that clash with shape parameters will now get an underscore prefix instead of a warning. Added an object_transform parameter to allow additional transformations on the generated geometry. Added a make_instance parameter so that the Alembic procedural will automatically create instances of objects present in multiple Alembic procedurals (experimental; disabled by default) (#6916, #6947, #7076, #7109, #7163, #7242, #7261, #7286)
  • Improved operator assignments: Assignment expressions in operators have improved functionality with regards to reference and string types. (#7284, #7287)
  • Upgrade to OSL 1.9.9: This upgraded version of OSL addresses several reported limitations involving locales, the availability of certain noise types, and compatibility issues with utility functions like transformc being promoted to built-in function definitions. (#6225)
  • Updated to RLM 12.4BL2: The RLM license server and library have been upgraded from version 12.2BL2 to 12.4BL2, which fixes sporadic access violations and hangs. (#7350, #7120)

API additions

  • Sheen closure: The AiSheenBSDF() function has been which provides the sheen closure used by standard_surface so that the same effect can be easily obtained in custom shaders. This function also returns a weight that can be used to layer the sheen closure onto other closures in an energy conserving fashion. (#7234)
  • Multiple Universes: A new concept has been added to Arnold’s API which gives it the capability of creating nodes in any number of user-defined workspaces called AtUniverse that can be created and destroyed via the AiUniverse() and AiUniverseDestroy() functions, respectively. Upon creation, nodes are assigned a universe which will take on their exclusive ownership, and this ownership can be inspected via the AiNodeGetUniverse() function. Please note that the “null” universe is the “default” universe, which for the time being is the only one which permits rendering and procedural expansion. (#4129)

Incompatible changes

  • Code compatibility: Code made for Arnold 5.1 should still function in Arnold 5.2 after a recompilation.
  • Binary compatibility: Even though 5.2 is technically an API-breaking release, Arnold 5.0 and 5.1 plugins (shaders, filters, etc) in the majority of cases will still be compatible with 5.2 and can continue to be used without being recompiled, while procedural plugins on the other hand will in the majority of cases require recompilation. (#6822)
  • Multiple Universes: In order to support multiple universes, several existing API functions have a new AtUniverse pointer as first parameter indicating which universe these functions must operate on. This change to function signatures implies a break in binary compatibility with any client code compiled for previous versions of Arnold that were using these functions. However a set of function overloads that preserve the previous signatures has been added to the C++ headers such that the mismatched signatures can be resolved through a code recompilation. The API functions affected by this change are:
    • AiASSWrite()
    • AiASSWriteWithMetadata()
    • AiASSLoad()
    • AiNode()
    • AiNodeLookUpByName()
    • AiUniverseCacheFlush()
    • AiUniverseGetOptions()
    • AiUniverseGetCamera()
    • AiUniverseGetSceneBounds()
    • AiUniverseGetNodeIterator()
  • Removed texture blur options: The texture_specular_blur, texture_diffuse_blur , and texture_sss_blur options have been removed after having defaulted at 0 for some time. They are no longer needed for improving texture performance since Arnold is able to automatically blur the textures as needed without the over-blurring that these options would produce. (#4706)
  • GPU denoising options renamed: The GPU-related render options used by the OptiX denoiser have been renamed to use the gpu_* prefix. (#7190)
  • ENUM params now byte-sized: Enum parameters are now internally stored as bytes instead of ints, and will be reported as such by the AiParamGetTypeSize() API. (#7114)

Bug fixes

  • #7325 procedural loading a .ass containing many nodes that reference other nodes is very slow
  • #6472 OSL issues with Locale
  • #6916 curves in Alembic proc cut short
  • #6947 Skip invalid curves
  • #7012 Noice: black pixels around variance spikes
  • #7027 Non-ascii characters prevent Open EXR images from being loaded
  • #7076 Rename user data parameters that clash with shape nodes in alembic expansion
  • #7154 Adaptive Subdivision: crash with linear patches and different position and UV topologies
  • #7179 Adaptive Subdiv: irregular patch crash with different position and uv topologies
  • #7226 Noice: support inputs with different data windows
  • #7286 Alembic object transform
  • #7303 Python binding fixes for functions that return AtNode types
  • #7312 Raw drivers crash (including Cryptomatte’s manifest driver)
  • #7341 Crash when computing the render stats for procedural
  • #7355 Alembic curve user data expansion

What’s new in Arnold

Bug fixes

#6771 Incomplete render when you restart after interrupting a render during displacement/subdivision
#7180 noice crashes with separate float Z input file
#7213 MaterialX: Displacements and mixing of generic/texture shaders in materials now supported using a shader type context
#6926 MaterialX: Resolve environment variables in search paths
#6993 noice should preserve metadata, display windows, and add noice args and version metadata
#6994 Noice should preserve channel bit width and compression for outputs
#7094 Procedural containing ginstances are evaluated before instanced node
#7113 Contour lines shouldn’t be drawn when width_scale is zero
#7124 Memory leak when interrupting displacement
#7127 Procedural ginstance matrices are accumulated at each render
#7130 Render incorrectly aborted in applyDevice when GPU is not needed
#7152 noice should exit when unsupported formats are used
#7163 Array property fixes in alembic procedural
#7176 Motion blur on instances of procedurals
#7187 Fix op target selection in kick command line
#7191 Slight error in checkerboard shader
#7193 noice broken sequence handling when temporal denoising is not used
#7198 Alembic procedural uses inheritsXforms property
#7200 Output metadata: output correct metadata for single layer files

What’s new in Arnold Render 5.1?

Optimizing for quality and speed

  • Adaptive sampling offers a streamlined way to easily tune image fidelity, so users can reduce render times without jeopardizing final image quality.
  • Two new denoising solutions give you the option to use much lower quality sampling settings to optimize your rendering process:
    • The OptiX Denoiser based on NVIDIA AI technology is now integrated into Arnold.
    • The Arnold Denoiser is a standalone tool that offers the temporal stability needed for final frame denoising.

Toon Shader

A new Toon shader has been integrated as part of a non-photorealistic rendering (NPR) solution, provided in combination with the Contour Filter, making it easier to achieve incredible new styles and effects. While Arnold is long known for producing beautiful photorealistic imagery, many users have asked for functionality allowing toon or stylized non-photoreal looks, and this new shader will open up a tremendous range of options.

Managing complexity and scale

For technical users, Arnold continues to offer the stability needed to scale performance without sacrificing image quality.

  • A native Alembic procedural will help studios working with Alembic pipelines to better integrate Arnold, optimize their Alembic workflow, and eliminate production bottlenecks.
  • A new Profiling API plus structured statistics, including the ability to output data in JSON format, offer a set of powerful debugging tools so users can more easily identify performance issues and fine-tune rendering processes.

Interoperability for open pipelines

Arnold 5.1 lays the groundwork for major developments in supporting open industry standards, helping to dismantle technical roadblocks that might be limiting your choice of tools.

  • Material assignments and overrides: Fully interactive inside of Arnold, a new set of operators makes it possible to override any part of an Arnold scene and modify the Arnold universe at render time. Support for open standard frameworks including MaterialX will make it easier than ever to transfer rich material and look-development content between applications and renderers.

See full release notes

In Depth: 3D Renderers (Updated 11 November 2019) #3drenderer

There are so many renderers available out there, and how does an artist know what to choose? Although they really do the same thing, they work differently and have different results. Here is a breakdown of what the different renderers offer, not reviews, so you can decide which renderer is right for you.


Substance Painter Texturing - Vintage Theater Chair #mayamonday

Brent Le Blanc shows you how to use Substance Painter texturing of a Vintage Theater Chair for film and games. He uses advanced procedural techniques.


Why Your 3D Renders Look Fake - 5 Tips

Designer Darren Thomas explains why your 3D renders look fake and offers 5 tips to improve realism. Perfection is your enemy, and technology will only get you so far, as real life is messy and imperfect.


Arnold + Maya Tutorial Round Up #MayaMonday

Arnold + Maya go together like chips and salsa, or rice and beans! Today we're rounding up some tutorials for Arnold and Maya.


FumeFX Thanos Portal for 3ds Max

This tutorial for the Thanos Portal comes from SitniSati, and is, of course, inspired by the Avengers Infinity War. Watch it now!


Maya Monday: The Arnold GPU Public Beta with Arvid Schneider, Greyscalegorilla

The Arnold GPU public beta last week, with the release of Arnold v5.3. Arnold GPU gives artists the ability to switch between CPU and GPU rendering easily.


Cinema 4D & Arnold: Making a Spiderverse-Inspired Shader in Arnold

Chad Ashley from Greyscalegorilla was recently inspired by the animated movie, "Spider-Man: Into the Spider-verse" to create an Arnold shader in the same style. In this tutorial, Chad explains the technique use to create the film and then shows you how to re-create that look in Arnold.


Cinema 4D and Arnold

A couple of weeks ago we did some features on Cinema 4D and third party renderers that work with Cinema 4D. We're continuing today with Arnold and featuring a few useful and fun tutorials.


Maxon Cinema 4D and Arnold Render Tutorials for Shaders

A couple of weeks ago we did some features on Cinema 4D and third party renderers that work with Cinema 4D. We continue today with more for Arnold.


Maya XGen and Interactive Grooming Tutorial Roundup

Maya 2017 Update 3 brought the interactive grooming tools and they’re really powerful! With XGen, you can create natural looking hair and animal fur. Here are some overviews and examples of what XGen Interactive grooming can do.


5 Tutorials about Creating Glass in Maya with Arnold’s aiStandardSurface

There have been multiple times in my career when I’ve been asked to create glass, whether it be for a product video, or for motion graphics with a logo in glass, or for visual effects where I’m turning a person into glass. The important thing is to make the reflections look natural.


Working with Arnold AOV’s in After Effects

Maghdad Asadi has a new overview video on working with passes (AOVs) from Arnold in After Effects.


Rendering in Maya

This page contains several tutorials about installing Arnold Render, render settings you should use, saving the render and things like ray depth, viewport settings, and anti-aliasing.


Understanding Depth Of Field in Arnold and Maya

This is a free excerpt from a course from Mograph Plus and Kamel Khezri. Learn about how to set up Depth of Field properly in Maya and Arnold.


Procedural Growing Frost Cinema 4D & X-Particles + Creating a Realistic Ice Material in Arnold 5

Daniel Danielsson is a Freelance Director / Motion Designer who is based in Hertfordshire, which is north of London, England. I'm not sure how much snow and ice they get there, but Daniel has some fantastic Cinema 4D tutorials on creating frost and ice.


Speed up your HDRI Workflow in Arnold with HDRI Link

Chad Ashley from Greyscalegorilla explains how to work faster using HDRI Link with Cinema 4D and Arnold.


MtoA 206 | Snow and Ice | Material series using Arnold 5 with Maya 2018

Arvid Schneider puts out some fantastic Maya tutorials and this one seems especially seasonally appropriate, as I look out my window. He explains how to set up a realistic looking snow shader with Maya and Arnold.


Rendering in CINEMA 4D - Which to Choose

With all the different renderers out there, it’s sometimes difficult to determine which is the best for you and your needs.  Chad Ashley from Greyscalegorilla has a breakdown of the pro’s and cons of some of the renders GSG recommends.  Read an excerpt here and follow the link to the full article.


Creating Realistic Human Skin with Maya and Arnold 5

Arvid Schneider explains how to set up a lifelike human skin shader with the aiStandardSurface shader, and it’s a lot easier than you may think!


Where Did Arnold Go?

I ran into a little problem after updating to Maya 2017. Arnold Standard Shader was missing! If this happens to you, this is an easy fix!


Live Tutorial: Working with Arnold 5

Arvid Schneider explains lighting and shading a scene from start to finish with Arnold 5. "I am using an arnold learning scene with a fishbowl. Creating shaders and mixing them together."


Arnold Render 5 tips and tricks for faster renders

John Paul Giancarlo, M&E Technical Specialist for South Europe, based in Barcelona, gives some tips on using Arnold for faster renders and some new features. The video lists what's covered exactly.


Water Condensation With Mograph, Greyscalegorilla

Chad Ashley from Greyscalegorilla gives an excellent, in depth, 3-part tutorial on how to make realistic condensation on the outside of a can.


3ds Max: Rendering realistic Explosion and Smoke in Arnold

In this tutorial, from Mograph Plus, you will learn how to render realistic explosions and smoke in Arnold for 3ds Max using the Arnold Volume.


Substance Painter to Arnold Workflow

In this tutorial by Romain Chauliac, you will learn the proper workflow to get your Substance Material to look exactly the way you want it to in Arnold Render 5.


Dynamic Worms in Maya

This is the last one for this tutorial Tuesday. Simulate a bunch of worms in Autodesk Maya from noorvfx.com.