Arnold GPU渲染支持的功能及基础知识

Arnold GPU渲染支持的功能

  • Arnold GPU 支持复杂的着色网络、SSS、头发、大气、实例化和程序。

  • 使用相同的设置,GPU 渲染目前比 CPU 渲染更嘈杂,因为 GPU 渲染是“非分割的”(即每个相机/AA 样本一条路径)。因此,为了实现等效噪声,需要在 GPU 渲染中增加 AA 样本数。完全支持自适应渲染。

  • 支持standard_surface、standard_hairstandard_volume,但有一些限制(见下表)。

  • 支持 OSL,但目前有一些限制(见下文)。

  • 支持 OpenVDB 卷,但目前有一些限制(见下文)。

  • 支持体积位移,但目前有一些限制(见下文)。

  • 支持文件名属性标签。不支持M ipmap 偏差。

  • 卷上不支持轻量级链接。

  • 有限的 AOV 支持。

  • 不支持跟踪集。

  • 支持自定义程序、驱动程序、颜色管理器。

  • 不支持自定义 着色器、相机、过滤器、BSDF。

  • Arnold GPU 渲染不支持 Noice(因为 Arnold GPU 不支持方差过滤器)


对 OSL 的初始支持已添加到 GPU 渲染器中。与在 CPU 渲染器中一样,您可以在同一着色网络中混合和匹配 OSL 和 Arnold 着色器。请注意,此初始支持仍不完整,目前有许多限制,如下所列。

着色操作

目前,对特定着色操作的支持有限,如下所示:

  • 动态字符串操作

  • 消息传递

开放式虚拟数据库

对 OpenVDB 的初始支持已添加到 GPU 渲染器中。在这个初始实现中,每个 VDB 网格都以密集格式加载到 GPU。虽然这在视觉上与 CPU 渲染器非常匹配并且功能完整,但由于缺乏稀疏表示,内存消耗可能更大。在高不透明度体积的情况下,渲染速度可能比 CPU 慢,因为 GPU 实现不会像 CPU 版本那样有效地跳过空白空间。随着步长参数的减小,与CPU的匹配会越来越好。

体积位移

对体积置换的初始支持已添加到 GPU 渲染器中。在高不透明度体积的情况下,渲染速度可能比 CPU 慢,因为 GPU 实现不会像 CPU 版本那样有效地跳过空白空间。随着步长参数的减小,与CPU的匹配会越来越好。

支持的功能和已知限制

特征

GPU 支持

笔记

相机

cyl_camera

是的


鱼眼相机

是的


正射相机

是的


persp_camera

是的


球面相机

是的


uv_camera

是的


vr_camera

是的


色彩管理器

color_manager_ocio

是的


color_manager_syncolor

是的


驱动程序

cryptomatte_manifest_driver


driver_deepexr


driver_exr

是的


driver_jpeg

是的


driver_png

是的


driver_tiff

是的


过滤器

blackman_harris_filter

是的

适用于所有 AOV 的单个过滤器。

box_filter

是的

适用于所有 AOV 的单个过滤器。

gaussian_filter

是的

适用于所有 AOV 的单个过滤器。

三角形过滤器

是的

适用于所有 AOV 的单个过滤器。

最近过滤器

是的

适用于所有 AOV 的单个过滤器。

所有其他过滤器

回退到盒式过滤器。适用于所有 AOV 的单个过滤器。

气缸灯

是的


磁盘灯

是的


远光

是的


网格光

是的


photometric_light

是的


点光

是的


四光

是的

支持轻型门户

天穹灯

是的


聚光灯

是的


运营商

收藏

是的


禁用

是的


include_graph

是的


材料x

是的


合并

是的


设置参数

是的


设置转换

是的


switch_operator

是的


选项

是的


覆盖

是的


着色器

腹肌

是的


添加

是的


环境光遮蔽

是的

不支持跟踪集。

aov_read_float

是的


aov_read_int

是的


aov_read_rgb

是的


aov_read_rgba

是的


aov_write_float

是的


aov_write_int

是的


aov_write_rgb

