Affiliate Link Generator Copied!


v7.2.4 (2024) Autodesk Arnold Renderer

EDIT in Admin Edit in WP

Add to Wishlist

Autodesk Arnold Renderer

Global illumination rendering software

Get the stunning, reliable visuals you need with Arnold software. This advanced renderer is powered by Monte Carlo ray tracing to bring your projects to life in vivid detail! 

It’s built to stand up to the demands of VFX and animation production.  Arnold lets you focus on being creative, rather than spending hours going through settings.

  • Navigate through the software with simple and intuitive controls.
  • Produce professional-grade renders with full artistic control.
  • Get immediate results with interactive rendering.

Please note: U.S. sales only.

Why use Arnold?

Manage complex projects

Arnold thrives on heavy data sets and handles complex work with ease.

Render high-quality 3D images

Deliver stunning photoreal or stylized results in fewer clicks.

Get a robust set of tools

Save time with powerful shaders, operators, textures, and utilities.

What you can do with Arnold

arnold tools

Manage complex projects with production-ready tools

Switch seamlessly between CPU and GPU rendering to suit your production needs for characters, scenery, and lighting, and get optimized performance when rendering elements such as hair, fur, and skin.

arnold pipeline

Integrate and customize your pipeline

Easily integrate Arnold with all the top 3D digital content creation tools, get the scalability and customization of open and extensible architecture, and create custom shaders.

Autodesk Arnold Key Features

From furry creatures to wondrous landscapes, the robust Arnold toolset helps artists render professional-grade 3D characters and complex scenes with ease.

Arnold GPU

Switch seamlessly between CPU and GPU rendering.

Subsurface scatter

High-performance ray-traced subsurface scattering eliminates the need to tune point clouds.

Hair and fur

Memory-efficient ray-traced curve primitives help you create complex fur and hair renders.

Motion blur

3D motion blur interacts with shadows, volumes, indirect lighting, reflection, or refraction.


Render effects such as smoke, clouds, fog, pyroclastic flow, and fire with volumetric rendering.


Efficiently ray trace instances of many scenes objects with transformation and material override.

Subdivision and displacement

Create smooth, curved surfaces with support for the Catmull-Clark subdivision.

Open Shading Language (OSL) support

Use Open Shading Language (OSL), an advanced shading language for Global Illumination renderers.

Light Path Expressions

Get power and flexibility to create Arbitrary Output Variables with LPEs to help meet the needs of production.

Adaptive sampling

Use another means of tuning images to reduce render times without jeopardizing final image quality.

Toon shader

In combination with the Contour Filter, an advanced toon shader provides a non-photorealistic solution.


Powerful denoising solutions offer you the flexibility to use much lower-quality sampling settings.

Features of Arnold 2024 (v7.2)

Flexible and extensible API

Integrate Arnold into external applications and create custom shaders, cameras, light filters, and output drivers.

Universal Scene Description (USD) support

Maximize the power of USD with Arnold in production scenarios.


Use Bloom, Light Mixer, Noice, and OptiX denoiser imagers to control lighting effects and automatically denoise after each render.

Stand-alone command-line renderer

Arnold has a native scene description format stored in human-readable text files. Easily edit, read, and write these files via the C/Python API.

Standard Surface shader

Produce a wide range of materials and looks with this energy-saving, physically based uber shader.

Standard Hair shader

Render hair and fur with this physically based shader, based on the d’Eon and Zinke models for specular and diffuse shading.

Alembic procedural

Render Alembic files directly without any translation with a native procedural.

Profiling API and structured statistics

Identify performance issues and optimize rendering processes more easily with an extensive set of tools.

Material assignments and overrides

With operators, override any part of a scene at render time and enable support for open standard frameworks such as MaterialX.

Built-in Cryptomatte

Create ID mattes automatically with support for motion blur, transparency, and depth of field.

Integrated OpenColorIO v2

Take advantage of OpenColorIO v2 for state-of-the-art color management.

Hair and fur

arnold fur and hair

An efficient ray-traced curve primitive makes Arnold the perfect choice for rendering fur and hair using very little memory. Its hair shader has double offset speculators, and transmission and is specifically designed to reduce the flickering of thin hairs.

Motion blur

arnold motion blur

Accurate 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. To clarify, the rotational motion describes precise circular arcs.

Sub-surface scattering

arnold subsurface scattering

Our 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, and interactive lighting, and its performance scales optimally as more CPU threads are used.


Arnold Volumes

The 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. Not only that, it supports OpenVDB and MayaFluids.

Flexibility and extensibility

arnold flexibility

Thanks 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. In fact, see Arnold integrated into many apps, both commercial and proprietary.


arnold scalability

Arnold 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.


Autodesk Arnold Renderer 6 instances

Arnold 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, of course, great for vegetation, large environments, and FX.

Deferred geometry loading

Geometry 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 6 subdivision and displacement

Arnold supports Catmull-Clark subdivision surfaces. Then, subdivided vertices get vector-displaced through arbitrary shader networks. Automatically capture high frequencies as a bump map, reducing the need for excessive subdivision.

Arbitrary Output Variables (AOVs)

Arnold 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 has a native scene description format stored in human-readable text files (Arnold Scene Source, or .ass). Easily edit these files, read, and write with the C/Python API. In fact, lazily load at render time, or feed to the command-line renderer, kick.


Arnold can be used in Maya, 3ds Max, Houdini, Cinema 4D, Katana, and Softimage.

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.

Arnold 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.


Arnold 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.


Arnold for Houdini

Arnold for Houdini (or HtoA) provides a tight bridge to the Arnold renderer from within the standard Houdini interface. It 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 a 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.


Arnold for Katana

Arnold for Katana (or KtoA) provides a bridge to the Arnold renderer from within the standard Katana interface.


  • 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 are 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).


Arnold 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 and later, 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.


Arnold for 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:

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 continuing 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.


  • 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 real-time 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, or Katana works. However, there are some minimum requirements:

  • Windows 10 or later, with the Visual Studio 2019 redistributable.
  • Linux with at least glibc 2.17 and libstdc++ 4.8.5 (gcc 4.8.5). This is equivalent to RHEL/CentOS 7.
  • macOS 10.13 or later.
  • x86-64 CPUs need to support the SSE4.1 instruction set. Apple Mac models with M series chip are natively supported.
  • GPU rendering works on Windows and Linux only and requires an NVIDIA GPU of the Ampere, Turing, Volta, Pascal, or Maxwell architecture. We recommend using the 525.89 or higher drivers on Linux and 528.49, or higher on Windows. See Arnold GPU for more information.
  • For GPU rendering, the cache also needs to be re-populated after installing a new Arnold version, updating to a new NVIDIA driver, or changing the hardware configuration of GPUs on the system. More information can be found here.
  • Optix™ denoiser requires an NVidia GPU with CUDA™ Compute Capability 5.0 and above.

