Share

7.3.7.0 - Arnold User Guide

13 February 2025

Arnold 7.3.7.0 is a feature release bringing improved shadows for glass objects, better global light sampling for glossy materials, faster scene IPR updates, and more improvements and bug fixes.

Enhancements

  • Improved, more realistic shadows for glass objects: Transparent objects like clear glass now cast shadows. The look of the shadow is controlled by the new transmission_shadow_density parameter on the openpbr_surface and the standard_surface shaders. (ARNOLD-6881, ARNOLD-15863, ARNOLD-15828)
0 0.5 0.9 1
transmission shadow density = 0 transmission shadow density = 1
caustics off
caustics on
  • Improved Global Light Sampling (GLS) on glossy materials: GLS now takes material glossiness into account when sampling, which greatly enhances the quality especially when many small lights are present. It causes small slowdowns for fixed AA renders, but for adaptive renders, it brings overall speedups. For example, with adaptive in the robot scene below we achieved 1.7x speedup. This feature can be enabled and disabled using GLS_glossy_enable. (ARNOLD-15489)
7.3.5, fixed AA 7.3.7, fixed AA

Camera(AA): 2, Specular: 1.

  • Optimize handling of interactive object visibility changes: Improved detection of visibility changes gives faster scene updates. (ARNOLD-15708)

  • Control motion keys in alembic: The alembic procedural now has transform_keys and deform_keys parameters to control the number of motion keys (samples) for transformation and deformation blur. You can use these parameters to have a lower number of motion samples in the Arnold representation than in the alembic file. The parameters default to 0, which uses the original number of samples in the alembic file. (ARNOLD-15422)

  • Load and render OpenVDB points: The points node has new parameters for loading points from a points grid in an OpenVDB file. At a minimum, you must set the file_name and file_grid parameters to load an OpenVDB file. Arnold tries to guess the point attributes for position, radius and velocity, but these attributes from the grid can be specified directly if needed. All other point attributes that reasonably map to Arnold data types are available to shaders as user data. Note that not all Arnold plugins expose the points node. (ARNOLD-15663)

  • Update Autodesk Analytics Program: A newer version of the Autodesk Analytics Program (ADP) has been integrated into Arnold. This brings performance and stability improvements. In particular, instead of waiting for five minutes, ADPClientService.exe now quits as soon as Arnold terminates and ADPClientService finishes its processing. (ARNOLD-15396, ARNOLD-12865)

  • Update CER: The Customer Error Reporting (CER) library is updated to v7.1.3. (ARNOLD-13834)

  • Update OpenImageIO: OpenImageIO has been updated to v2.6.3.0. (ARNOLD-13742)

USD enhancements

  • Better Hydra support: Improved compatibility with recent USD versions and Solaris:

    • Handle the DirtyRender tag properly in Hydra. usd#2170
    • Use Stop render instead of Pause render in Hydra, to avoid restarting renders when the user views a difference render output (AOV). usd#2177
  • Add more render statistics: The time taken to read the stage is not included in the Arnold render stats. usd#2190

API Additions

  • Nice name metadata for nodes and parameters - New metadata has been added for setting how a node or parameter name should appear in a UI called ui.name, currently used for openpbr_surface to be named *"OpenPBR Surface"* in LookdevX and MaterialX node definitions. (ARNOLD-15690)

  • Shared Arrays - The new API function AiArrayMakeShared allows you to share a buffer with Arnold instead of copying it to an allocated Arnold AtArray. A shared buffer must not be modified or deleted by the application owning it. Arnold calls the provided callback function passed to AiArrayMakeShared when Arnold is no longer using the buffer. Here is an example that shows a local buffer containing cube points shared with Arnold.

   const AtVector vlist[8] = {{-0.25, -0.25, -0.25}, {0.25, -0.25, -0.25},
                              {0.25, -0.25, 0.25},   {-0.25, -0.25, 0.25},
                              {-0.25, 0.25, -0.25},  {0.25, 0.25, -0.25},
                              {0.25, 0.25, 0.25},    {-0.25, 0.25, 0.25}};
   AiNodeSetArray(polymesh, USTR::vlist,
                  AiArrayMakeShared(8, AI_TYPE_VECTOR, &vlist[0]));

Bug Fixes

  • ARNOLD-7549 - PNG textures with partial alpha render too dark
  • ARNOLD-13414 - maketx crashes with certain tif files
  • ARNOLD-15556 - clip_geo not fully working with instances of procedurals
  • ARNOLD-15828 - [GPU] Shadow artifacts with transmission or opacity
  • ARNOLD-15901 - Random crash when updating instancers
  • ARNOLD-15983 - OpenEXR DWAA float textures read incorrectly
  • usd#2159 - User data errors with deformed meshes and subdivision
  • usd#2168 - Updated code calling SamplePrimvar following the changes in USD 24.08 affecting motion blur.
  • usd#2187 - Cannot override output image with Arnold product types

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

Was this information helpful?