Ray Depth



Ray Depth allows you to configure settings that limit the ray recursion based on ray type. Higher values will increase render time.


Specifies the total maximum recursion depth of any ray in the scene (Diffuse + Reflection + Refraction + Glossy <= Total).


Defines the maximum ray diffuse depth bounces. Zero diffuse is equal to disabling Diffuse illumination. Increasing the depth will add more bounced light to the scene, which can be especially noticeable in interiors. You may notice subtle differences when increasing the diffuse bounces incrementally. For example the top of the cube has no light on it with Diffuse set to 1, whereas it is visible with Diffuse set to 2.

Below is an example showing the dramatic difference that diffuse ray depth can have in a scene. Note the effect of the bounced light on the floor behind the door when rendering with ray depth 2 compared to ray depth 1 and 0.

We can clearly see a difference in the appearance and render time when increasing the ray depth in the production interior scene below:

The current Arnold code will only take one random sample after a split has happened in the ray tree, causing the regions behind glossy refractions/reflections and Diffuse to have much fewer shadow samples than those that are viewed directly by the camera. Splitting occurs after the first bounce.

Diagram showing how diffuse rays are propagated in an Arnold render.

You can see the effect that increasing the diffuse ray depth has on the number of rays per pixel and how that impacts render time by checking the render log. 

Rendering using the 'raycount' aov shows the total number of rays that are created/traced to compute a certain pixel (diffuse, glossy and shadow rays are shown). 

Images rendered using the 'builtin' 'raycount' aov


Defines the maximum number of times a ray can be glossily reflected. Scenes with many glossy reflective surfaces may require higher values in order to look correct. A minimum value of 1 is necessary to get any glossy reflections. 


Defines the maximum number of times a ray can be reflected. Scenes with many reflective surfaces may require higher values in order to look correct.

The example below is an internal reflection test. The scene is very simple and consists of a point light positioned at the end of a cube that has a high reflection value assigned to it. When the reflection depth value is raised, the number of reflections increase. The total ray depth must also be increased in order to match the reflection depth values (the maximum total depth value is 256).  

Point light positioned at the end of a cube with a highly reflective material assigned to it


The maximum number of times a ray can be refracted. Scenes with many refractive surfaces may require higher values in order to look correct. 

Glass surface with double sided thickness.


This parameter sets the number of multiple scattering bounces within a volume (defaults to 0). This is useful when rendering volumes such as clouds for which multiple scattering has a large influence on their appearance.


Transparency Depth

The number of allowed transparency hits. With 0 objects will be treated as opaque. The example below consists of six glass cubes that are sitting on top of each other. Arnold returns black when there is an insufficient number of rays due to the limit imposed by the Transparency Depth. Increasing this value allows more rays to pass through the transparent surfaces. In this case a Transparent Depth of 12 is enough to get a good result.

Transparency Threshold

Defines at which point the accumulated opacity can be considered as opaque. This optimization parameter is designed to save computations when an object tagged as transparent has large areas that are nearly opaque.