Arnold for Maya

The current version of Arnold for Maya is MtoA 5.2.1. Read the release notes.

  • Maya 2020, 2022, 2023, 2024


Arnold for 3ds Max

The current version of Arnold for 3ds Max is MaxtoA Read the release notes.

No additional license is required to render interactively within 3DS Max.

  • Max 2021, 2022, 2023, 2024

Arnold for Houdini

The current version of Arnold for Houdini is HtoA Read the release notes.

  • Houdini 18.5.759-Houdini 19.5.368.py37


Arnold for Cinema 4D

The current version of Arnold for Cinema 4D is C4DtoA 4.4.0. Read the release notes.

Cinema 4D Version

  • S24.111 and above
  • R25.010 and above
  • S26.013 and above
  • 2023.0.0 and above


Arnold for Katana

The current version of Arnold for Katana is KtoA Read the release notes.

  • Katana 3.6
  • Katana 4.0
  • Katana 4.5
  • Katana 5.0

Arnold for Softimage

The current version of Arnold for Softimage is SItoA 4.1.0. Read the release notes.

  • Softimage 2013-2015 – Arnold User Guide

18 October 2023

This is a bugfix release. For the full list of features and requirements in Arnold 7.2.4, see the Arnold release notes.

Bug Fixes

  • ARNOLD-9773 – Exorbitant rays/pixel reported for first % progress report
  • ARNOLD-13909 – Crash with extreme numbers of overlapping volumes
  • ARNOLD-14068 – Incorrect smart opaque when a shader is assigned to an instancer
  • ARNOLD-14087 – Crash when writing a scene without a valid render session
  • ARNOLD-14110 – GPU crash when attempting to read an EXR/TX file that isn’t present
  • ARNOLD-14138 – Round up initial progress stat in log so it reports 1% and not 0%
  • ARNOLD-14180 – Profiler uses too much memory in very long running renders
  • usd#1678 – Add support for Arnold shaders with multiple outputs
  • usd#1711 – Fix duplicated Arnold user data introduced in
  • usd#1728 – Fix Cryptomatte compatibility with Nuke.


Arnold 7.2.3


  • Global light Sampling support on GPU: Global Light Sampling (GLS) is now available with GPU rendering. Many scenes with moderate to large number of lights render 2-6x faster with GLS. Scenes that do not benefit from GLS tend to be a few percent faster or slower. See the GLS documentation for important information on the optimal number of light samples to use with GPU. (ARNOLD-13109)
  • Return direction and distance to nearest hit in distance shader: Arnold 7.2.3 adds out_distance and out_direction output parameters to the distance shader, which return the direction and distance to the nearest surface, respectively. The shader still returns the color-mapped result by default, which is now available as the out_rgb parameter. (ARNOLD-13473)
  • state_float, state_int, state_vector multiple outputs: The shading state shaders now have multiple outputs, so you can use a single state shader with multiple output connections in a shading network. (ARNOLD-13579)

USD Enhancements

  • Support vertex UV coordinates on Curves in the render delegate usd#1435
    Curves without width should render with a default value usd#1579

API Additions

  • AiProceduralExpand: A new API AiProceduralExpand expands on demand the contents of a procedural (such as a ‘usd’, ‘alembic’, or ‘procedural’ node), as it would happen in a regular render. You can use this to force the creation of procedural child nodes before the rendering starts, and to avoid race conditions when the procedurals are not thread safe. (ARNOLD-7067)

Bug Fixes

  • ARNOLD-10643 – FIS no longer forces a box filter
  • ARNOLD-12917 – Viewport API uses incorrect motion blur reference time
  • ARNOLD-13645 – Instancer crash if a single node is instanced but set to null
  • ARNOLD-13678 – Holes in alpha channel when opacity is almost 1
  • ARNOLD-13741 – Log messages missing colors
  • ARNOLD-13770 – Name scope clashes with nested procedurals
  • ARNOLD-13776 – NaNs when using global light sampling with low-light-threshold
  • ARNOLD-13789 – Corrupted tiff output if skip_alpha and unpremult_alpha are both enabled
  • usd#1538 – Fix triplanar in USD MaterialX


Arnold is a feature release bringing faster interactive scene edits, rendering optimizations, better USD and MaterialX support, and many other user experience improvements and bug fixes.


  • Improved interactivity when modifying large scenes: Arnold 7.2.2 improves the responsiveness of the renderer when modifying large scenes interactively. When editing lights or shaders in scenes with millions of instances, the time to first pixel is nearly instantaneous instead of having to wait multiple seconds. For example, this change improves interactivity greatly when rendering scenes using the point instancer in USD. Modifying nodes during an interactive session now usually results in an update of just the modified node, not of all nodes. In scenes with many nodes, this can substantially speed up interactive node updates. In case of missing updates, you can disable this feature by setting options.enable_fast_ipr to false. An Arnold cache flush can also be used to trigger all nodes to update again. (ARNOLD-4873)
  • Improved global light sampling performance: The efficiency of global light sampling with indirect lighting has been improved in many cases. See the global light sampling documentation for more details. (ARNOLD-13381)

  • Reduced numerical precision differences across CPU vendors: While images rendered on Intel, AMD, and Apple CPUs were already often perceptually equivalent, we have removed more precision-related differences so that even more results are now perceptually identical. (ARNOLD-5211)
  • Reduced noise from mesh lights in volumes: The amount of noise in volumes when using a mesh light with very small triangles is now much reduced. (ARNOLD-11880)
arnold noisearnold render noise
  • Specify which AOV to show in kick display: A new kick flag -aov selects the AOV to show in the kick display window. (ARNOLD-13360)
  • OCIO color manager handles better missing configs: If the OCIO color_manager is not given a config filename and the OCIO environment variable is not defined, Arnold will now use the built-in config. Previously it would fail with a warning and not apply any color conversions. (ARNOLD-11565)
  • Per shape autobump SSS visibility: You can now control whether autobump is visible on SSS for specific shapes, instead of relying on the global control, just as you can for the other autobump visibility controls. This setting has subtle effects and can increase rendering times, so enabling it only where it matters will help optimize scenes. (ARNOLD-12989)
  • Update CER: The Customer Error Reporting (CER) library is updated to v6.2.3. (ARNOLD-13510)

