ArnoldOptions

Sets global scene options applicable to the Arnold renderer. Use the StandardOptions node to set global options applicable to all renderers.

user

Container for user-defined plugs. Nodes should never make their own plugs here, so users are free to do as they wish.

out

The processed output scene.

enabled

The on/off state of the node. When it is off, the node outputs the input scene unchanged.

in

The input scene

options

The options to be applied - arbitrary numbers of user defined options may be added as children of this plug via the user interface, or using the CompoundDataPlug API via python.

options.ai:bucket_size

Controls the size of the image buckets. The default size is 64x64 pixels. Bigger buckets will increase memory usage while smaller buckets may render slower as they need to perform redundant computations and filtering.

options.ai:bucket_scanning

Controls the order in which buckets are processed. A spiral pattern is the default.

options.ai:parallel_node_init

Enables Arnold’s parallel node initialization. Note that some Arnold features may not be thread-safe, in which case enabling this option can cause crashes. One such example is Cryptomatte and its use in the AlSurface shader.

options.ai:threads

Specifies the number of threads Arnold is allowed to use. A value of 0 gives Arnold access to all available threads.

options.ai:AA_samples

Controls the number of rays per pixel traced from the camera. The more samples, the better the quality of antialiasing, motion blur and depth of field. The actual number of rays per pixel is the square of the AA Samples value - so a value of 3 means 9 rays are traced, 4 means 16 rays are traced and so on.

options.ai:GI_diffuse_samples

Controls the number of rays traced when computing indirect illumination (“bounce light”). The number of actual diffuse rays traced is the square of this number.

options.ai:GI_specular_samples

Controls the number of rays traced when computing specular reflections. The number of actual specular rays traced is the square of this number.

options.ai:GI_transmission_samples

Controls the number of rays traced when computing specular refractions. The number of actual transmitted specular rays traced is the square of this number.

options.ai:GI_sss_samples

Controls the number of rays traced when computing subsurface scattering. The number of actual subsurface rays traced is the square of this number.

options.ai:GI_volume_samples

Controls the number of rays traced when computing indirect lighting for volumes. The number of actual rays traced is the square of this number. The volume ray depth must be increased from the default value of 0 before this setting is of use.

options.ai:light_samples

Specifies a fixed number of light samples to be taken at each shading point. This enables “Global Light Sampling”, which provides significantly improved performance for scenes containing large numbers of lights. In this mode, the samples setting on each light is ignored, and instead the fixed number of samples is distributed among all the lights according to their contribution at the shading point.

A value of 0 disables Global Light Sampling, reverting to the original per-light sampling algorithm.

Note

Global Light Sampling currently has limitations. See https://help.autodesk.com/view/ARNOL/ENU/?guid=arnold_user_guide_ac_render_settings_ac_lights_settings_html for more details.

options.ai:AA_seed

Seeds the randomness used when generating samples. By default this is set to the current frame number so that the pattern of sampling noise changes every frame. It can be locked to a particular value so that sampling noise does not change from frame to frame.

options.ai:AA_sample_clamp

Sets a maximum for the values of individual pixel samples. This can help reduce fireflies.

options.ai:AA_sample_clamp_affects_aovs

Applies the sample clamping settings to all RGB and RGBA AOVs, in addition to the beauty image.

options.ai:indirect_sample_clamp

Clamp fireflies resulting from indirect calculations. May cause problems with dulling highlights in reflections.

options.ai:low_light_threshold

Light paths with less energy than this will be discarded. This saves tracing shadow rays, but cuts off the light when it gets dim. Raising this improves performance, but makes the image potentially darker in some areas.

options.ai:enable_adaptive_sampling

If adaptive sampling is enabled, Arnold will take a minimum of (AA Samples * AA Samples) samples per pixel, and will then take up to (AA Samples Max * AA Samples Max) samples per pixel, or until the remaining estimated noise gets lower than the ai:AA_adaptive_threshold option.

options.ai:AA_samples_max

The maximum sampling rate during adaptive sampling. Like ai:AA_samples, this value is squared. So ai:AA_samples_max == 6 means up to 36 samples per pixel.

