Share

7.4.4.0 - Arnold User Guide

12 November 2025

Arnold 7.4.4.0 is a feature release that includes improved Global Light Sampling, a new scattering mode for hair shader, faster textures, a better bloom lens effect, and much more.

Enhancements

  • Increased Global Light Sampling (GLS) robustness and added support for light spread: GLS is now more robust, and GLS takes the spread parameter of quad and disk lights into account. This typically reduces noise when lights have a narrow spread, or the spread is close to the light edges. We have observed up to 6x faster renders in some test scenes with especially tricky lighting. In the below back-alley scene, which has a more common lighting setup with some lights with a spread, this gives a 1.4x-faster render. (ARNOLD-13684, ARNOLD-16610 and ARNOLD-16551)
  • Scattering mode for standard hair: A scattering option scattering_mode has been added to the standard hair shader. Use the approximate mode to get the previous behavior. The accurate mode can be noisier, and so takes about 10–30% longer to render, but delivers more realistic results, especially in close-ups, by simulating each hair as a cylinder instead of flat surface. The adaptive mode uses the accurate mode for close-up hairs and the approximate for far-away hairs, automatically balancing quality and performance. (ARNOLD-16726, ARNOLD-16852)
  • Improved performance when auto-generating or using existing TX files: Checking for existing TX files and auto-generating missing ones is now significantly faster, reducing time-to-first-pixel when using texture_use_existing_tx or texture_auto_generate_tx. As the charts below show, speedups are most pronounced on many-core machines, particularly on Windows. (ARNOLD-13116)
  • Improved bloom lens effect: The lens effects imager has improved bloom modes that can run in a fraction of a second and produce more interesting bloom effects. The new aperture bloom mode procedurally mimics the bloom defined by a physical camera and you can control the size with bloom_strength, and the shape and number of spikes with aperture_blades and aperture_curvature. The other new mode, shape_file allows you to load a bloom kernel from disk. (ARNOLD-10882, ARNOLD-16614)
  • Improved OpenPBR Surface thin film: Thin film is now more physically correct, with improved energy conservation. Note that this may produce a significant change in hue in existing assets. Note also that this change has not been applied to the Standard Surface shader, for backwards compatibility. (ARNOLD-15981)
  • Enhanced parameter override support for GPU rendering: Parameter overrides now function consistently across both CPU and GPU, providing significantly improved robustness, especially in complex scene graphs with overrides on instanced procedurals. (ARNOLD-8663)

  • GPU denoising on Linux and NVIDIA Blackwell support: The OIDN denoiser can now make use of NVIDIA GPUs in Linux. The 2.3.3 OIDN upgrade brings in support for NVIDIA Blackwell GPUs, such as the RTX 50x series cards, and AMD RDNA4 GPUs. (ARNOLD-15745, ARNOLD-16201)

  • Reduced GPU memory usage for instances: GPU acceleration structures of instances are now compacted in order to save GPU memory. For example, in a scene with one million instances, this reduces GPU memory usage from 195 MB to 167 MB. (ARNOLD-16556)

  • GPU support for motion vector shader: The motion vector shader is now supported in GPU rendering. (ARNOLD-15172)

  • Sampling mode for lights: Lights have a new sampling_mode enum parameter which controls the type of sampling used for that light. In the default auto mode, the light is either sampled according to the global light samples render options if enabled or the local sample settings. In local mode, the light is sampled according to the light's samples and volume samples parameters, and will be sampled separately from lights that are covered by global light sampling. Local mode helps to make sure that important, hard-to-sample lights receive enough samples. (ARNOLD-13467, ARNOLD-16746)

  • Increased the maximum number of samples for Global Light Sampling: The maximum number of samples used by the global light sampler is now 1024, for both GPU and CPU. (ARNOLD-16552)

  • Light blockers with negative density: Light blockers with ramps and negative density values are now supported. (ARNOLD-16338)

  • Control whether mesh lights cast shadows: You can now make mesh lights invisible to shadow rays so that they do not cast shadows. This makes mesh lights behave like other light types, which also do not cast shadows. You use the polymesh visibility flag to control mesh light shadows. (ARNOLD-15560, ARNOLD-16803)

  • Separate statistics for frame and session data: During interactive renders, Arnold now tracks two types of statistics: per-frame for individual frame renders and per-session for accumulated values normalized across the entire render session. The log outputs statistics for each frame in addition to the session statistics, while statistics JSON files contain the final frame statistics and session statistics. This separation helps a user analyze both the performance of individual frames and the overall render session. (ARNOLD-16735)

  • Render Report: enhanced statistics visualization: The Arnold Render Report now displays both per-frame and session statistics during interactive renders. Additional improvements include stacked bar graphs for better visualization of these statistics and other user experience enhancements. (ARNOLD-16736)

  • compare_string shader: Arnold now has a compare_string shader that supports equals and not equals comparisons between two strings. (ARNOLD-12978)

  • Total render time in EXR metadata: When appending to a previous render, total render time is accumulated and updated in the EXR metadata. (ARNOLD-15565)

  • Support crypto_object_offset along with crypto_object user data: crypto_object and crypto_object_offset user data can now be used together on shapes. Now the cryptomatte key contains both user data values, appended to each other. (ARNOLD-16825)

  • kick custom arguments with scene format plugins: You can use the new kick argument -sceneload_arg %s %s to pass options to scene format plugins. -sceneload_arg takes two strings: the option name and its value. This allows you to specify a custom render settings primitive when you kick a usd file. For example, kick scene.usd -sceneload_arg render_settings /Render/settings2 renders using the render settings primitive named "/Render/settings2" (ARNOLD-9865)

  • Default denoiser option for kick: The kick -default_nodes flag has a new denoiser option that adds the OIDN denoiser if no denoiser is present. (ARNOLD-16641)

  • Overlay imager cross-platform support: The overlay imager now renders with an equivalent system font if the specified font is not available. For example, some commonly used Windows fonts, like Arial and Courier New, are replaced with Liberation or DejaVu fonts on Linux and vice versa. (ARNOLD-16892)

  • Add inference_device parameter to Inference imager on macOS: We have added the inference_device parameter to the inference imager on macOS to improve parameterization consistency across platforms and to simplify usage. (ARNOLD-16846)