USD Enhancements

  • Load 3rd party MaterialX node definitions: It is now possible to render MaterialX nodes defined in third-party node definitions using the ARNOLD_MATERIALX_NODE_DEFINITIONS environment variable. (ARNOLD-13398)
  • Estimated render time in the Render Delegate: Add Arnold render status and estimated render time to viewport annotation. usd#1492
  • Camera filters: Add support for camera filtermap and uv_remap. usd#1499
  • Deterministic USD prototype names: This change forces USD to generate non-random prototype names for instances when using the USD_ASSIGN_PROTOTYPES_DETERMINISTICALLY environment variable. This addresses frame stability issues when using Cryptomatte. (ARNOLD-13349)
  • Material scope: Add a Mtl scope for materials when authoring usd file. usd#1486
  • Subsurface ray visibility: Add AI_RAY_SUBSURFACE visibility flag support in the render delegate and procedural. usd#1529

API Additions

  • AiMallocUsableSize(): AiMallocUsableSize() returns how much memory a pointer returned by AiMalloc() is using. This is helpful when paired with AiAddMemUsage() for tracking memory allocation and deallocations. (ARNOLD-13354)
  • Per-object subsurface autobump visibility: The per-object autobump_visibility flag AI_RAY_SUBSURFACE now toggles the appearance of autobump normal perturbations in subsurface scattering effects. (ARNOLD-12989)
  • Support ARNOLD_MATERIALX_NODE_DEFINITIONS in AiMaterialxGetOslShaderCode: The AiMaterialxGetOslShaderCode function will now respect the value of the ARNOLD_MATERIALX_NODE_DEFINITIONS environment variable, and also supports an optional MATERIALX_SEARCH_PATH argument to load 3rd part MaterialX node definitions. (ARNOLD-13398)
  • Forcing node updates: To force a specific AtNode type to be always updated, you can set the boolean metadata force_update to true on the node : AiMetaDataSetBool(node_entry, nullptr, "force_update", true); (ARNOLD-4873)

Incompatible changes

  • Deprecated sss_use_autobump: The sss_use_autobump global option is now deprecated in favor of the per-object autobump_visibility flag. While the global option still works, it now prints a warning when used, and will eventually be removed. (ARNOLD-12989)

Bug Fixes

  • ARNOLD-11789 – AiAOVSampleIteratorGetInvDensity for non-adaptive renders was always 1
  • ARNOLD-11880 – Bright pixel artifacts in atmosphere_volume when using a mesh light with very small triangles
  • ARNOLD-11888 – OIDN doesn’t work if noice denoising AOVs are also output
  • ARNOLD-11900 – AOV samples memory stats report negative value and large unaccounted memory
  • ARNOLD-12774 – Support multipart scanline EXRs
  • ARNOLD-13346 – Set_transform in append mode only considers the first matrix key
  • ARNOLD-13376 – Crash when modifying a mesh referenced by an instancer node
  • ARNOLD-13460 – Strip _forced_box_filter from .ass export
  • ARNOLD-13463 – UDIM tiles greater than 1009 do not render with MaterialX image nodes
  • ARNOLD-13495 – Hang when reading corrupt .ass file
  • ARNOLD-13511 – RLM_DEBUG env var prints weird characters
  • ARNOLD-13512 – Incorrect values in Arnold MaterialX Node Definitions
  • ARNOLD-13523 – Fix slowdown when using big arrays of nodes with the dependency graph enabled
  • ARNOLD-13539 – Log messages from AiScene API incorrectly reference “[ass]” when .ass file are not used
  • ARNOLD-13550 – Quad light sometimes produces NaN artifacts
  • ARNOLD-13615 – AutoTX occasionally uses wrong colorspace
  • usd#1502 – Render delegate crashes with empty arrays
  • usd#1522 – Support UsdPrimvarReader_float2 shader returning the st variable
  • usd#1530 – Fix a crash when a user primvars has an empty array on a keyframe

What’s new in Arnold

Arnold is focused on helping you deliver highest-quality production values and improve pipeline flexibility and scalability. This update brings you native support for Apple Silicon in Arnold for Maya and an improved workflow for texture files. Enhancements to color management workflows in 3ds Max, better USD and MaterialX support, as well as optimization and bug fixes, empower you create colorful, life-like renders that leap off the screen.

Native support for Apple CPUs in Arnold for Maya 2024
Arnold now natively supports running under Apple M series CPUs, such as the M1 CPU. The Arnold for Maya plug-in is now – available as universal binaries, increasing rendering speeds by 20% in selected benchmarks compared to running Arnold in Rosetta emulation mode.

Color management in Arnold for 3ds Max 2024
Arnold for 3ds Max now fully supports the newly added, color management workflows in the latest release of 3ds Max. This brings predictable and consistent colors that will match and fit in with the colors in the rest of your pipeline. When enabled, it relies on built-in, or self-provided, OpenColorIO configuration files. You can now change the default rendering space, define a view transform in the Arnold Render View, and change the input color space for textures default configuration. Arnold also now supports the improved OpenColorIO 2.2.1.

USD improvements
This release contains many USD improvements and bugfixes in the USD procedural and the Hydra Render Delegate, helping you better work with heavy data sets. Arnold USD now supports MaterialX displacement shaders in USD scenes and is available both as part of the Arnold plugins and as an open-source project here:

Improved workflow for texture files
Arnold now enables the automatic generation of optimized TX textures from source textures as part of the rendering process. In this update, the automatic generation is improved and supports using texture files in scenes with different rendering color spaces. Using optimized textures is critical for rendering speed and memory usage and having the TX conversion as part of the core rendering will help those without a dedicated TX workflow to achieve faster renders.

This update contains improved performance and behavior for autobump, support for OpenColorIO, faster scene updates, and multiple Arnold API and usability improvements, allowing you to render more quickly.

Read full release notes


