3ds Max 2027.2 includes Arnold for 3ds Max (MAXtoA) 5.9.3.0. New features include support for rendering 3D Gaussian Splatting scenes, an improved noice denoiser, the new Shader to RGBA and tone zones nodes for non-photorealistic rendering, faster GPU scene updates, and more.
Arnold also now works with native 3ds Max 3DGS data, including the new points object type. Additionally, you can use Arnold with the Point Instance modifier to take advantage of render time instancing.
See the MAXtoA release notes for the changes in each MAXtoA version.
MAXtoA 5.9.3.0 includes a Tech Preview of Flow Render, an Arnold cloud-rendering solution. We are providing 2400 minutes (per user, per month) of rendering time to Arnold users for testing and evaluating the service. Please report any feedback or issues in the Arnold forums.
See the Flow Render Tech Preview documentation for more information.
MAXtoA now supports rendering 3D Gaussian Splatting (3DGS) scenes. You can load gaussian splats directly into 3ds Max and render them with Arnold. The Render Setup has a new global option for the Min Pixel Width of gaussian splats. You can override the Min Pixel Width on a per-object basis with the Arnold Properties Modifier. (ARNOLD-16779, MAXTOA-2149, MAXTOA-2163)
There is also a simple, file-based Gaussian Splats object (note that this Gaussian Splat object does not have a viewport representation).

Polygonal mesh fish with Gaussian Splats coral

Flower Gaussian splats
Previously, the noice denoiser could produce overly-blurred denoised images even with sufficient samples. This noice improvement also fixes occasional black pixel artifacts introduced by the denoiser. The variance parameter on the noice imager has been renamed to filter_strength; the old name is still accepted as a synonym. The standalone tool's --variance/-v flags are kept as aliases for --filter_strength/-k. In the example below, note the improved denoising of the sweater, the fur, and the whiskers. (ARNOLD-14879)
The new shader_to_rgba node evaluates lighting for a surface shader (such as openpbr_surface) and outputs the result as RGBA that you can use in a shading tree. For example, you could feed those RGBA values into a ramp for non-photorealistic rendering. Both direct and indirect illumination are available as separate outputs, and a light group filter allows for per-light stylization. shader_to_rgba works on both CPU and GPU (out_indirect is not yet available on GPU). (ARNOLD-17679)

OpenPBR Surface > Shader to RGBA > Tone Zone shader
Several optimizations make GPU scene updates noticeably faster, especially for interactive edits to meshes, with update times reduced by up to 43%. (ARNOLD-17720, ARNOLD-17721)
The new tone_zones node splits lighting into up to eight discrete brightness bands for cel-shading and non-photorealistic-rendering workflows. Zone widths are defined as simple ratios and stay stable across exposure changes. Each zone outputs a tint color and a mask that you can use for compositing. You can soften boundaries between zones independently, and chain nodes to further subdivide a zone. (ARNOLD-17680)

You can now query point clouds for up to 1024 nearest points, and the pointcloud_search and pointcloud_get built-in functions now work on GPUs. (ARNOLD-17285, ARNOLD-17364)
In the AOV window, you can set different compression modes for each AOV in a multipart EXR file. (ARNOLD-15669, MAXTOA-2166)
Loading meshes from PLY files is now generally about 1.2x to 1.4x faster. (ARNOLD-17584)
Instead of erroring out, the Overlay imager now tries to render with a default system font, like Arial or Liberation Sans, if the user-specified font is not available. (ARNOLD-17759)
Render reports now include the options node parameters (Arnold's global render settings), so you can see exactly which settings were active when reviewing performance data. (ARNOLD-17099)

kickYou can now override node and string array type parameters, such as options.drivers or options.outputs, using the -set command in kick. (ARNOLD-17816, ARNOLD-17821)
The Arnold options have two additional attributes ignore_motion_transform and ignore_motion_deform that can disable the two types of motion blur independently. (ARNOLD-17112)
OSL has been upgraded to version 1.14.2.0. (ARNOLD-17651)
MaterialX has been upgraded to version 1.39.5. (ARNOLD-17572)
![]() |
![]() |
| MaterialX Flakes | MaterialX Hextiled |
OpenColorIO has been upgraded to version 2.5.2. (ARNOLD-17725)
File uploads are no longer limited to 5 GB, as large files are now uploaded in multiple parts. (ARNOLD-17554)
Render outputs and camera are now verified when the scene is submitted and will trigger a submission failure when missing. (ARNOLD-17661)
The new lightweight instancing scheme has now been extended to nested procedurals. usd#2583
In Hydra 2, Render passes now support the matte attribute with Arnold. usd#2549
ArnoldNodeGraph primitives are now correctly resolved when the USD file containing them is referenced into a larger stage. usd#2645
Arnold now has preliminary support for reading the USD 26.03 ParticleField3DGaussianSplat schema, allowing Gaussian Splat data authored in USD to be rendered. usd#2608
Arnold now implements the current UsdLux lighting standard for USD lights, enabled by setting the options node usdlux_version parameter to 25.05. Cone shaping (cone angle, softness, focus, and focus tint) and IES photometric profiles now work on all light types (cylinder, disk, quad, and mesh lights, not just spot and sphere lights), together with IES orientation, angle-scale, and brightness-normalization controls. See USD Lux for the full feature list and more examples. usd#2439
Cone angle: You can restrict area light emission to a cone around its primary axis:
![]() |
![]() |
![]() |
| Cone angle 10 | 20 | 30 |
IES profiles: You can now use IES profiles with non-sphere lights.
![]() |
![]() |
| Sphere | Cylinder |
Hole indices are now supported in UsdGeomMesh for non-subdivided meshes. usd#2632
Arnold's texture system can now be extended with live, procedural image data. Plugin authors register a custom URI prefix with AiTexturePluginRegisterURI() and supply pixels through AtTexturePluginCallbacks when an image shader points at that URI. Arnold treats the result like any other texture, including filtering and mipmapping, but the pixels can be generated on demand instead of being read from disk. That makes it practical to wire in host-native procedural sources without baking intermediate files. See ai_texture.h for the callback interface and an example implementation. (ARNOLD-17820)
Profiling data can now be explicitly written to the profile file and cleared (reset). Previously, profile data was written and reset only when Arnold was unloaded or when the process exited. Two new functions have been added for this purpose: void AiProfileWrite() and void AiProfileReset(). Note that both functions immediately resume collecting profiling data after execution. (ARNOLD-11923)
To support per-subimage compression for multipart EXR files, the EXR driver compression parameter is now a string array. This allows you to use a different compression type for each subimage. (ARNOLD-15669)