options.ai:AA_adaptive_threshold

How much leftover noise is acceptable when terminating adaptive sampling. Higher values accept more noise, lower values keep rendering longer to achieve smaller amounts of noise.

options.ai:enable_progressive_render

Enables progressive rendering, with a series of coarse low-resolution renders followed by a full quality render updated continuously.

options.ai:progressive_min_AA_samples

Controls the coarseness of the first low resolution pass of interactive rendering. A value of -4 starts with 16x16 pixel blocks, -3 gives 8x8 blocks, -2 gives 4x4, -1 gives 2x2 and 0 disables the low resolution passes completely.

options.ai:GI_total_depth

The maximum depth of any ray (Diffuse + Specular + Transmission + Volume).

options.ai:GI_diffuse_depth

Controls the number of ray bounces when computing indirect illumination (“bounce light”).

options.ai:GI_specular_depth

Controls the number of ray bounces when computing specular reflections.

options.ai:GI_transmission_depth

Controls the number of ray bounces when computing specular refractions.

options.ai:GI_volume_depth

Controls the number of ray bounces when computing indirect lighting on volumes.

options.ai:auto_transparency_depth

The number of allowable transparent layers - after this the last object will be treated as opaque.

options.ai:max_subdivisions

A global override for the maximum polymesh.subdiv_iterations.

options.ai:subdiv_dicing_camera

If specified, adaptive subdivision will be performed relative to this camera, instead of the render camera.

options.ai:subdiv_frustum_culling

Disable subdivision of polygons outside the camera frustum. (Uses dicing camera if one has been set). Saves performance, at the cost of inaccurate reflections and shadows.

options.ai:subdiv_frustum_padding

When using subdiv frustum culling, adds a world space bound around the frustum where subdivision still occurs. Can be used to improve shadows, reflections, and objects that motion blur into frame.

options.ai:texture_max_memory_MB

The maximum amount of memory to use for caching textures. Tiles are loaded on demand and cached, and when the memory limit is reached the least recently used tiles are discarded to make room for more. Measured in megabytes.

options.ai:texture_per_file_stats

Turns on detailed statistics output for each individual texture file used.

options.ai:texture_max_sharpen

Controls the sharpness of texture lookups, providing a tradeoff between sharpness and the amount of texture data loaded. If textures appear too blurry, then the value should be increased to add sharpness.

The theoretical optimum value is to match the number of AA samples, but in practice the improvement in sharpness this brings often doesn’t justify the increased render time and memory usage.

options.ai:texture_use_existing_tx

Automatically uses a <filename>.tx file if it exists, in preference to a <filename>.jpg (or any other file format) that has been specified. Particularly useful when used with the ai:texture_auto_generate_tx option, which will automatically create the .tx file as necessary.

Info : The .tx file format provides improved performance and reduced memory usage, because it contains mip-mapped textures.

options.ai:texture_auto_generate_tx

Automatically generates a <filename>.tx when given <filename>.jpg (or any other file format). Requires that ai:texture_use_existing_tx is also turned on. By default, textures are generated in the same folder as the source texture. Use the ai:texture_auto_tx_path option to specify an alternative destination.

Caution

This feature might cause problems if multiple render farm nodes are trying to convert the same textures in the same target folder at the same time, resulting in potential crashes, corrupt textures, and poor performance.

options.ai:texture_auto_tx_path

Specifies an alternate destination folder for textures generated when the ai:texture_auto_generate_tx option is enabled.

options.ai:ignore_textures

Ignores all file textures, rendering as if they were all white.

options.ai:ignore_shaders

Ignores all shaders, rendering as a simple facing ratio shader instead.

options.ai:ignore_atmosphere

Ignores all atmosphere shaders.

options.ai:ignore_lights

Ignores all lights.

options.ai:ignore_shadows

Skips all shadow calculations.

options.ai:ignore_subdivision

Treats all subdivision surfaces as simple polygon meshes instead.

options.ai:ignore_displacement

Ignores all displacement shaders.

options.ai:ignore_bump

Ignores all bump mapping.

options.ai:ignore_sss