Arnold 7.1


  • Adjust how often imagers are run during IPR: A new options setting has been added called options.imager_overhead_target_percent which can be used to control how often imagers should run during a render. An imager_overhead_target_percent setting of 0 will cause the imagers to only run at the end of the render. The default value of 1 will periodically run the imager during the render so that the overhead from running the imager is no more than approximately 1%. ARNOLD-11750
  • Noice imager runs only at end of render: The noice imager, which is generally too slow for interactive IPR, will no longer run during a render and instead is only run at the end of the render pass. ARNOLD-11761
  • Overrides for specific instances in the instancer: Instead of specifying a value for all instances, overrides for specific instances can be defined by declaring a user data array of instanceidxs_ prefix on the instancer node. ARNOLD-12142
  • Reference time for OpenVDB volumes: The global options.reference_time attribute is now also used as the time the grid data exists, so velocity motion blur is relative to this reference time. Usually this is zero, which for frame-relative time values means “on the frame”, which is typical of OpenVDB simulation data. ARNOLD-12143

USD Enhancements

  • Author defaultPrim in the USD writer : When an Arnold scene is saved as USD, a defaultPrim is now authored, which is needed for nested instances usd#1064
  • Don’t force export of ArnoldOptions: When exporting USD files, we now store the list of authored frames as custom metadatas in the usd file, and no longer need to force the export of the ArnoldOptions primitive usd#963
  • Write shading trees under their material’s scope : When authoring shading trees, the shaders are now written under their material’s hierarchy. usd#1067
  • Support velocity/acceleration in Hydra : Meshes and curves with varying topologies and velocity or acceleration primvars are now supported in the render delegate usd#1039
  • Reduce default subdivision level in Hydra : The different subdivision quality settings in Solaris are now interpreted as (0, 1, 2, 3) subdiv_iterations in Arnold, instead of (0, 2, 4, 8) which was too high for Arnold subdivision usd#1056
  • Control amount of arnold-usd threads when rendering a usd file : A new environment variable ARNOLD_USD_READER_THREADS allows to control how many arnold-usd threads will be used to translate the usd data to arnold when running kick on a usd file. Default value is 0 and means that all threads will be used usd#1055
  • Support light temperature in Hydra : Usd native lights have a light temperature attribute that is now supported in the render delegate usd#1051
  • Default to smooth meshes in Hydra : In the render delegate, meshes are now smoothed by default, as in the usd procedural usd#24
  • Specify which RenderSettings to use when calling AiSceneLoad : A custom parameter render_settings allows to control which RenderSettings primitive to export to Arnold options node usd#1017

API Additions

  • AiRenderSessionGetOptions(): AiRenderSessionGetOptions() will return the render options node used by a given render session. This read-only render options node holds a separate set of options, initialized from the universe options but partially modified for render specific requirements. The differences with the universe copy of the options are mostly related to invalid values that are sanitized for rendering and temporary changes to sample values made during interactive render. ARNOLD-12012

Incompatible Changes

  • Arnold 5 porting guide removed. The Arnold_5_Porting_Guide.pdf has been removed. Arnold-11696

Arnold 7.0.2 Bug Fixes

  • ARNOLD-11945 – Crash when mixing transmission on overlapping meshes
  • ARNOLD-11728 – Performance regression on some scenes introduced in Arnold
  • ARNOLD-11282 – Curve face index assignment to 0xFFFFFFFF causing crashes
  • ARNOLD-11875 – [GPU] Disabling lights interactively only works once
  • ARNOLD-11844 – [GPU] Error when interactively loading scenes with an atmosphere
  • ARNOLD-11782 – [GPU] Crash with empty grids in OpenVDB files
  • usd#933 Set Product Metadata
  • usd#953 AiMsgSet functions need to be called with a render session
  • usd#941 Avoid linking with hdx for older USD versions
  • usd#951 AiResolvePath is not called with a procedural file type
  • usd#962 Support building arnold-usd against USD 21.11

Arnold 7.0.1 Bug Fixes

  • ARNOLD-11141 – Incorrect luminance/blackbody/wavelength when using multiple render sessions with different linear color spaces
  • ARNOLD-11587 – Artifacts on switching texture_use_existing_tx in IPR for OSL shaders
  • ARNOLD-11588 – Switching texture_use_existing_tx does not update in IPR
  • ARNOLD-11636 – Out of range error when reading from Pref user data
  • ARNOLD-11676 – Resetting a face-varying user data does not remove the indices parameter
  • ARNOLD-11697 – Unable to raise GI sample settings from 0 during IPR
  • ARNOLD-11716 – Hang when rendering in free mode fails while another render is running
  • ARNOLD-11746 – Crash in OIDN denoiser
  • ARNOLD-11747 – Crash in node destroy after the render is finished
  • ARNOLD-11756 – Crash with standard_volume assigned to an implicit node
  • ARNOLD-11781 – Artifacts when rendering with CPU, adaptive, progressive and box filter
  • ARNOLD-11784 – Crash when creating and deleting AtUniverses in parallel
  • ARNOLD-11787 – Missing documentation about parameter in AiMsg* API
  • ARNOLD-11806 – Calling AiRenderBegin while rendering can cause a crash
  • ARNOLD-11819 – Crash in AiMsgXxx when creating and deleting multiple render sessions
  • ARNOLD-11825 – Instancer does not propagate user data of type array
  • ARNOLD-11831 – Missing Python bindings for AiParamValueGetPtr/SetPtr
  • ARNOLD-11840 – Confusing deprecation warning with visible lights
  • ARNOLD-11684 – [GPU] Hang with autobump when the displacement shader reads user data
  • ARNOLD-11702 – [GPU] Crash when flushing texture cache with OSL textures
  • ARNOLD-11711 – [GPU] Crash in interactive rendering with some light sampling settings
  • ARNOLD-11717 – [GPU] Crashes when rendering on GPU with Optix denoiser in batch render sessions with a display driver
  • ARNOLD-11804 – [GPU] Infinite values in P AOV on background
  • ARNOLD-11815 – [GPU] Crash in ramp_rgb with curves_only
  • ARNOLD-11612 – [OCIO] Warnings if the OCIO color manager uses a non default config file
  • ARNOLD-11640 – [MaterialX] Silent error when writing materials using the node name as the material name
  • ARNOLD-11654 – [MaterialX] Importing shaders with multiple outputs fails
  • usd#902 Render session is not passed to AiDeviceAutoSelect
  • usd#900 Avoid calling AiRenderBegin if render is already running
  • usd#905 Integer primvar Render Vars fail to render via husk
  • usd#906 Version is not set as default when returning SDR definitions
  • usd#928 Transform from the Point Intancer is not applied to instances
  • usd#918 Rendervars do not show up in Houdini 19
  • usd#915 Volume shader is not applied to the ArnoldVolume primitive in Hydra
  • usd#458 Point instancer should prune the primitives under its hierarchy
  • usd#904 No way to have Point Instancer prototypes hidden
  • usd#924 Writer now saves the default color manager node
  • usd#921 Remap curves primvars to avoid “wrong data count” errors
  • usd#854 Primvars is ignored when rendering basisCurves as b-spline

