What is Arnold?
Arnold software is an advanced Monte Carlo ray tracing renderer that helps you deliver beautiful and predictable results.
- Navigate through the software with simple and intuitive controls.
- Produce professional-grade renders with full artistic control.
- Get immediate results with interactive rendering.
Key features of Arnold 2023
From furry creatures to wondrous landscapes, the robust Arnold toolset helps artists render professional-grade 3D characters and complex scenes with ease.
Switch seamlessly between CPU and GPU rendering.
High-performance ray-traced subsurface scattering eliminates the need to tune point clouds.
Hair and fur
Memory-efficient ray-traced curve primitives help you create complex fur and hair renders.
3D motion blur interacts with shadows, volumes, indirect lighting, reflection, or refraction.
Render effects such as smoke, clouds, fog, pyroclastic flow, and fire with volumetric rendering.
Efficiently ray trace instances of many scene objects with transformation and material overrides.
Subdivision and displacement
Create smooth, curved surfaces with support for Catmull-Clark subdivision.
Open Shading Language (OSL) support
Use Open Shading Language (OSL), an advanced shading language for Global Illumination
Light Path Expressions
Get power and flexibility to create Arbitrary Output Variables with LPEs to help meet the needs of production.
Use another means of tuning images to reduce render times without jeopardizing final image quality.
In combination with the Contour Filter, an advanced toon shader provides a non-photorealistic solution.
Powerful denoising solutions offer you the flexibility to use much lower-quality sampling settings.
Arnold is an advanced cross-platform rendering library, or API, used by a number of prominent organizations in film, television, and animation, including Sony Pictures Imageworks. It was developed as a photo-realistic, physically-based ray tracing alternative to traditional scanline based rendering software for CG animation.
Arnold uses cutting-edge algorithms that make the most effective use of your computer’s hardware resources: memory, disk space, multiple processor cores, and SIMD/SSE units.
The Arnold architecture was designed to easily adapt to existing pipelines. It is built on top of a pluggable node system; users can extend and customize the system by writing new shaders, cameras, filters, and output driver nodes, as well as procedural geometry, custom ray types and user-defined geometric data. The primary goal of the Arnold architecture is to provide a complete solution as a primary renderer for animation and visual effects. However, Arnold can also be used as:
- A ray server for traditional scanline renderers.
- A tool for baking/procedural generation of lighting data (lightmaps for videogames).
- An interactive rendering and relighting tool.
Why is Arnold different?
Arnold is a highly optimized, unbiased, physically-based ‘Monte Carlo’ ray/path tracing engine. It doesn’t use caching algorithms that introduce artifacts like photon mapping and final gather. It is designed to efficiently render the increasingly complex images demanded by animation and visual effects facilities while simplifying the pipeline, infrastructure requirements and user experience.
Arnold provides interactive feedback, often avoiding the need for many render passes and allowing you to match on-set lighting more efficiently. By removing many of the frustrating elements of other renderers, Arnold fits better with your work-flow, produces beautiful, predictable and bias-free results, and puts the fun back into rendering!
- Pure ray-tracing solution for film production rendering
- Unbiased, physically based uni-directional path tracer
- Cross-platform (Windows, Mac OS X, Linux)
- Flexible and extensible node based architecture
- User data definition (primvars)
- C++ API (with Python bindings)
- Ray server capabilities
- Reduced number of parameters to tweak
- Progressive refinement
- Progressive modification of the scene elements
- Takes full advantage of multi-core CPUs and SSE units
- Support for extremely large polygon meshes with low memory footprint
- Analytically ray-traced curves in ribbon and thick (cylinder) modes. Optional screen-space width constraints at render time
- Points primitive for efficient rendering of hundreds of millions of particles
- Analytic primitives (box, cone, sphere, cylinder, disk, plane)
- Non-trimmed NURBS
- Implicit surfaces
- Volumes (including native support for OpenVDB)
Subdivision and Displacement
- Catmull-Clark and linear subdivision
- Adaptive subdivision based on an arbitrary camera
- Vector Displacement
- Optimized for large numbers of instances
- Transform and shading overrides
- Deferred creation of geometry nodes at render time
- Modular assembly of scenes (DSO, .ass, .ply, .obj)
- Recursive procedurals
- Perspective, fisheye, spherical, cylindrical, orthogonal, VR
- Bokeh effects
- Depth of Field
- API for writing custom cameras
- Filtermap for vignetting-like effects
- UV remapping for custom lens distortion
- Built-in drivers for common formats (JPEG, TIFF, PNG, EXR)
- Deep Image Data support (EXR)
- Arbitrary Output Variables (AOV) of any data type
- Per-AOV filtering
- API for custom drivers
- Based on a custom branch of OpenImageIO
- State-of-the-art anisotropic filtering
- On-demand loading of texture tiles
- In-memory cache for efficient rendering of huge texture data sets
- Low-latency texture lookups optimized for up to 256 threads
- Per-file texture checksums to avoid reloading files with identical pixel content
- Efficient Transformation and deformation motion blur
- All parameters can potentially support motion blur
- High-quality area lights (quad, disk, cylinder, sphere, mesh, skydome, IES) with multiple importance sampling
- Image-based lighting in skydome and quad lights with importance sampling
- Light filters (attenuation, gobos, blockers…)
- Homogeneous and heterogeneous volumetric participating media
- C++ API for programmable shaders
- OSL support for programmable shaders
- Physically-based BSDFs
- Procedural texturing primitives (Perlin noise, fractal noise, cellular)
- Message passing
- Pointcloud-less, ray-traced sub-surface scattering
Native scene description format (ASS)
- Human readable, easy to tweak
- Standalone rendering via kick
- Pipeline friendly
- File concatenation, easy building of assemblies
- Debug modes as a native function of the renderer
- Complete rendering process log
- “Ignore” options and utility shaders
- Floating licenses
- Single-user licenses