Share
 
 

Arnold for 3ds Max 5.7.2.1 plug-in

Learn about new features in MAXtoA 5.7.2.1 for 3ds Max 2025.2, which utilizes Arnold core 7.3.2.1.

This feature release brings tone-mapping in toon, improved volume denoising, global light sampling support for light linking, better OSL interoperability, an update to OpenVDB 11, as well as multiple bug fixes.

See the release notes for Arnold for 3ds Max 5.7.2.0 and 5.7.2.1 for the full list of recently added features and bug fixes.

Toon tone-mapping

You can now drive the hue and saturation of tonemapping in the toon shader. The toon shader has four new parameters that complement the existing value-based tonemapping parameters. The connected shader's U coordinate drives direct light hue and the V coordinate drives saturation, which enables textures like those below to map the toon shader's response to colored lighting (Note: make sure to set the image's wrapping mode to clamp and filter to closest for best results) (ARNOLD-10687). These toon parameters include:

No base_tonemap_hue_saturation image -> base_tonemap_hue_saturation image -> specular_tonemap_hue_saturation

Color palette images -> base_tonemap_hue_saturation image.offset_u: 0 to 1 (light color is unchanged)

Better volume denoising

Denoising volumes now produces better results. The changes in how volume albedo is computed help the denoiser to keep more details. Ringing artifacts when objects are viewed against the background are also reduced, and a new N_denoise AOV fixes some denoising artifacts visible in low-AA renders. (ARNOLD-14936, ARNOLD-13071)

7.3.1 7.3.2

7.3.1 7.3.2

7.3.1 7.3.2

Many-lights support for light linking

Global light sampling is now applied per group of lights linked to a shape. That can improve rendering performance for scenes with light linking. The ALab scene now renders twice as fast when you use Global Light Sampling. (ARNOLD-14985)

Improved Standard Hair on GPU

The GPU renderer now supports the extra_depth parameter. This enables accurate rendering of blond or bright-colored hair without raising GI_specular_depth.

Improved volume albedo AOV

Volume albedo values are now more physically-based. This improves volume denoising and any LPE AOV using volume albedo is now much more useful for compositing. For backwards compatibility, you can set the new global option legacy_volume_albedo to true. (ARNOLD-13071)

Bake Geometry can now bake to USD

Subdivided and displaced geometry can now be baked to USD, or ASS.

Improved OSL interoperability

The color4, color2, vector4, vector2, and matrix33 are now supported as output types of OSL shaders when connected to Arnold shaders. Additionally, Arnold shaders that output RGBA or Vector2 types can now be directly connected to OSL shader color4 and vector2 input parameters. Those features make it easier to mix Arnold and MaterialX standard library shader nodes. (ARNOLD-1398 ARNOLD-14692)

Update OpenVDB to version 11.0

Arnold now uses the latest OpenVDB library. For the list of changes between OpenVDB version 7.1.1 and version 11.0, see the release notes. (ARNOLD-11217)

Change MtoA Windows installer to MSI

MtoA now has a more integrated installer using the Microsoft Installer Framework (MTOA-1816)

USD Enhancements

  • USD for 3ds Max export improved: With the Arnold plugin configuration, you can now export selected objects (MAXTOA-1734), lights with animation (MAXTOA-1735), and the Procedural, Alembic, USD and Volume objects are now exported correctly (MAXTOA-1750)
  • USD Stages now run in Interactive mode: When interactively rendering a USD stage, only the modified primitives are updated in Arnold which increases the performance of interactive changes (MAXTOA-1772)
  • Cylinder lights: Cylinder lights are saved as UsdLuxCylinderLight primitives - usd#1894

API changes

  • Geometry baking API: You can now bake subdivided and displaced geometry. You can save the baked geometry either in another universe or you can change the geometry in-place in the same universe. Typically, you would bake geometry by looping over scene nodes with AtNodeIterator. Currently, geometry baking applies to polymesh nodes only.(ARNOLD-2815)
    AI_API AtNode* AiNodeGetProcessedGeometry(AtNode* source_node, AtUniverse *dest_universe);

Incompatible Changes

  • Save usdz files to a usdz_tx folder: Previously when reading a .usdz file, any generated .tx files would be saved to a folder named <usdz_filename>.tmp. The .tmp extension may have led users to remove this folder prematurely, resulting in extra work the next time the usdz was rendered. These files will now be written to and read from a folder name <usdz_filename>.usdz_tx. (ARNOLD-14999)
  • Improved volume AOV: The volume albedo AOV and LPE scattering event has been improved. For backwards compatibility, you can set the new global option legacy_volume_albedo to true. (ARNOLD-13071)

Bug Fixes

  • MAXTOA-1779 - The Arnold export mode for MaxUSD was not visible in 3ds Max 2023 due to a difference in python loading behavior. This has been fixed.
  • ARNOLD-14365 - Fix AiNodeGetMatrix to return node matrix instead of identity after node initialization in batch renders
  • ARNOLD-14779 - AtProfiledLockable not compiling on Windows in newer MSVC due to Mutex::native_handle_type
  • ARNOLD-14893 - [GPU] 4MB GPU memory leak per frame
  • ARNOLD-15041 - Arnold does not run on Linux distros with glibc 2.39 (RHEL 9.4)
  • ARNOLD-15048 - Fix OIDN dll name clash with DCCs by renaming OIDN libraries
  • ARNOLD-15060 - Arnold should not catch C++ exceptions it did not generate
  • ARNOLD-15087 - uv_projection shader uses corrupt UVs for evaluating its default_color shader
  • ARNOLD-15121 - [GPU] crash when CUDA error has no message
  • ARNOLD-15122 - Crash destroying a light that is part of a light group
  • ARNOLD-15136 - Random hang when parallel initializing scene
  • ARNOLD-15169 - Crash when modifying a child node from procedural_update
  • usd#1923 - Fix instance primvar indices with multiple prototypes
  • usd#1929 - Ensure subdiv_iterations is not set unnecessarily during procedural updates
  • usd#1932 - Fix a crash when the number of elements in a primvar is not equal to the number of points

Was this information helpful?