是的


aov_write_rgba

是的


晒黑

是的


大气体积

是的


谷仓门

是的


黑体

是的


凹凸2d

是的


凹凸3d

是的


c4d_texture_tag

是的


c4d_texture_tag_rgba

是的


缓存

是的

这是 GPU 上的空操作。

camera_projection

是的


汽车漆

是的


cell_noise

是的


棋盘

是的


夹钳

是的


clip_geo


颜色转换

是的


颜色正确

是的


颜色抖动

是的


比较

是的


补充

是的


complex_ior

是的


是的


加密货币


曲率

是的

不支持跟踪集。

划分

是的


是的


经验值

是的


面对比率

是的


薄片

是的


平坦的

是的


float_to_int

是的


float_to_matrix


float_to_rgb

是的


float_to_rgba

是的


多雾路段

是的


分数

是的


图案

是的


图像

是的

不支持 Mip-map 偏差。

is_finite

是的


兰伯特

是的


层浮点

是的


layer_rgba

是的


层着色器

是的


长度

是的


光阻滞剂

是的


光衰

是的


日志

是的


matrix_interpolate


matrix_multiply_vector

是的

矩阵参数在 GPU 上不可链接。

矩阵变换


哑光的


最大限度

是的


maya_layered_shader

是的


分钟

是的


mix_rgba

是的


混合着色器

是的


模数

是的


运动向量


是的


否定

是的


噪音

是的


normal_map

是的


标准化

是的


奥斯陆

是的

对闭包和着色操作的一些有限支持。

直通

是的


物理天空

是的


战俘

是的


查询形状

是的


斜坡浮动

是的

不支持连接的颜色和位置。

斜坡_rgb

是的

不支持连接的颜色和位置。

随机的

是的


范围

是的


ray_switch_rgba

是的


ray_switch_shader

是的


互惠的

是的


rgb_to_float

是的


rgb_to_vector

是的


rgba_to_float

是的


圆角

是的

不支持跟踪集。

阴影遮罩

是的

 这个初始版本目前有许多限制,包括:不支持间接照明、没有 AOV 生成,以及阴影遮罩对象中可能不正确的自反射。

洗牌

是的


符号

是的


空间变换

是的

不支持相机和屏幕空间。

方格

是的


标准头发

是的

不支持额外的深度和额外的样本

标准表面

是的

不支持扩散 SSS 模式。

不支持传输 AOV(因此,例如,您将在 Alpha 中获得纯白色以进行传输)

标准体积

是的


state_float

是的


state_int

是的


state_vector

是的


减去

是的


switch_rgba

是的


开关着色器

是的


香椿


跟踪集


三角

是的


三平面

是的


双面

是的


user_data_float

是的

当前不支持从父程序继承的用户数据

user_data_int

是的

当前不支持从父程序继承的用户数据

user_data_rgb

是的

当前不支持从父程序继承的用户数据

user_data_rgba

是的

当前不支持从父程序继承的用户数据

用户数据字符串

是的

当前不支持从父程序继承的用户数据

公用事业

是的

不支持 edgelength、pixelerror 和 nlights 颜色模式。

uv_projection

是的


uv_transform

是的


矢量地图

是的


vector_to_rgb

是的


volume_sample_float

是的


volume_sample_rgb

是的


线框

是的


形状

盒子

是的

不支持跟踪集。

锥体


曲线

是的

不支持跟踪集。不支持定向曲线。

圆筒


磁盘


初见

是的

不支持跟踪集。

纽布斯

是的


飞机

是的

不支持跟踪集。

积分

是的

不支持跟踪集。

多边形网格

是的

不支持跟踪集。

领域

是的

不支持跟踪集。

隐含的


volume_implicit


蒸馏器

是的

不支持跟踪集。

程序

是的

不支持跟踪集。

体积

是的

不支持跟踪集。

AOV

AA_inv_密度

是的


ID

是的


N

是的


是的


首选项


RGBA

是的


Z

是的


反照率

是的


背景

是的


外套

是的


外套_反照率

是的


外套_direct

