You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Quick Summary

  • Arnold GPU supports complex shading networks, SSS, hair, atmospherics, instancing, and procedurals.
  • With the same settings, GPU renders will currently be noisier than CPU renders since GPU renders are "non-splitting" (i.e. one path per camera/AA sample). Accordingly, to achieve equivalent noise the AA sample count will need to be increased in GPU renders. Adaptive rendering is fully supported.

  • standard_surface, standard_hair, and standard_volume are supported, with some limitations (see the table below).
  • OSL is supported, with some limitations currently (see below).
  • OpenVDB volumes are supported, with some limitations currently (see below).
  • Volume displacement is supported, with some limitations currently (see below).
  • Filename attribute tags are supported. Mipmap bias is not supported.
  • Light linking is not supported on volumes.
  • Limited AOV support.

  • Trace sets are not supported.
  • Custom procedurals, drivers, color managers are supported.
  • Custom shaders, cameras, filters, BSDFs are not supported.
  • Noice is not supported with Arnold GPU renders (because the variance filter is not supported on Arnold GPU)


OSL

Initial support for OSL has been added to the GPU renderer. As in the CPU renderer, you can mix and match OSL and Arnold shaders in the same shading network. Note that this initial support is still not complete and currently has a number of limitations as listed below.

Shading operations

Currently, there is limited support for specific shading operations, as follows:

  • Dynamic string operations
  • Message passing

OpenVDB

Initial support for OpenVDB has been added to the GPU renderer. In this initial implementation, each VDB grid is loaded to GPU in a dense format. While this matches the CPU renderer visually quite well and is feature-complete, the memory consumption can be larger due to the lack of sparse representation. The rendering speed may be slower than CPU in cases with high opacity volumes, as the GPU implementation does not skip empty space as efficiently as the CPU version. The match with CPU will become increasingly good as the step-size parameter is reduced.

Volume displacement

Initial support for volume displacement has been added to the GPU renderer. The rendering speed may be slower than CPU in cases with high opacity volumes, as the GPU implementation does not skip empty space as efficiently as the CPU version. The match with CPU will become increasingly good as the step-size parameter is reduced.


Supported Features and Known Limitations

Feature

GPU Support

Notes

Cameras

cyl_camera

Yes


fisheye_camera

Yes


ortho_camera

Yes


persp_camera

Yes


spherical_camera

Yes


uv_camera

Yes


vr_camera

Yes


Color Managers

color_manager_ocio

Yes


color_manager_syncolor

Yes


Drivers

cryptomatte_manifest_driver

No


driver_deepexr

No


driver_exr

Yes


driver_jpeg

Yes


driver_png

Yes


driver_tiff

Yes


Filters

blackman_harris_filter

Yes

One single filter for all AOVs.

box_filter

Yes

One single filter for all AOVs.

gaussian_filter

Yes

One single filter for all AOVs.

triangle_filter

Yes

One single filter for all AOVs.

closest_filterYesOne single filter for all AOVs.

All other filters

No

Fallback to box filter. One single filter for all AOVs.

Lights

cylinder_light

Yes


disk_light

Yes


distant_light

Yes


mesh_light

Yes


photometric_light

Yes


point_light

Yes


quad_light

Yes


skydome_light

Yes


spot_light

Yes


light portalYes
Operators

collection

Yes


disable

Yes


include_graph

Yes


materialx

Yes


merge

Yes


set_parameter

Yes


set_transform

Yes


switch_operator

Yes


options

Yes


override

Yes


Shaders

abs

Yes


add

Yes


ambient_occlusion

Yes

Trace sets are not supported.

aov_read_floatYes
aov_read_intYes
aov_read_rgbYes
aov_read_rgbaYes

aov_write_float

Yes


aov_write_int

Yes


aov_write_rgb

Yes


aov_write_rgba

Yes


atan

Yes


atmosphere_volume

Yes


barndoor

Yes


blackbody

Yes


bump2d

Yes


bump3d

Yes


c4d_texture_tag

Yes


c4d_texture_tag_rgba

Yes


cache

Yes

This is a no-op on GPU.

camera_projection

Yes


car_paint

Yes


cell_noise

Yes


checkerboard

Yes


clamp

Yes


clip_geo

No


color_convert

Yes


color_correct

Yes


color_jitter

Yes


compare

Yes


complement

Yes


complex_ior

Yes


cross

Yes


cryptomatte