Disables all subsurface scattering.

options.ai:ignore_imagers

Disables all imagers.

options.ai:texture_searchpath

The locations used to search for texture files.

options.ai:procedural_searchpath

The locations used to search for procedural DSOs.

options.ai:plugin_searchpath

The locations used to search for shaders and other plugins.

options.ai:abort_on_error

Aborts the render if an error is encountered.

options.ai:error_color_bad_texture

The colour to display if an attempt is made to use a bad or non-existent texture.

options.ai:error_color_bad_pixel

The colour to display for a pixel where a NaN is encountered.

options.ai:error_color_bad_shader

The colour to display if a problem occurs in a shader.

options.ai:log:filename

The name of a log file which Arnold will generate while rendering.

options.ai:log:max_warnings

The maximum number of warnings that will be reported.

options.ai:log:info

Whether or not information messages are included in the log output.

options.ai:log:warnings

Whether or not warning messages are included in the log output.

options.ai:log:errors

Whether or not error messages are included in the log output.

options.ai:log:debug

Whether or not debug messages are included in the log output.

options.ai:log:ass_parse

Whether or not ass parsing is included in the log output.

options.ai:log:plugins

Whether or not plugin loading is included in the log output.

options.ai:log:progress

Whether or not progress messages are included in the log output.

options.ai:log:nan

Whether or not pixels with NaNs are included in the log output.

options.ai:log:timestamp

Whether or not timestamp prefixes are included in the log output.

options.ai:log:stats

Whether or not statistics are included in the log output.

options.ai:log:backtrace

Whether or not stack backtraces from crashes are included in the log output.

options.ai:log:memory

Whether or not memory usage prefixes are included in the log output.

options.ai:log:color

Whether or not coloured messages are included in the log output.

options.ai:console:info

Whether or not information messages are included in the console output.

options.ai:console:warnings

Whether or not warning messages are included in the console output.

options.ai:console:errors

Whether or not error messages are included in the console output.

options.ai:console:debug

Whether or not debug messages are included in the console output.

options.ai:console:ass_parse

Whether or not ass parsing is included in the console output.

options.ai:console:plugins

Whether or not plugin loading is included in the console output.

options.ai:console:progress

Whether or not progress messages are included in the console output.

options.ai:console:nan

Whether or not pixels with NaNs are included in the console output.

options.ai:console:timestamp

Whether or not timestamp prefixes are included in the console output.

options.ai:console:stats

Whether or not statistics are included in the console output.

options.ai:console:backtrace

Whether or not stack backtraces from crashes are included in the console output.

options.ai:console:memory

Whether or not memory usage prefixes are included in the console output.

options.ai:console:color

Whether or not coloured messages are included in the console output.

options.ai:statisticsFileName

The name of a statistics file where Arnold will store structured JSON statistics.

options.ai:profileFileName

The name of a profile json file where Arnold will store a detailed node performance graph. Use chrome://tracing to view the profile.

options.ai:reportFileName

The name of a an HTML file where Arnold will store a detailed statistics report in an easily browsable form.

options.ai:abort_on_license_fail

Aborts the render if a license is not available, instead of rendering with a watermark.

options.ai:skip_license_check

Skips the check for a license, always rendering with a watermark.

options.ai:render_device

Can be used to put Arnold in GPU rendering mode, using your graphics card instead of CPU.

Note

GPU rendering supports a limited subset of Arnold features, see https://help.autodesk.com/view/ARNOL/ENU/?guid=arnold_user_guide_ac_arnold_gpu_ac_features_limitations_html for more details.

options.ai:gpu_max_texture_resolution

If non-zero, this will omit the high resolution mipmaps when in GPU mode, to avoid running out of GPU memory.

extraOptions

An additional set of options to be added. Arbitrary numbers of options may be specified within a single IECore.CompoundObject, where each key/value pair in the object defines an option. This is convenient when using an expression to define the options and the option count might be dynamic. It can also be used to create options whose type cannot be handled by the options CompoundDataPlug.

If the same option is defined by both the options and the extraOptions plugs, then the value from the extraOptions is taken.