Arnold 7.4.1.0 now available!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Arnold 7.4.1.0 is a feature release including performance improvements, initial GPU support for Toon shading, a new HTML-based Render Stats Report, and many bug fixes.
Enhancements
- Render stats report: An HTML-based, interactive viewer for the Arnold render statistics. You can quickly visualize and inspect detailed render stats such as frame render time, memory usage, render time by category or by node, and texture usage. If you're using kick, add the -report flag. Arnold plugins like MtoA and HtoA include Render Report options in the Diagnostic render settings. (ARNOLD-14140)
|
- GPU Toon shading: Arnold GPU now includes initial support for the Toon shader and the contour filter. The Toon shader is currently limited to rendering direct lighting only (no reflections, refractions, or indirect lighting). (ARNOLD-15656, ARNOLD-15988)
Toon | Toon + Contour filter |
---|---|
|
|
- Faster procedural instancing: Arnold is faster at rendering scenes with complex hierarchies and point instancers. The new
options.procedural_instancing_optimization
flag usually produces speedups between 1-2x, but for sufficiently complex scenes the speedup can be significantly larger. This new optimization defaults toexhaustive
mode, which gives the most speedup. Exhaustive mode may use more memory; you can switch toconservative
mode to use only the optimizations that do not consume additional memory. This setting is currently only supported for batch CPU rendering. (ARNOLD-14208)
Animal Logic ALab - 1.2x faster | Intel Jungle Ruins - 1.3x faster | Activision Caldera - 18x faster |
---|---|---|
|
|
|
-
Better scaling for parallel scene init/update: The parallel scene init and update are now faster than before, especially on many-core machines. Time to first pixel, interactivity in IPR, and scene processing time for batch renders has improved. (ARNOLD-14902, ARNOLD-15718, ARNOLD-15974, ARNOLD-16114)
-
Light transforms in point instancer: When an instancer contains lights, it now takes their local matrix into account if
instance_inherit_xform
is enabled. (ARNOLD-16028) - Improved Global Light Sampling: Rendering photometric (IES) lights and mesh lights using Global Light Sampling is now higher quality, using the same render settings and taking the same render times. (ARNOLD-13692, ARNOLD-15859)
Before-and-after comparison: improved renders of various IES profiles (with equal render times and render settings)
Before-and-after comparison: improved renders of a motion-blurred mesh light (with equal render times and render settings) - Lights in procedural instances: When you instance a procedural, any lights created by the procedural are copied for each instance. For example, instances of ASS or USD assets with lights now render the lights properly. (ARNOLD-15657)
-
Imager run once mode: Imagers can now be set to run only once, at the end of a bucket or the end of a completed final frame. This can be useful for particularly expensive imagers and can be enabled via the
ImagerProperties::run_once
property. (ARNOLD-12191) -
OpenColorIO 2.4.1: OpenColorIO has been updated to v2.4.1. (ARNOLD-15681)
-
Improved MaterialX support: MaterialX has been upgraded to v1.38.10-OpenPBR, this new version brings support for the OpenPBR MaterialX node, improved Lama support and new nodes such as the NPR nodes. See v1.38.10, v1.38.9 release notes for details. (ARNOLD-15659)
-
Update Autodesk Desktop Licensing installer Arnold now uses Autodesk Desktop Licensing installer version 15.1, which includes the following components: AdskLicensingService 11.16.6.5912, AdskLicensingAgent 5.20.12.4281, and AdskLicensingInstHelper 2.13.1.2514.
USD Enhancements
-
Hydra-based USD translation: When you render USD, Arnold now uses Hydra by default to handle the translation of USD to Arnold, which makes the render consistent with the Hydra render delegate usd#2248. You can roll back to the previous behavior with
options.usd_legacy_translation on
, or by setting the environment variablePROCEDURAL_USE_HYDRA=0
. (ARNOLD-15977). -
Reduced USD memory usage: USD geometry buffers are shared with Arnold, which removes one copy of the scene in interactive mode usd#2148. As an example, rendering a high resolution USD mesh with 30 million polygons now consumes 5.5 Gb instead of 7.5 Gb to render. During batch renders, the Hydra-based USD procedural now releases the USD stage memory once the translation is done usd#2228.
-
Distant Lights normalize support : Distant lights now support the normalize attribute, so you can now disable normalize (before it was always enabled and the normalize attribute was ignored). You can use the Arnold option
usd_legacy_distant_light_normalize
to roll back to the previous behaviour. (usd#2176) -
USD 24.11: The USD procedural now uses USD 24.11.
API Additions
-
Render stats report API:
AiReportSetFileName()
sets the file name so that the render creates a render stats report (an html file).AiReportGetFileName()
gets the render report file name. (ARNOLD-14140) -
Cryptomatte metadata: Common cryptomatte metadata is now included in the Arnold core, so plugins do not require an mtd file for cryptomatte. (ARNOLD-15661)
-
Replace AtImagerSchedule with AtImagerProperties: The
imager_prepare
API has a newAtImagerProperties
structure that provides more control over how an Imager should run. (ARNOLD-15774)Setting Imager bucket / full frame schedules will now work like so:
imager_prepare { if (run_imager_full_frame) properties.schedule_full_frame = true; else properties.schedule_bucket = true; }
-
Improved return values for device selection API: AiDeviceSelect and AiDeviceAutoSelect now return the AtDeviceSelectErrorCode enum instead of an int to better describe the error status of the API call. (ARNOLD-14652)
AtDeviceSelectErrorCode SUCCESS Device selection was successful FAILURE_NO_DEVICES_FOUND No Arnold compatible devices found FAILURE_NAME No matches found for options.gpu_default_names regular expression FAILURE_MEMORY No matching device has free memory greater than options.gpu_default_min_memory_MB threshold FAILURE_INVALID_ID Invalid device id in selection FAILURE_UNSUPPORTED Unsupported device in selection FAILURE_UNKNOWN Generic error
Incompatible changes
This version breaks binary compatibility. Shaders, procedurals, and other plugins compiled against older versions of Arnold are not compatible with this version of Arnold and must be updated and recompiled.
-
Autodesk Network Licensing version: Arnold 7.4 switches to
ARNOL_2026
licensing. (ARNOLD-15400)- Single-user subscriptions will work with Arnold 7.4. The plugin installers automatically register the new version. If you do not use a plugin, then after you download Arnold, open the Arnold License Manager and click Register.
- Existing network licenses will not work with Arnold 7.4. Log on to your Autodesk account to generate your new
ARNOL_2026
licenses. - If you do not run the installers, and you manually register Arnold, then use
--pk C0PR1 --pv 2026.0.0.F
with theAdskLicensingInstHelper
command.
-
Removed sss_use_autobump option: Use the per-object
autobump_visibility
flag. (ARNOLD-15782) -
Removed legacy_volume_albedo: This option is no longer available as the new volume albedo is more useful. (ARNOLD-15782)
-
Removed AiMsgSetCallback(), AiMsgAddCallback(), AiMsgResetCallback(): Use
AiMsgRegisterCallback()
andAiMsgDeregisterCallback()
instead. (ARNOLD-15782) -
Removed AiASSLoad(), AiASSWrite(), AiASSWriteWithMetadata(): Use
AiSceneLoad()
andAiSceneWrite()
instead. (ARNOLD-15782) -
Removed deprecated versions of AiOrenNayarBSDF() and AiMicrofacetSetThinFilm(): Use the version with the same function name but additional arguments. (ARNOLD-15782)
-
Removed AiLoadImage(): Use
AiReadImage()
instead. (ARNOLD-15782) -
Deprecated enable_new_quad_light_sampler and enable_new_point_light_sampler options: The new samplers should always be better, so these options are marked as deprecated and will be removed in a future version of Arnold. (ARNOLD-15782)
-
Distant Lights normalize support : Distant lights now support the normalize attribute, so you can now disable normalize (before it was always enabled and the normalize attribute was ignored). You can use the Arnold option
usd_legacy_distant_light_normalize
to roll back to the previous behaviour. (usd#2176)
- Single full scene update in batch: Arnold now only does a single full scene update for render sessions in batch mode. This can cause issues for plugins allowing the modification of the scene in batch sessions, as dependencies between nodes are not tracked. Plugin developers should use interactive render sessions when modifying the scene. (ARNOLD-15974)
Bug Fixes
- ARNOLD-15713 - [MaterialX] Mix shader does not work as surface shader
- ARNOLD-15723 - No visible layering when layering a dielectric on top of a diffuse Lama shader. In MaterialX, layering of a Lama dielectric node on top of a Lama diffuse node was not generating the correct appearance of the diffuse surface coated with the dielectric. The OSL layering logic in Arnold has been improved to fix this issue.
- ARNOLD-15834 - Sampling noise is now consistent across renders
- ARNOLD-15686 - Utility AOV shader crashes Arnold if skydome has a texture
- ARNOLD-15842 - OSL shader not rebuilt when a parameter is modified
- ARNOLD-15858 - Per-light sampling performance regression fix
- ARNOLD-15892 - Procedural bounds are not updated when its child objects undergo motion transforms
- ARNOLD-15905 - Lens effect doesn't update correctly when the render resolution changes
- ARNOLD-15914 - [GPU] Arnold should throw an error when the shader stack size cannot be determined
- ARNOLD-14467 - [GPU] GPU crash during JIT compilation
- ARNOLD-15939 - Nodes created in procedural_update ignore procedural matrix
- ARNOLD-15942 - Crash when modifying a parameter that triggers procedural reloading during scene update
- ARNOLD-15943 - Procedural bounding box is not recalculated after creating or removing nodes in procedural_update, leading to clipped objects in renders or poor performance.
- ARNOLD-15948 - Crash when destroying an object node from procedural_update
- ARNOLD-15983 - OpenEXR DWAA float textures read incorrectly
- ARNOLD-15993 - Raw drivers receiving incorrect number of samples
- ARNOLD-16000 - Dependencies should not be added when enable_dependency_graph is disabled
- ARNOLD-16005 - Hang in AiProceduralViewport with ginstance nodes
- ARNOLD-16041 - [MaterialX] connections to named nodegraph outputs do not work
- ARNOLD-16050 - [MaterialX] ND_mix_surfaceshader renders black when assigned from materialx operator
- ARNOLD-15985 - [MaterialX] Parameter with "defaultgeomprop" attribute set overrides connection
- ARNOLD-15986 - [MaterialX] Crash when node with the same name exists inside a nodegraph
- ARNOLD-16053 - Triplanar produces artifacts on GPU with some NVIDIA drivers
- ARNOLD-16060 - Lights under procedurals cannot be transformed during interactive renders
- ARNOLD-16073 - Prevent instancer from setting invalid custom names to child nodes
- ARNOLD-16081 - Subdivided meshes included in cached procedurals were not always correctly identified, which might cause differences in the subdivision results
- usd#2201 - Hydra procedural should not modify the input usd stage with shutter range
- usd#2197 - MaterialX textures not applied properly in hydra through mayaHydra
- usd#2208 - Fix unnecessary allocations in the instancer and mesh
- usd#2218 - Fix Hydra warning with orthographic cameras
- usd#2219 - Fix race condition in Hydra with node names
- usd#2224 - Fix warning "HdArnoldDriverMain is already installed"
- usd#2225 - Fix crash in point instancers with missing prototypes
- usd#2232 - Fix incorrect husk render of left-handed indexed meshes with normals
- usd#2234 - Fix warning "Selected Hydra renderer doesn't support prim type 'RenderSettings'"
- usd#2239 - OpenVDB asset with explicit fieldName does not render in Hydra
- usd#1402 - Incorrect transform when exporting parented objects to USD
- usd#2227 - Hydra procedural breaks the Arnold log
- usd#2240 - Default volume shader should be assigned in the USD procedural
System 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 chips are natively supported.
- GPU rendering and OptiX denoising work on Windows and Linux only, and require an NVIDIA GPU with the Maxwell architecture or later.
- On Linux, we recommend 560.35.03 or higher drivers.
- On Windows, we recommend 560.76 or higher drivers.
- Intel OIDN GPU support is limited to:
- MacOS
- Apple native CPUs (M1 and newer)
- Windows
- Intel Xe dedicated and integrated GPUs
- NVIDIA GPUs using Turing or newer architectures
- AMD GPUs with RDNA2 (Navi 21 only) and RDNA3 (Navi 3x) architectures
- MacOS
// Stephen Blair
// Arnold Renderer Support