Arnold 6.2.1 is a performance release bringing important optimizations on GPU, toon shading, and imagers.
- 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 to 10.15. Note that macOS 11 Big Sur is not certified.
- CPUs need to support the SSE4.1 instruction set.
- GPU rendering works on Windows and Linux only and requires an NVIDIA GPU of the Ampere, Turing, Volta, Pascal, or Maxwell architecture. We recommend using the 460.39 or higher drivers on Linux and 461.40 (Quadro), 461.40 (GeForce), or higher on Windows. See Getting Started with Arnold GPU for more information.
- Optix™ denoiser requires an NVidia GPU with CUDA™ Compute Capability 5.0 and above.
- Light and Shadow linking: The render delegate now supports light and shadow linking. (usd#412)
- Motion blur for the Point Instancer: The render delegate now calculates motion blur when using the point instancer. (usd#653)
- Half and Double precision: Storing data using half or double precision is now supported in both the render delegate and procedural. (usd#669)
- Pause and Resume: Pausing and resuming renders are now supported in the render delegate. (usd#595)
- NodeGraph schemas: The procedural now supports using the NodeGraph schema for shader networks. (usd#678)
- Crease Sets: The procedural now supports crease sets on polymesh. (usd#694)
- Purpose: Usd Purpose is now supported in the procedural. (usd#698)
- Transform2D: The procedural now supports remapping UsdTransform2D to built-in Arnold nodes. (usd#517)
- Write with default values: The scene format now supports optionally writing parameters with default values. (usd#720)
- Velocity blur: The procedural now uses the velocity attribute to create motion keys for point-based shapes, when there are no position keys or the topology changes between frames. (usd#221)
- Multi-Threading: The procedural now uses USD's WorkDispatcher which improves the performance of multi-threaded expansion in many cases. Examples of the performance improvements. (usd#690)
Output information exposed via AtOutputIterator API: Using the following new API functions, it is now possible to query the filter, floating-point bit depth, layer name, and camera of the currently active output of an AtOutputIterator. (core#9860)
License availability check API: The newly added function AiLicenseIsAvailable() checks if there are valid available licenses.
By default, Arnold licenses are now checked out using the host computer name. In previous Arnold versions, licenses were checked out with the name arnold.user
This means that Arnold 184.108.40.206 and an older Arnold, like 220.127.116.11, won't share a license if you render with both versions on the same time on the same machine.
To make Arnold 6.2.1 share a license with an older Arnold, set the environment variable ARNOLD_LICENSE_CLM_USERNAME to arnold.user
- core#10385 [Alembic] The transform_type parameter on the alembic procedural is not applied to child nodes
- core#10459 Crash in AiProceduralViewport with curves inside procedurals in bounding box mode
- core#10410 Crash when rendering EXR files in append mode at high resolution using many AOVs
- core#10386 Crash with single sided implicit objects
- core#7562 [GPU] Crash when destroying some procedurals
- core#10390 [GPU] Crash when loading empty points through a procedural
- core#10422 [GPU] Crash when switching shader presets in Bifrost Graph scene
- core#10478 [GPU] Crash with non-Nvidia GPUs with an old Nvidia driver installed
- core#9682 [GPU] Error during render when reaching the memory limit on one GPU with NVLink
- core#10431 [GPU] Incorrect result and crashes with motion blur on curves when not using the default shutter
- core#10352 [GPU] Incorrect Z AOV on background
- core#10328 [GPU] Overscan region is empty
- core#10419 [GPU] Texture behind glass is blurred
- core#10389 [GPU] Transforming procedurals in IPR does not update geometry position
- core#9751 [GPU] Wrong texture mipmap selected after ray goes through a transparent object
- core#10445 [Imagers] Artifacts with small filmic_shoulder_length value in imager_tonemap
- core#10461 [Imagers] imager_denoiser_noice does not write alpha when using output_suffix
- core#10253 [Imagers] Random crashes when interactively editing the light_mixer channels
- core#10382 [Imagers] Random crash in imager_denoiser_noice when feature buffers are not of type RGB
- core#10409 [MaterialX] Material assignments not working when using <surface_material> in the document
- core#3642 Minor memory leak (464 bytes) when starting a new render session
- core#10432 [OCIO] Unable to determine chromaticities using an aces_1.2 config without an sRGB curve
- core#10279 [OpenVDB] Block artifacts when VDB volumes overlap standard surface interiors
- core#10106 [OSL] Incorrect results when connecting G and B components of an OSL node to another OSL node
- core#10452 Rare hang with C4DToA on Linux
- core#10350 Render progress is not reset after AiRenderBegin
- usd#668 The render delegate does not convert HdInterpolationVarying primvars
- usd#651 Error rendering Usd file with samples in productName
- usd#615 Usd Writer crashes when node name contains a hyphen character
- usd#683 Don't apply skinning if the Usd stage comes from the cache
- usd#508 Nested procedurals ignore matrix in the viewport API
- usd#687 Crash with empty primvar arrays
- usd#679 Attribute subdiv_type should have priority over Usd subdivisionScheme
- usd#282 Primvars are not inherited from ancestor primitives
- usd#579 Subdivision settings not being passed to Usd procedural
- usd#660 Crease Sets and Subdivision scheme is not imported correctly
- usd#215 Issue with instanced primitives' visibility (procedural)
- usd#244 Curves with vertex interpolation on width (procedural)
- usd#718 Inactive render vars are still rendered when using the scene format
- usd#727 Arnold does not use wrapS and wrapT values on UsdUVTexture shader node when rendering UsdPreviewSurface
- usd#724 ID not passed to the shapes generated in the procedural