The roots of Solid Angle date back to 1997 when founder Marcos Fajardo had the realization that a brute-force path tracing solution to the rendering equation could be optimized to produce previously unattainable imagery. His early ray tracing code was integrated into WYSIWYG, a stage lighting design tool, helping Toronto-based CAST Software secure an Engineering Emmy Award. The inspiration and itch to work in film production was sparked by a 1998 visit to Blue Sky Studios in New York, where co-founder Carl Ludwig showed Marcos beautiful and intriguing images rendered with their pioneering Monte Carlo ray tracer. Arnold was born shortly after.
One of the first uses of Arnold was by Spanish animator Daniel Martinez Lara, who in 1999 released the animated short Pepe, creating ripples in the CG world. Ruairi Robinson’s short film Fifty Percent Grey, another early use of Arnold, was nominated for an Academy Award in 2001. The first Arnold license was sold to Mikros Image in 2001 to render VFX shots for the French feature film Le Boulet. After a year-long collaboration at USC ICT, Arnold was used to render Paul Debevec’s short film The Parthenon shown at SIGGRAPH 2004.
In 2004 Sony Pictures Imageworks licensed the source code to Arnold and entered into a partnership with Marcos to co-develop it and adopt Arnold as Imageworks’ main renderer. Fruit of this joint work was the 2006 Academy Award nominated Monster House, the first animated feature film entirely rendered with brute-force path tracing, as well as Cloudy with a Chance of Meatballs, Alice in Wonderland and many other films. This fruitful collaboration continues to this day on slightly different versions of the renderer, access to the respective code bases and jointly published research work.
Fifteen years after its inception, Arnold has established itself as the go-to solution for efficient, unbiased global illumination rendering in feature film production. The team has grown to 30 people and most leading VFX and animation facilities have chosen Arnold as their preferred rendering solution.
Arnold is an advanced Monte Carlo ray tracing renderer built for the demands of feature-length animation and visual effects. Originally co-developed withSony Pictures Imageworks and now their main renderer, Arnold is used at over 300 studios worldwide including ILM, Framestore, MPC, The Mill and Digic Pictures.
Arnold was the primary renderer on dozens of films from Monster House and Cloudy with a Chance of Meatballs to Pacific Rim and Gravity. It is available as a standalone renderer on Linux, Windows and Mac OS X, with plug-ins for Maya, Softimage, Houdini, Cinema 4D and Katana.
Fur & Hair
An efficient raytraced curve primitive makes Arnold the perfect choice for rendering fur and hair using very little memory. Its hair shader has double offset speculars, transmission and is specifically designed to reduce flickering of thin hairs.
Accurate 3D motion blur correctly interacts with shadows, volumes, indirect lighting, reflection or refraction. Deformation motion blur is extremely efficient and works for polygons, hairs and particles. Rotational motion describes precise circular arcs.
Our raytracing-based sub-surface scattering approach makes tuning point clouds a thing of the past. It’s easy to use, requires no additional memory, supports motion-blurred lighting, interactive lighting and its performance scales optimally as more CPU threads are used.
The volumetric rendering system is based on proprietary importance sampling algorithms and can render effects such as smoke, clouds, fog, pyroclastic flow or fire. Volumes interact with direct and indirect lighting from arbitrary area light sources. Supports OpenVDB and MayaFluids.
Flexibility and extensibility
Thanks to an easy to use C++ API with Python bindings, TDs and programmers can integrate Arnold in external applications, and create custom shaders, cameras, light filters and output drivers. Arnold has been integrated into many apps, both commercial and proprietary.
Arnold is carefully multi-threaded and makes optimal use of all available CPU threads. Even for traditionally single-threaded operations such as loading of procedural geometry, displacement or ray accel construction. Hyper-threading provides a solid 20% speedup.
Arnold can efficiently raytrace instances of any scene object with transformation and material overrides. It is easy to create thousands or even millions of instances resulting in trillions of renderable primitives, which is great for vegetation, large environments and FX.
Thanks to Arnold’s compact and highly optimized data structures, you can render scenes with hundreds of millions of unique primitives quickly and with a much lower memory footprint than is possible with other renderers.
Deferred geometry loading
Geometry can be created on demand through “procedural” nodes (or stand-ins) rather than upfront. This allows the modular assembly of scenes. Procedural nodes can point to ASS, OBJ, PLY and DLL/DSO files, opening the door to programmatic scene creation and compositing.
Subdivision and displacement
Arnold supports Catmull-Clark subdivision surfaces. Subdivided vertices are then vector-displaced through arbitrary shader networks. High frequencies can be automatically captured as bump map, reducing the need for excessive subdivision.
Arbitrary Output Variables (AOVs)
Arnold can render any number of AOVs or passes for compositing purposes, including normal, Z-depth, position and ID masks. It also supports deep image data. Shaders can create their own custom outputs (such as direct and indirect diffuse, specular, SSS, etc).
Standalone command-line renderer
Arnold has a native scene description format stored in human-readable text files (Arnold Scene Source, or .ass). These files are easily edited, can be read and written with the C/Python API, can be lazily loaded at render time, or can be fed to the command-line renderer, kick.