是的


外套_间接

是的


时间

是的


扩散

是的


漫反射率

是的


扩散_直接

是的


扩散_间接

是的


直接的

是的


排放

是的


间接

是的


运动矢量


不透明度

是的


光线计数

是的


阴影遮罩


光泽

是的


sheen_albedo

是的


sheen_direct

是的


sheen_indirect

是的


高光

是的


specular_albedo

是的


Specular_direct

是的


specular_indirect

是的


sss

是的


sss_albedo

是的


sss_direct

是的


sss_indirect

是的


传播

是的


传输反照率

是的


传输_直接

是的


传输_间接

是的


体积

是的


音量_Z


volume_albedo


volume_indirect


volume_opacity


自定义插件

BSDF


相机


色彩管理器

是的


司机

是的


筛选


着色器


程序

是的


程序

是的


成像仪

是的


运营商

是的


Arnold GPU 渲染的基础知识

系统要求

Arnold GPU 适用于 Turing、Volta、Pascal 和 Maxwell 架构的 NVIDIA GPU。多个 GPU 将提高性能,NVLink 可用于连接多个相同架构的 GPU 以共享内存(在 Windows 上,我们建议也启用 SLI)。

查看支持的 GPU的完整列表。

推荐的NVIDIA 驱动程序 


预填充 GPU 缓存

第一次使用 GPU 渲染时,GPU 渲染器必须为所使用的着色器和对象类型创建缓存。这可能会延迟您第一次渲染的第一个像素的时间。为避免这些一次性延迟,我们建议您在执行任何渲染之前通过预先填充缓存来提前执行其中的一些操作,因为这将使用最常见的着色器/对象组合的子集填充缓存。Arnold 插件(如 MtoA)具有预填充 GPU 缓存菜单命令,并且 kick 具有 -gpu_warm 标志。请注意,预填充缓存最多可能需要 15 分钟。只有在安装新的 Arnold 版本、更新到新的 NVIDIA 驱动程序或更改系统上 GPU 的硬件配置后,才需要重新填充缓存。


GPU 缓存基于 Arnold 核心版本、NVIDIA 驱动程序版本和执行软件的 GPU。因此,如果其中之一发生更改,则您将需要再次运行预填充缓存,以避免渲染过程中的(一次性)延迟。 

 

选择渲染设备

只需单击一下,您就可以轻松地在 CPU 和 GPU 之间切换。您将在 Arnold 插件的渲染设置 > 系统部分中找到一个新的渲染设备设置。

您可以使用 CUDA_VISIBLE_DEVICES(环境变量) 来限制 Arnold(以及任何其他基于 Cuda 的应用程序)可以看到的 GPU。

匹配 CPU 和 GPU 上的噪声

匹配噪声可能需要一些实验,因为Arnold GPU 仅使用 相机 (AA) 采样。我们建议您还使用自适应采样。以下是一些指导方针:

  • 设置最大值 相机 (AA)在 30 到 50 的范围内(根据场景,您可能会接近 100)。通常,最大样本应该是一个大值。大的最大样本意味着质量由低于阈值的噪声控制,而不是通过钳位到最大 AA。

  • 自适应阈值设置为0.015 或 0.02 之类的值。对于无噪声渲染,降低阈值,甚至可能降低到 0.010。

  • 相机 (AA)样本设置为 3 或 4 左右。使用 AA 提高的少数原因之一是运动模糊。相机 (AA)采样数越多,自适应采样带来的加速就越少。


所有纹理都必须适合内存。我们建议您使用平铺和 mip 映射的 TX 纹理。如果内存不足,可以在“渲染设置”中为纹理设置最大分辨率。 

 

/v23/jpg/swiper2-34c8e7ae.jpg
/v23/jpg/swiper1-fc05a4ec.jpg
/v23/jpg/swiper2-34c8e7ae.jpg
/v23/jpg/swiper1-fc05a4ec.jpg

热搜关键词

底部宣传图

渲云,您身边的渲染专家!

赞奇科技旗下CG视效行业云渲染品牌
立即注册
联系我们