No


curvature

Yes

Trace sets are not supported.

divide

Yes


dot

Yes


exp

Yes


facing_ratio

Yes


flakes

Yes


flat

Yes


float_to_int

Yes


float_to_matrix

No


float_to_rgb

Yes


float_to_rgba

Yes


fog

Yes


fraction

Yes


gobo

Yes


image

Yes

Mip-map bias is not supported.

is_finite

Yes


lambert

Yes


layer_float

Yes


layer_rgba

Yes


layer_shader

Yes


length

Yes


light_blocker

Yes


light_decay

Yes


log

Yes


matrix_interpolate

No


matrix_multiply_vector

Yes

The matrix parameter is not linkable on GPU.

matrix_transform

No


matte

No


max

Yes


maya_layered_shader

Yes


min

Yes


mix_rgba

Yes


mix_shader

Yes


modulo

Yes


motion_vector

No


multiply

Yes


negate

Yes


noise

Yes


normal_map

Yes


normalize

Yes


osl

Yes

Some limited support for closures and shading operations.

passthrough

Yes


physical_sky

Yes


pow

Yes


query_shape

Yes


ramp_float

Yes

Connected colors and positions not supported.

ramp_rgb

Yes

Connected colors and positions not supported.

random

Yes


range

Yes


ray_switch_rgba

Yes


ray_switch_shader

Yes


reciprocal

Yes


rgb_to_float

Yes


rgb_to_vector

Yes


rgba_to_float

Yes


round_corners

Yes

Trace sets are not supported.

shadow_matte

Yes

 This initial version has a number of limitations currently, including: no support for indirect lighting, no AOV generation, and possibly incorrect self-reflections in shadow-matte objects.

shuffle

Yes


sign

Yes


space_transform

Yes

Camera and screen spaces are not supported.

sqrt

Yes


standard_hair

Yes

extra depth and extra samples are not supported

standard_surface

Yes

Diffusion SSS mode is not supported.

Transmit AOVs is not supported (so, for example, you'll get solid white in the alpha for transmission)

standard_volume

Yes


state_float

Yes


state_int

Yes


state_vector

Yes


subtract

Yes


switch_rgba

Yes


switch_shader

Yes


toon

No


trace_set

No


trigo

Yes


triplanar

Yes


two_sided

Yes


user_data_float

Yes


user_data_int

Yes


user_data_rgb

Yes


user_data_rgba

Yes


user_data_string

No


utility

Yes

The edgelength, pixelerror, and nlights color modes are not supported.

uv_projection

Yes


uv_transform

Yes


vector_map

Yes


vector_to_rgb

Yes


volume_sample_float

Yes


volume_sample_rgb

Yes


wireframe

Yes


Shapes

box

Yes

Trace sets are not supported.

cone

No


curves

Yes

Trace sets are not supported. Oriented curves are not supported.

cylinder

No


disk

No


ginstance

Yes

Trace sets are not supported.

nurbs

Yes


plane

Yes

Trace sets are not supported.

points

Yes

Trace sets are not supported.

polymesh

Yes

Trace sets are not supported.

sphere

Yes

Trace sets are not supported.

implicit

No


volume_implicit

No


alembic

Yes

Trace sets are not supported.

procedural

Yes

Trace sets are not supported.

volume

Yes

Trace sets are not supported.

AOVs
AA_inv_densityYes
IDYes
NYes
PYes
PrefNo
RGBAYes
ZYes
albedoYes
backgroundYes
coatYes
coat_albedoYes
coat_directYes
coat_indirectYes
cputimeYes
diffuseYes
diffuse_albedoYes
diffuse_directYes
diffuse_indirectYes
directYes
emissionYes
indirectYes
motionvectorNo
opacityYes
raycountYes
shadow_matteNo
sheenYes
sheen_albedoYes
sheen_directYes
sheen_indirectYes
specularYes
specular_albedoYes
specular_directYes
specular_indirectYes
sssYes
sss_albedoYes
sss_directYes
sss_indirectYes
transmissionYes
transmission_albedoYes
transmission_directYes
transmission_indirectYes
volumeYes
volume_ZNo
volume_albedoNo
volume_indirectNo
volume_opacityNo
Custom plugins
BSDFNo
CameraNo
Color ManagerYes
DriverYes
FilterNo
ShaderNo
ProceduralYes
ProceduralYes
ImagerYes
OperatorsYes
  • No labels