What’s new in Arnold 7.0?


  • Open Image Denoise imager: Intel®’s Open Image Denoise (OIDN) is a fast, AI-accelerated denoiser that runs on CPU that has been integrated into Arnold as the imager_denoiser_oidn imager as an additional denoising option. (ARNOLD-8677).
  • Higher quality AI denoising: The OptiX and OIDN denoisers now use the newly introduced denoise_albedo_noisy AOV as the albedo feature AOV provided to the denoiser. This adds specular reflections and refractions to the albedo, which can improve denoiser quality. Below are comparisons between undenoised and Optix denoised with the old and new albedo AOV (ARNOLD-10812).
  • LUT based tone mapping: imager_tonemap now supports a lut mode to apply LUT files in all the formats supported by OCIOv2 (cube, look, 3dl, clf among others). imager_tonemap.lut_filename specifies the file to load. Note that some LUTs assume a non-linear color space. To help with this, it is possible to specify a working color space in imager_tonemap.lut_working_color_space to convert to the specified space, apply the lut, and convert to linear or rendering color space again (ARNOLD-11084).
  • Automatic selection of box filtering with OIDN and OptiX denoisers: The OptiX and OIDN denoisers do not perform well with CPU rendering filters that span across multiple pixels. Arnold on CPU will now automatically force a box filter on outputs with filters with known issues when either of the denoisers are used (ARNOLD-10812).
  • Imager_color_curves: A new imager to control brightness and color curves has been added. Separate curves can be authored for each R, G, or B component, along with the main curve to control the overall luminance response. Curve interpolation and working color space can also be set as needed (ARNOLD-11161).
  • imager_tonemap.mix: imager_tonemap now has an additional mix parameter. 0 preserves the input untouched and 1 applies the full node effect (ARNOLD-11172).
  • Ignore imagers option: The global option ignore_imagers has been added to allow users to disable imager post-processing in a scene. This can be useful for debugging and can also be enabled via kick with the -ii flag. (ARNOLD-10720).
  • Improved support for imagers shared by multiple drivers: All imagers, including the denoisers, can now be shared by drivers with different AOV inputs (ARNOLD-11087).
  • Improved imagers refresh rate in IPR: Fullframe imagers will now be updated during rendering so that the imager chain result can be previewed before the entire image has been rendered. This replaces the previous behavior where in some cases we would have to delay the result until after the full frame had finished (ARNOLD-11203).
  • Improved filter performance in progressive rendering: The performance of several filters, including the Triangle, Sinc, Blackman-Harris, Catmull-Rom, and Mitnet filters have been improved when rendering in progressive mode. In some cases, we have seen a 48% improvement in performance and a 20x improvement in memory usage (ARNOLD-10651).
  • Added support for multiple parallel render sessions on CPU: Any Arnold universe can now be rendered using its own render session (only one render session per universe). Those render sessions can be executed in any order, even in parallel.
  • Multiple outputs for shaders: Arnold now supports having multiple outputs for shader nodes. Shader outputs can be linked to inputs of other shader nodes in a .ass file or programmatically via the AiNodeLinkOutput() function by optionally specifying which output is desired when linking. When no output is specified, the node’s default output parameter will be chosen, preserving Arnold’s existing behavior.
  • Visible lights now transparent: The visible lights are now transparent, which matches the behavior of indirectly seen lights. This also has the benefit of allowing black parts of textured lights to be masked away. This is a look-breaking change to fix previously incorrect visible light behavior (ARNOLD-9070).
  • kick ascii render mode: kick -ascii allows rendering directly into the terminal. This requires a 24-bit terminal with UTF-8 support. The windows terminal, most Linux terminals, and iTerm support this; Apple’s Terminal does not. This will change the resolution of the render to fit within the console, so any images written to disk will likely be very small. Because it is so low res, telling kick to use a small bucket size is recommended, for instance by passing -bs 16 to kick. This can be useful for checking if a render on a remote machine is working (ARNOLD-11146).
  • Render in ACEScg by default: Arnold will now use an OCIO color manager by default. This color manager will use the default OCIO configuration file. Arnold will render in the ACEScg color space by default.
  • Standard OCIO configuration: Arnold now ships with a standard OCIO configuration exposing common color spaces used for rendering, such as ACEScg and scene-linear Rec.709-sRGB as well as the ACES 1.0 SDR-video ACES output transform for standard dynamic range video.This configuration is compatible with the default Maya 2022 OCIO configuration. (ARNOLD-11333)
  • Multi-part EXR: The EXR driver can now render AOVs as separate images (parts) in a multi-part EXR file (merged AOVs, in contrast, renders AOVs as layers in a single-part EXR).
  • Write AOVs to multiple formats: It is now possible to output a single AOV in multiple different formats, for example, the following output string will now output the correct result (ARNOLD-11079).
  • OSL UDIMs: OSL now uses the same code as Arnold’s image node for resolving texture tags, such as UDIMs. This can make OSL texture lookups faster and increase the types of texture tags that can be used from OSL. (ARNOLD-9276).
  • SSS setnames with randomwalk: The sss_setname feature that allows subsurface effects to spread between distinct objects is now supported in the randomwalk mode on CPU (ARNOLD-8140).
  • Use Existing TX: When options.texture_use_existing_tx is set to true, which is the default, Arnold will attempt to use the .tx version of a texture when available. The .tx file must be located in the same directory as the requested source texture and have the same name with the exception of the file extension. For instance, if “foo/bar/floor.png” is requested and “foo/bar/floor.tx” exists then “floor.tx” will be used. Arnold will ignore any requested colorspace conversions when the .tx file is used since we assume the .tx will have the colorspace transform baked in (ARNOLD-4107).
  • Support for MaterialX v1.38: Arnold extends its MaterialX support to v1.38. As a part of this upgrade, looks and materials exported from Arnold will now be expressed as a combination of Nodes and Inputs departing from the previous standard of ShaderRefs and Params. Arnold will still be able to render MaterialX documents exported with earlier versions of Arnold however this may cause a look-breaking change.
  • Cryptomatte 1.1.2: Cryptomatte has been updated to version 1.1.2 (ARNOLD-11270).