USD Enhancements

  • MeshLight API Support: When a MeshLight schema is applied on a mesh, the mesh now behaves as a mesh light. usd#2390
  • Verbosity override: kick -v now correctly overrides any verbosity settings stored in the usd files. usd#1633
  • Support multiple AOVs with the same source: It is now possible to have multiple AOVs having the same source and different filters in the RenderProduct. usd#2331
  • Render settings resolution with windowNDC: If the render resolution is explicitly set in the render settings AND a windowNDC is provided, we correctly set the render region and keep the resolution. usd#2440
  • Imager interactivity improvement: When an imager is updated the IPR renders are not restarted anymore. usd#2452

API Changes

  • Unify search paths: Procedural and texture search paths are now unified into a new asset_searchpath. LUTs for the tonemap imager also use this new search path. (ARNOLD-16486)

  • Chiang hair BSDF available in OSL: A new closure, chiang_hair_bsdf, is now available for use in OSL. This closure corresponds to the BSDF used in the standard hair shader with scattering_mode set to accurate. (ARNOLD-16326)

  • Chiang hair BSDF available in OSL: A new closure, chiang_hair_bsdf, is now available for use in OSL. This closure corresponds to the BSDF used in the standard hair shader with scattering_mode set to accurate. (ARNOLD-16326)

  • interactive_target_fps: The fps targets for IPR can now be controlled by setting interactive_target_fps only. interactive_target_fps_min and interactive_fps_min are still available, but sensible defaults are set if values are not provided. (ARNOLD-16219)

  • AiLibraryPath: Added new API function, returns the path to the directory that the Arnold library is located in. (ARNOLD-16642)

Incompatible Changes

  • Linux minimum raised to RHEL/Rocky 8: Arnold no longer supports CentOS 7 and now requires at least RHEL/Rocky 8 or a similar distribution. Newer versions of Linux, such as Rocky 9, should work but are untested. Other distributions may work if they use glibc 2.28 or newer. (ARNOLD-15746)

  • Hue shift with OpenPBR Surface thin film: The energy conservation changes can produce a significant change in hue when using thin film in OpenPBR. (ARNOLD-15981)

  • Mesh lights do not cast shadows when shadow visibility is disabled: In previous versions of Arnold, mesh lights cast shadows. You can now control this using the source polymesh visibility flag, so mesh lights will cast shadows only if the polymesh is visible to shadow rays. (ARNOLD-15560)

  • Deprecated simple bloom mode: The simple bloom mode and its bloom_radius parameter are now deprecated. Instead, use the new aperture mode with a curvature of 1 to get a round bloom, and bloom_strength instead of bloom_radius to adjust size of bloom. (ARNOLD-16928)

  • Scene creation time stats: The scene creation time stat has moved under "frame time". Now "frame time" will be larger and should report the true total time it took to make that frame. (ARNOLD-16735)

  • Parameters deprecation: The procedural parameters threads, debug, and hydra are now considered legacy and deprecated. usd#2418

Bug Fixes

  • ARNOLD-12517 - Filename starting with / or ./ do not work with search paths

  • ARNOLD-15987 - Crash when using camera.filtermap parameter with GPU rendering

  • ARNOLD-16176 - Existing forward references to linked nodes are removed when immediate values are set for shader links

  • ARNOLD-16780 - Apply path mapping and environment variable expansion to directly-referenced .tx files

  • ARNOLD-16780 - Avoid searching for texture files in the autotx target path

  • ARNOLD-16780 - Fix bug when AiResolveFilePath is passed an absolute path

  • ARNOLD-16788 - Fix incorrect gpu_support metadata

  • ARNOLD-16833 - Render Report displays milliseconds 10x too small

  • ARNOLD-16857 - Continuous full-scene update after cryptomatte update when dependency graph is disabled

  • ARNOLD-16862 - Render Report: pixel rendering sample iterations are output as microseconds

  • ARNOLD-16868 - Render Report: warning page incorrectly defaults to performance page

  • ARNOLD-16900 - Blurry cryptomatte on CPU when scene contains an OIDN or OptiX denoiser

  • ARNOLD-16932 - Geometry hit stats can sometimes be incorrect

  • ARNOLD-16933 - Polymesh stats not decremented when deleting polymesh nodes

  • ARNOLD-16947 - Crash on operators with nested instanced procedurals containing lights

  • ARNOLD-16973 - Deep alpha generates rare NaNs when opacity AOV is not used

  • ARNOLD-17023 - Non-rectangular quad_light disables other lights

  • ARNOLD-17040 - Use TX file in temp directory if it already exists

  • usd#2391 - Remove warnings when rendering with an Arnold camera

  • usd#2441 - Fix invalid motion ranges caused by motion_start and motion_end attributes

  • usd#2415 - Incorrect transform when exporting complex object hierarchy to USD

  • usd#2408 - Fix render region calculation when based on windowNDC

System Requirements

  • Windows 10 or later, with the Visual Studio 2019 redistributable.
  • Linux with at least glibc 2.28. This is equivalent to RHEL/Rocky 8.
  • macOS 11 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)
    • Linux
      • NVIDIA GPUs using Turing or newer architectures
    • 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?