version 5.0 of the Arnold core rendering library and associated plugins for the main DCC tools. In addition, Autodesk today announced that 3ds Max 2018 ships with Arnold 5, replacing mental ray. Building on Arnold’s leadership in production ray-tracing, Arnold 5 represents an evolution in rendering for artists everywhere. Not just a feature release, Arnold 5 […]
version 5.0 of the Arnold core rendering library and associated plugins for the main DCC tools. In addition, Autodesk today announced that 3ds Max 2018 ships with Arnold 5, replacing mental ray. Building on Arnold’s leadership in production ray-tracing, Arnold 5 represents an evolution in rendering for artists everywhere. Not just a feature release, Arnold 5 also represents a significant transition to a new architecture, paving the way for major developments to come. With a significant update to the Arnold core, faster rendering, new feature additions, enhancements to existing workflows and exciting new capabilities, Arnold 5 will help artists create more stunning imagery than ever.
“We are excited to make Arnold 5 available to artists worldwide,” said Solid Angle founder Marcos Fajardo. “With more than 500 development tickets completed, it has been a true labor of love as the team has really pushed to optimize Arnold and prepare the platform for future development.”
Arnold 5 is available now as a standalone renderer, as well as a plugin for Maya (MtoA), 3ds Max (MAXtoA), Cinema4D (C4DtoA), Katana (KtoA), and soon Houdini (HtoA) and Softimage (SItoA). Individual licenses can be purchased from Solid Angle’s web store. Free trials are also available for download.
Simpler C++ API
At the core of Arnold lies a powerful C++ application programming interface (or API) upon which users can build custom tools, whether they are shaders, geometry procedurals, or translator plugins for the main DCC tools. In Arnold 5, this API has been cleaned of legacy features, refactored, extended and simplified so that writing new Arnold-powered applications is easier than ever, while resulting in faster, more consistent code. Existing applications will need to be recompiled to take these changes into account, although for the most part these are easy changes, described in detail in the technical release notes and accompanying API docs. New APIs have been added for introspecting procedural geometry nodes, creating custom color manager nodes, and preprocessing texture maps into .tx files.
In addition, Arnold 5 introduces a decoupled shading API, and associated BSDF API, that relies on closures. Internally, all of the Arnold built-in shaders rely on closures now. Closures are the groundwork that makes it possible for shaders to benefit from future improvements in global illumination algorithms (such as bidirectional techniques) without having to modify the shaders themselves.
Many subsystems in Arnold 5 have been optimized, resulting in significant speedups during both render start-up and ray-trace time. Large OpenVDB volume caches in particular can load up to 2x faster, specially on highly-threaded machines. Preprocessing .tx textures is now multi-threaded and can be 10x faster. Both the implicit surface and curves geometric primitives are faster to ray-trace. Indoor scenes with multiple GI bounces, as well as objects with high transmission depth, can render up to 2x faster. Opacity-mapped transparent surfaces, such as tree leaves, can render up to 20% faster, specially in machines with many threads. In many cases, images render both faster and with less noise.
Arnold 5 includes several sampling optimizations. New two-dimensional dithered sampling, which improves the visual distribution of noise at lower sample rates, significantly improves sampling results with soft shadows, indirect illumination and depth of field. Direct illumination sampling has been redesigned for quad, disk, and cylinder lights, helping reduce noise for both surface and volumetric lighting with these popular light types. Indirect illumination has been improved and can result in significant speedups for indoor scenes. Taken together, these improvements will allow Arnold users to get better results faster, while still enjoying Arnold’s ability to tackle the most complex production rendering challenges.
Easier to use
One of the main goals of Arnold 5 is ease of use. While the previous Arnold architecture has been tremendously successful for over five years, common workflows were identified that resulted in wasted time and effort. Arnold 5 simplifies some of these workflows. Installation and deployment is easier, particularly in the cloud, with fewer moving parts thanks to built-in libraries such as OpenVDB 4, as well as an extensive set of new built-in shaders that eliminates the need for 3rd-party shader libraries. Similarly, an advanced VR camera node comes with Arnold out of the box. Procedural geometry and volume plugins no longer need to provide or guess bounding boxes, and namespaces make it easier to assemble complex scenes that reuse assets without shader naming conflicts. Mirror reflection and glossy reflection are combined into a single “specular” ray type. Image-based lighting is easier to set up thanks to new built-in visibility flags in the skydome light, which is now automatically visible in camera, reflections and refraction. Maintaining a linear workflow is easier than ever thanks to a new color space manager that replaces clunky gamma settings. Hair UVs are easier to specify and use. Internal cleanups made it possible to remove several obscure render options as well as node attributes, which resulted in an even simpler user interface presented to the artists. Many other little corners of the renderer have been sharpened and simplified for a more satisfying out-of-the-box experience.
Arnold 5 ships with several new built-in shaders. These shaders are physically accurate and will allow artists to push the boundaries of realism with their renders:
The new Standard Surface shader is an energy-conserving, physically-based “uber” shader capable of producing many types of materials and looks. It includes a diffuse layer, a specular layer with complex Fresnel for metals, rough specular transmission for glass, subsurface scattering for skin, single scattering for water and ice, a secondary specular coat, and light emission. Compatible with the Disney principled material (aka PBR shader), it makes it easy to transfer materials from other applications. The shader is very efficient, taking advantage of new GI sampling techniques for faster rendering, and also supports per-light AOVs. This shader makes the older “standard” shader deprecated.
Standard Hair is a physically-based shader to render hair and fur, based on the d’Eon model for specular and Zinke model for diffuse. Realistic results can be obtained by setting a few simple parameters for the base color, roughness and index of refraction. Realistic tones for human hair can be easily achieved with controls for not one but two types of melanin. Unbiased, hair-to-hair multiple scattering is supported, and thanks to specialized sampling techniques is efficient enough to be used in production without resorting to dual scattering or other tricks. The older “hair” shader is now deprecated.
The Standard Volume shader simplifies rendering of smoke, clouds, and explosions, without the need to create convoluted shading networks. The shader provides independent control of density, scattering color and transparency, in a way that is energy conserving by default. Fire can be rendered using blackbody emission driven by temperature. Each component can be controlled by a volume channel coming from the volume object. Optionally channels may be entirely procedurally driven and displacement can be used to add more detail to volumes.
More than 80 optimized and powerful utility shaders, some of which were previously shipped with the MtoA/HtoA/C4DtoA plugins, are now built into the Arnold core rendering library. This greatly simplifies the sharing of assets across DCC apps and pipelines, as there is no need to worry about shader paths or out-of-date libraries. These shaders include mix, thin_film, blackbody, flakes, normal and vector mapping, triplanar, jitter, and curvature, as well as math building blocks like add, multiply, length, etc.
With 5.0, shaders can now be written in both C++ and Open Shading Language, an advanced shading language for production GI renderers. OSL shaders placed in the shader search path are automatically registered as Arnold shader nodes, with their parameters converted to Arnold parameters. Once loaded, they can be inspected, instantiated and linked in exactly the same way as C++ shaders. OSL shaders can be used to implement anything from simple texture patterns to full materials using closures.
Light Path Expressions (LPEs)
Light Path Expressions are used to extract and write specific lighting components into separate AOVs. In addition to the existing mechanism for defining simple per-shader AOVs, individual shaders can now define AOVs for direct/indirect light and various layers with a regular expression syntax to define the subset of all scattering and emission events in the scene that should be written to each AOV. Built-in AOVs are available for the common cases, as are light group AOVs. LPEs provide power and flexibility for creating AOVs to meet the needs of production.
Improved color management
Arnold now natively supports both synColor and OCIO for better handling of input (textures) and output (rendered images) color transforms, and can be extended with custom color manager nodes. This makes it easier for the renderer to perform all its internal calculations correctly in a radiometrically linear space. The older gamma settings have been removed. In addition, wavelength-dependent spectral effects such as refractive dispersion, blackbody radiation and physical sky are now more accurate.