This setting controls Arnold's tessellation of subdivision surfaces. Note that, as well as the global subdivision control described below, you can also control the subdivision of an individual object, via the Object Settings. The actual number of subdivisions for each object will be the lower of the two values.

max_subdivisions

This value sets an upper limit on the number of subdivision iterations for all objects. By default, this is set to a very high value (999) which in practice has no effect. Setting this to a low value such as 1 or 2 can be useful when debugging scenes that take a long time to subdivide/tessellate.

Cube subdivided with 0, 1, 2 and 3 iterations (objects shaded with the utility shader in polywire mode).

subdiv_frustum_culling

Subdivision patches outside the view or dicing camera frustum will not be subdivided. This is useful for any extended surface that is only partially visible as only the directly visible part will be subdivided. Similarly, no subdivision work will happen if a mesh is not directly visible. This can be turned on globally by setting options.subdiv_frustum_culling true and can be turned off for specific meshes with polymesh.subdiv_frustum_ignore true.


subdiv_frustum_padding

Adds a world space padding to the frustum that can be increased as needed to minimize artifacts from out-of-view objects in cast shadows, reflections, etc. Note that motion blur is not yet taken into account and moving objects might require some additional padding.

  • No labels