GPU Enhancements

  • Reduced VRAM use for polymeshes: The amount of VRAM used by polymeshes is significantly lower in this version. Scenes with heavy subdivision will use around 33% less GPU memory for geometry (ARNOLD-8524).
  • Reduced VRAM use for GPU volumes: In 6.2.1 we started to use NVIDIA’s NanoVDB system for rendering OpenVDB volumes on GPU, which greatly reduced the GPU memory required for OpenVDB volumes. In 7.0, compression of NanoVDB volumes has been further improved, so that we see roughly a further 50-60% reduction in GPU memory in typical volumetric scenes. GPU volumes now consume less VRAM than the equivalent CPU volumes consume RAM (note, the red line shows the RAM usage in a separate CPU render). (ARNOLD-11229)
  • Matte support: Support for matte has been added to the GPU integrator. This means the matte closure, matte shader, and matte shape flag are all now supported (ARNOLD-7924).

USD Enhancements

  • USD 21.08: The procedural included in the core SDK is now built using USD 21.08.
  • UsdImaging adapters: Arnold-USD now includes a set of UsdImaging adapters for Arnold specific schemas, that allows direct use of procedurals and Arnold shapes in Hydra. (usd#185 usd#741)
  • Deep rendering: The render delegate now supports rendering of deep AOVs via DelegateRenderProducts. (usd#650)
  • Multiple frames in a single file: The USD writer is now able to append multiple frames to a single USD file. (usd#777)
  • Hydra scene delegate: Arnold-USD now includes an experimental scene delegate for Hydra. (usd#764)
  • Progressive disabled when using Husk: Progressive rendering is now disabled when rendering via husk. (usd#755)
  • Procedural Path Mapping: The procedural now supports Arnold Path Mapping when loading USD files. (usd#818)
  • Custom PrimID Hydra Buffer: The render delegate now uses a dedicated primId AOV to support selections in Hydra viewports. This improves support for render-time procedurals and leaves the built-in id parameter unchanged on shapes. (usd#812)
  • DoubleSided in the Render Delegate: The render delegate now supports the built-in doubleSided parameter on USD primitives and correctly supports overrides via Arnold-specific primvars. (usd#805)
  • Motion Blur using Velocity and Acceleration: The render delegate now extrapolates point positions if velocity or acceleration primvars exist and there are no multiple samples for the position. (usd#673)
  • Light Linking: The procedural now supports light linking. (usd#787)
  • Fast camera updates: The render delegate now handles camera-only updates more efficiently, improving the first time to pixel. (usd#869)
  • Standard Surface Fallback: The render delegate now uses a standard surface as a fallback, when no materials are assigned to a prim. (usd#861)

API Additions

  • Multiple render sessions: with the new support for multiple render sessions, there are many API additions (old API is deprecated and uses the default render session)
  • Multiple outputs: the AiNodeLinkOutput() function now allows the caller to optionally select not only a component of the output but also specify which non-default shader output is desired when linking (ie, non-default output “output_B”, default output component “r”, or non-default output component “output_B.z”). When left unspecified, the default output will be chosen with its full type. OSL shaders’ default output can be linked to either specifically or not, whilst C shaders’ default output are nameless and thus can’t be specified explicitly.
  • Supported extension metadata: all file path parameters can be queried for metadata of type extensions to retrieve supported format extensions. (ARNOLD-11159)
  • Linear Color Space Test: the new `AiColorManagerColorSpaceIsLinear` can be used to efficiently check if a given color space is linear. Color Managers can optionally implement color_manager_color_space_is_linear, otherwise, the default implementation will be used. (ARNOLD-6706)
  • Python bindings for AtParamValueMapIterator API: those were missing from a previous release
  • Python bindings for AiMakeTx API: a new parameter has been added so that it can be applied on different universes (as usual, None is a shortcut for the default universe)

What’s new in Arnold 6.2?


  • Light Mixer imager: This new imager makes it possible to interactively edit the contribution of light group AOVs during and after rendering without restarting the render (core#9838).
  • Bloom in imager_lens_effect: The imager_lens_effect now implements a bloom effect. Bloom or glow is a post-processing effect that will blur pixels above a given threshold across the frame to simulate light bleeding on an imperfect lens. See the (core#9728).
  • Noice denoiser imager: The Arnold Noice denoiser is now also available as a post-processing effect. You can automatically denoise images every time you render a scene, edit the denoising settings and see the resulting image directly in the render view. Note that imager_denoiser_noice does not support temporal denoising (core#9718).
    OptiX denoiser imager: The OptiX™ denoiser is now available as a post-processing effect. The imager also exposes additional controls for clamping and blending the result. (core#9719).
  • OpenColorIO v2 support: Arnold now uses an updated version of OCIO and is able to load and run OpenColorIO v2 configurations. It is fully backward compatible and will load and run existing configurations as before.(core#7827)
  • Up to 256 light AOVs supported: The number of supported light AOVs is now 256, it was 15 previously (core#7802).
  • Faster cell_noise: The cell_noise shader is now about 2.5x faster on CPU and 4.3x faster on GPU. In order to achieve this, we had to make a look-breaking change that manifests as a different random seed (core#9866).
  • New default values for Standard Surface: The base and base_color parameters on standard_surface are now respectively set to 1.0, and (0.8, 0.8, 0.8) by default. Changing base to 1 after connecting base_color to a texture is such a common use case that it’s better to swap the two defaults and avoid having to adjust base every time (core#9128 standardsurface#15)
  • Improved progressive sampling: faster and higher-quality sampling improves progressive and adaptive rendering performance (core#10023).
  • Constant color detection in maketx: Added constant color detection to maketx. maketx/AiMakeTx will by default add the –monochrome-detect flag (core#10179).
  • OpenEXR maketx passthrough: OpenEXR file inputs to maketx/AiMakeTx will now by default generate an OpenEXR based .tx files instead of TIFF based .tx files. –format tif or specifying a non-tx extension in the output filename will still allow for using other filetypes (core#6792).
  • maketx allows by default half TIFFs: maketx/AiMakeTx will now by default allow creating TIFF based .tx files with half floats. Before, passing -d half would by default produce a 32-bit float TIFF .tx file. Beware that most tools do not support half TIFF, so float TIFF or half OpenEXR should be used when the .tx file needs to be used outside of Arnold (core#6792).
  • Faster maketx half TIFF generation: Generating half TIFF .tx files should be several times faster on certain Linux machines (core#10224).
  • Support for OSL shader metadata: Metadata from OSL shaders are now visible on Arnold nodes and can be read via the AiMetadata APIs (core#6718).
  • Limit number of per-light log messages: If there are more than 100 lights, we stop outputting per-light sampling log messages at the regular log verbosity and instead only output these at debug level verbosity. This should help avoid “spamming” the logs when there are many lights in a scene (core#10098).
  • Faster Autodesk Analytics Program: ADPClientService should upload data more quickly and consume fewer CPU resources, especially when there is no internet access (core#9776).
  • Updated single-user licensing: Autodesk Desktop Licensing has been updated to version This version is not compatible with previous Arnold versions and should be installed automatically from plugin installers if single-user licensing is used, or can be updated manually from the Arnold License Manager. It is required only for single-user licensing, network licensing (AdskFlex) and RLM are not affected (core#289).
  • More accurate crash report: When crashes occur while Arnold is running, a stacktrace is printed out. The stacktrace report should now be more reliable and slightly easier to understand (core#9156).
  • More profile blocks added: Most of the Arnold API now has associated profiling blocks so it is easier to determine which Arnold components are consuming the most render time (core#10272).
  • Interactive imagers in kick: kick now displays imagers in interactive mode (core#9836).
  • Faster Apple M1 performance: Arnold should now be able to properly use both the big and small M1 cores (still under Rosetta2) (core#10062).
  • OpenVDB 7.1: Arnold now uses OpenVDB 7.1. More information about the changes between OpenVDB 4 and 7.1 can be found here. (core#9861)

GPU Enhancements

  • Shadow groups: Support for shadow groups has been added (core#9898).
  • Improved start-up times: This version improves the initial startup time when rendering a scene for the first time. On some scenes, we measured up to a 2x speedup in startup time, as well as a 4% speedup in render time (core#10160).
  • Report GPU memory used when there is a GPU crash: Running out of GPU memory is a common problem and can sometimes result in random error messages. We now report the amount of GPU memory that Arnold had available when it first started, which if low could indicate that other applications were using GPU resources and stopping those applications will allow Arnold to succeed, and also report the amount of memory available when the GPU crash occurred, which if low is highly suggestive of an out of memory condition. (core#10261).

USD Enhancements

  • Hydra Cameras: The render delegate now supports physical camera parameters, including depth of field and Arnold specific camera parameters. (usd#31 usd#591 usd#611)
  • Search Paths: The render delegate now exposes search paths for plugins, procedurals, textures, and OSL includes. (usd#602)
  • Autobump Visibility: The render delegate now supports setting autobump_visibility via primvars. (usd#597)
  • Cache Id: The procedural now supports reading stages from the shared stage cache via the cache id parameter. (usd#599)
  • Prefix for Schema Attributes: Arnold schemas now prefix their attributes for better compatibility with built-in USD schemas. (usd#583)
  • Inheriting from UsdGeomXformable: Arnold schemas now inherit from UsdGeomXformable instead of UsdTyped. (usd#558)
  • Authoring extent: Extents on UsdGeom shapes are now correctly authored when using the USD scene format. (usd#582)
  • Creating XForms: The USD scene format now correctly creates UsdGeomXform parents for shapes instead of UsdTyped. (usd#629)
  • Per ray-visibility: The USD procedural now supports per-ray visibilities exported from Houdini. (usd#637)
  • USD 20.11: The USD procedural now uses USD 20.11. More information about the changes between 19.11 and 20.11 can be found here. (core#10209)

API Additions

  • Sample iterator AOV name: The name of the primary AOV of an AtAOVSampleIterator can now be retrieved using AiAOVSampleIteratorGetAOVName(). (core#10193)
  • Copyright notice query: The copyright notices for Arnold can be queried using the AiGetCopyrightNotices() function. (core#10148)

What’s new in Arnold 6?

Better Interactivity

The speed of GPU-based rendering makes it possible for artists to work with near-final quality renders at interactive rates.

  • Artists can get immediate and more responsive feedback when tweaking shaders and adjusting lighting, giving them more time for artistic iterations.
  • Look development artists will benefit from a faster working environment, making it quicker to denoise images and get to the first presentable image or final look.
  • Lighting artists will benefit from efficiency gains with the ability to preview lighting and uncover issues immediately, rather than waiting on overnight renders to see their work and make decisions based on feedback received.

More Flexibility

With a single click, users can switch seamlessly between rendering on the CPU and on the GPU.

  • Arnold GPU is not a separate renderer but uses the same settings, interface, nodes, executables, and codebase as rendering with Arnold on the CPU.
  • GPU rendering is now pixel, feature, and API compatible with CPU rendering in Arnold, empowering users to choose which type of rendering is best suited to their specific needs and workflow.
  • Across production, artists and studios will see optimized workflows and reduced turnaround times between versions, making it easier to manage traditionally labor-intensive tasks.


While CPU rendering provides studios working on larger visual effects and animation projects the flexibility to scale up quickly for final frame rendering, Arnold GPU rendering will make it easier for artists and small studios to iterate quickly and scale up rendering capacity when needed.

  • Arnold users can take advantage of the latest technology and add GPUs for increased rendering power when production demands it.
  • Arnold supports rendering on multiple GPUs, with NVIDIA NVLink™ technology to enable shared memory across GPUs.
  • Arnold GPU is optimized to take advantage of NVIDIA RTX technology, pushing raytracing speed and power.

Improved Features and Support for Arnold GPU

First unveiled in March, Arnold GPU has seen continual updates throughout the year. The Arnold 5.4 release in July brought support for Open Shading Language and OpenVDB volumes, and this update now rounds out the toolset with a number of improvements across lights, shaders, and cameras. The latest updates to Arnold GPU include:

  • Improved support for Open Shading Language (OSL)
  • Improved support for OpenVDB volumes
  • On-demand texture loading: Textures are now loaded on-demand instead of at the start of the render, helping to reduce memory usage and save time to the first pixel.
  • Improved startup time: Time to the first pixel is now faster thanks to a number of improvements including more efficient NVIDIA OptiX™ caching.
  • Reduced BVH memory used by geometry: Bounding volume hierarchy (BVH) memory used by geometry is reduced by as much as 50% for large meshes.
  • Shadow Matte shader: A first version of the new Shadow Matte shader has been added to the GPU renderer.
  • Reduced noise: Excessive sources of noise have been removed, such as indirect noise in refractions or reflections. GPU noise is now on par with CPU noise when using adaptive sampling, which has been improved to yield even faster, more predictable results regardless of the renderer used.
  • LPEs: Most LPEs (39/46 and counting) are now supported on GPU, giving users all of the regular shading AOVs.
  • Lights: The majority of lights are supported, including portals.
  • Cameras: All cameras are now supported.
  • Shaders: Most shaders are supported.

Note that there are still some limitations to rendering with Arnold GPU. Please visit the Arnold documentation portal for more information on supported features and known limitations, as well as hardware and driver requirements for Arnold GPU.

New Arnold USD Components

As part of Autodesk’s continued efforts to accelerate the adoption of open standards to benefit the larger industry, a collection of components for Arnold in the USD ecosystem including Hydra render delegate, Arnold USD procedural, and USD schemas for Arnold nodes and properties is now available on GitHub.

Other New Features in Arnold 6

Arnold 6 delivers a number of new features and improvements to help maximize efficiency and performance:

  • Faster creased subdivs: Hard creases are now fully supported in adaptive and multithreaded mode. This means creased surfaces will use all procs during subdivision.
  • Dielectric microfacet multiple scattering: Rough dielectrics are now energy-preserving by accounting for multiple scattering between micro facets for both reflection and refraction.
  • Physical Sky shader improvements: The physical sky shader now extends the color at the horizon all the way down to the bottom pole.
  • Improved roughness mapping of the Oren-Nayar diffuse BRDF: The Oren-Nayar roughness parameter has been remapped so that values close to 1 no longer result in excessive darkening. This change also improves the Standard Surface and Car Paint shaders.
  • Improved rough thin-wall transmission in Standard Surface shader: Refractions in the thin-walled mode now appear blurry with non-zero roughness.
  • OCIO roles: Roles can now be listed with the color manager API by querying color spaces available in the Role (OCIO) family. This makes it possible to build UIs that list all known roles.
  • Skip RGBA denoising: Noise now accepts -ignore_rgba or -irgba to skip denoising of RGBA even if it’s present.
  • OpenImageIO 2.1.4: OIIO support is now upgraded to 2.1.4.
  • More accurate albedo AOVs: Albedo AOVs now correspond more closely to the true albedos of the material’s BSDFs.
  • New AOV Write Vector shader: A new shader enables the writing of vector values into a vector typed AOV, for example for recording positional values.

For a complete list of updates in Arnold 6, refer to the release notes.

Plug-in Improvements

In addition to new features and improvements in Arnold 6, we have also made several updates to the Arnold plug-ins for Autodesk® Maya®, Houdini, Cinema4D, Katana, and Autodesk® 3ds Max®.

Highlights include:

  • X-Rite AxF support in MtoA
  • Import / export of shading networks between all plugins
  • Arnold License Manager to install, set up, and diagnose licensing

Full release notes for each plug-in are available in the Arnold documentation portal.

A New Way to Buy

Monthly, annual, and 3-year single-user subscriptions of Arnold are now available on the Autodesk e-store, simplifying the process of subscribing to, accessing, installing, and renewing Arnold. Moving the Arnold buying experience to the Autodesk e-store means users now get immediate access to their software when they subscribe and no longer have to install and configure elaborate multi-user license servers when they only need a single seat.

For more information, read the Arnold single-user FAQ.

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

How to Choose the Right 3D Rendering Software

In Depth: How to Choose the Right 3D Rendering Software #3drenderer UPDATED

There are so many renderers available out there, and how does an artist know what to choose? Learn what the different renderers offer.

Flamethrower fumefx

Create a Flamethrower with FumeFX for 3ds Max

Create a realistic flamethrower simulation with FumeFX in 3ds Maxm complete with a realistic blast with rolling fireballs and billowing smoke.

greyscalegorilla displacement materials tutorial

Greyscalegorilla: Displacement Materials in Cinema 4D Using Arnold / Octane / Redshift

Displacement materials and textures can change the topography of your 3D model and bring added depth into your render.  Chad Ashley and Nick Campbell from Greyscalegorilla show you how to set up displacement in Cinema 4D using Arnold, Octane or Redshift with these tutorials.

3D Models World shows how to convert a still image into animated Camera Projection using Autodesk Maya 2022 and Arnold.

Camera Projection with Maya 2022 & Arnold #mayamonday

3D Models World shows how to convert a still image into animated Camera Projection using Autodesk Maya 2022 and Arnold. Maya Monday!

Getting Started with Greyscalegorilla Area Light Maps

Area Light Maps from Greyscalegorilla: Getting Started

Check out the new Greyscalegorilla Area Light Maps tutorial, featuring multiple renderers including Redshift, Octane, and Arnold Render.

Sheen or Velvet Shader in Maya and Arnold #mayamonday

Sheen or Velvet Shader in Maya and Arnold #mayamonday

ReimagineFx walks you through making a spooky ghost with a purple sheen by using the Velvet Shader in Maya and Arnold Renderer.

Corrective Joint Based Rigs by Kiel Figgins

Maya Monday: Corrective Joint Based Rigs

Kiel Figgins, the Lead Animator at Industrial Light & Magic Anim Rigs, shares his collection of Corrective Joint Based Rigs.

Substance Painter Texturing Vintage Theater Chair by Brent LeBlanc

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.

3d renders look fake tutorial

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

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.

Thanos Portal FumeFX

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

Hidden Maya Tricks to Speed Up Your Workflow #MayaMonday

These are not necessarily hidden but often overlooked by artists, even those artists who have been using Maya for years. Get out your notebooks and pens!

The Arnold GPU public beta

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.

spider-verse shader in arnold tut

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 arnold renderer

Cinema 4D and Arnold

Get started with Arnold and Cinema 4D. We're featuring a few useful and fun tutorials for new users and more seasoned users alike.

cinema 4d arnold renderer

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. Today, Arnold.

Autodesk Arnold Renderer

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.

Autodesk Arnold Renderer

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.

Autodesk Arnold Renderer

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.

Autodesk Arnold Renderer

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.

Autodesk Arnold Renderer

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.

Autodesk Arnold Renderer

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.

Autodesk Arnold Renderer

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.

Autodesk Arnold Renderer

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.

Autodesk Arnold Renderer

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.

Autodesk Arnold Renderer

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!

Autodesk Arnold Renderer

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!

Autodesk Arnold Renderer

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."

Autodesk Arnold Renderer

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.

Autodesk Arnold Renderer

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.

Autodesk Arnold Renderer

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.

maya worms tutorial

Dynamic Worms in Maya

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


California Consumer Privacy Act (CCPA) Opt-Out IconYour Privacy Choices Notice at Collection