Vulkan 渲染器

体验我们基于 Vulkan 的新渲染器的先进功能和增强功能。它旨在取代现有的 OpenGL 光栅器,提供高级 GPU 加速混合渲染光线跟踪功能,例如光线跟踪反射、光线跟踪环境光遮挡和光线跟踪环境阴影。光栅化和光线跟踪的这一集成提供了单独使用 OpenGL 光栅化无法实现的视觉效果。这与预计算模式下的 GPU 光线跟踪器非常相似,简化了光栅化和光线跟踪之间的过渡。

Vulkan 还可以高效处理大量对象,尤其是在运动中时,并且不像 OpenGL 那样有灯光限制,因为所有灯光都会照亮几何体和体积。Vulkan 位于菜单栏中的“可视化”>“渲染器”下或主工具栏中,使用鼠标左键单击并按住“光线跟踪”,然后从显示的选项中选择“Vulkan”。请记住,光线跟踪反射、光线跟踪环境光遮挡和光线跟踪环境阴影需要与光线跟踪兼容的显卡。

视频字幕:启动 VRED 时,您会注意到,新的 Vulkan 渲染引擎是主工具栏的“光线跟踪”按钮中的一个新选项。借助这个新的实时渲染引擎,我们使用的是下一代实时解决方案,它可以更好地处理大型复杂场景,并允许我们将光栅化渲染与光线跟踪的各个方面混合在一起。新的渲染器可以高效处理大量对象,尤其是在运动中时。它消除了 OpenGL 中存在的灯光限制。使用 Vulkan 时,所有灯光都将照亮几何体和体积。

最重要的是,我们实施了各种优化来提高渲染速度。其中一项优化是遮挡消隐(可以在“可视化”菜单中启用)。遮挡消隐通过跳过被其他对象隐藏的对象的渲染来提高性能,并且根据场景类型的不同,可能产生显著的积极影响。

不过,我们也来看看 Vulkan 附带的视觉增强功能。我们现在支持混合光线跟踪。这样可以计算出真实的反射和阴影,从而显著提高视口中实时场景的视觉质量,使其更接近使用 CPU 和 GPU 光线跟踪器可实现的结果。

例如,VRED 现在可以将光线跟踪反射覆盖到光栅化图像上。只需转到“文件”菜单并在“可视化”下选择“光线跟踪反射”,您将在相应对象(例如本示例中的门)上看到反射。

我们还引入了两种使用光线跟踪计算实时阴影的新方法:“光线跟踪环境光遮挡”和“光线跟踪环境阴影”。这些方法比现有的屏幕空间环境光遮挡更精确、更逼真。光线跟踪环境光遮挡的功能与 SSAO 类似,因为它计算所有方向上的阴影。另一方面,光线跟踪环境阴影会考虑来自环境贴图的照明以创建较亮聚光灯投射的柔和阴影。

除了光线跟踪外,另一个视觉增强功能是屏幕空间折射。Vulkan 中的这种视觉效果通过实时模拟光线折射,提供了更逼真的半透明材质可视化,包括表面粗糙度。

Vulkan 还提供了一种新的置换贴图方式,该方式速度更快,并且可通过 GPU 细分获得正确的自身阴影。这种方法显著提高了性能和准确性。由于来自旧版 VRED,它仍可用于材质中。

现在,我们使用 Vulkan 支持所有材质的线管半径,与 CPU 和 GPU 光线跟踪器的功能更加一致。此增强功能允许您将任何材质应用于直线几何体,并设置半径以创建在直线几何体的末端具有封口的管。可以在指定材质的“材质编辑器”的“公用”部分内找到相关设置。

光栅化设置

我们不仅又添加了一个光栅器 Vulkan,还将“高级 OpenGL 设置”更改为“光栅化设置”。我们更改了其菜单中的以下选项:烘焙阴影(新增)、实时环境阴影(新增)、实时光源阴影(新增)、“几何体灯光源”、光线跟踪反射(新增)、场景空间折射(新增)、“背面”和遮挡消隐(新增)、“仅深度过程”和“透明模式”。许多新选项都是特定于 Vulkan 的。

提示:

在“渲染窗口”首选项 >“可视化”选项卡 > 视口部分中,使用“默认光栅器”设置 VRED 使用的默认光栅器。在 VulkanOpenGL 之间进行选择。

烘焙阴影

激活/取消激活视口中顶点和纹理上的预计算阴影,并烘焙来自环境的阴影。

实时环境阴影设置

光线跟踪环境光遮挡和环境阴影

这个新选项包含两种使用光线跟踪计算漫反射照明的实时阴影的新方法(光线跟踪环境阴影光线跟踪环境光遮挡),它们仅适用于 Vulkan,因为需要与光线跟踪兼容的显卡。它们可替代另一种阴影类型 (SSAO),后者适用于 Vulkan 和 OpenGL。由于实时环境阴影可能会对性能造成很大影响,因此也可以通过设置“禁用”将其禁用。

单击 设置框 可打开“实时环境阴影设置”,以确定使用的阴影类型,以及是否将烘焙阴影用于阴影材质、阴影的距离、阴影强度和每像素光线数。有关这些设置的详细信息,请参见*实时环境阴影*。

“实时环境阴影设置”对话框

光线跟踪环境光遮挡

仅适用于 Vulkan,因为需要使用与光线跟踪兼容的显卡。我们针对支持光线跟踪的硬件向 Vulkan 添加了对光线跟踪环境光遮挡的支持,以替代 SSAO。使用此项可以更精确地实时计算漫反射照明的阴影区域。此项将计算所有方向的阴影,从而使场景图示更加逼真,同时解决了 SSAO 的一些限制。

限制:不支持细分(置换贴图),因此,将使用未细分版本的网格。

  1. 在“可视化”菜单中,选择“光栅化设置”>“实时环境阴影”“设置”图标 以打开“实时环境阴影设置”。
  2. 从“类型”下拉菜单中,选择“光线跟踪环境光遮挡”。

光线跟踪环境阴影

仅适用于 Vulkan,因为需要使用与光线跟踪兼容的显卡。它使用光线跟踪并计算漫反射照明的近似阴影,同时考虑来自环境贴图的照明以创建较亮聚光灯投射的柔和阴影。

虽然环境光遮挡以相同的重要性计算来自各个方向的照明,但使用光线跟踪环境阴影时,更亮的区域具有更高的重要性,从而产生更清晰的阴影。

限制:不支持细分(置换贴图),因此,将使用未细分版本的网格。

  1. 在“可视化”菜单中,选择“光栅化设置”>“实时环境阴影”“设置”图标 以打开“实时环境阴影设置”。
  2. 从“类型”下拉菜单中,选择“光线跟踪环境阴影”。

实时光源阴影

激活/取消激活随投射阴影的对象一起移动的阴影。使用它们在移动的对象上投射阴影。实时阴影可能会对性能造成很大影响,因此我们建议谨慎使用它们。实时阴影贴图可以与增量灯光、区域灯光和对象灯光一起使用。

光线跟踪反射

视频字幕:VRED 现在可以将光线跟踪反射覆盖到光栅化图像上。只需转到“文件”菜单并在“可视化”下选择“光线跟踪反射”,您将在相应对象(例如本示例中的门)上看到反射。

仅适用于 Vulkan,因为需要使用与光线跟踪兼容的显卡。现在,透明材质类型(例如塑料、磨砂金属、车漆、碳纤维和 MDL)都支持光线跟踪反射,而不仅仅玻璃支持。我们还在光线跟踪反射中添加了蒙皮网格支持、DLSS 光线重建和透明/多材质反射蒙皮网格。

Vulkan 中的光线跟踪支持支持计算逼真的反射,从而显著提高视口中实时场景的视觉质量。这样一来,您的场景就更接近使用我们的 CPU 和 GPU 光线跟踪器获得的结果。此选项位于“可视化”菜单的光栅化设置选项中。

单击左侧的 设置框 可打开“光线跟踪反射”对话框,设置反射中可见的透明曲面的层数(从前到后)。指定数量后面的任何曲面在反射中将不可见。

“光线跟踪反射”禁用 “光线跟踪反射”启用
“光线跟踪反射”禁用 “光线跟踪反射”启用

以下是光线跟踪反射中支持且可见的特定内容:

  • 玻璃和透明材质上的反射
  • 多层和分层材质
  • 蒙皮网格
  • 不透明材质
  • 精确反射区域灯光
  • Nvidia 实时降噪器或 DLSS-RR(在启用 DLSS 的情况下)

限制:目前,由于这是实时实现,因此与 VRED 的完整 CPU 和 GPU 光线跟踪相比,存在一些限制:

  • 线和线框材质 - 从不透明材质中排除这些材质。

  • 不带光线跟踪的区域灯光 - 它们生成近似的灯光遮挡。

  • 玻璃和透明材质上的反射 - 仅透明对象的正面层可以具有光线跟踪反射。

  • 反射 - 仅针对材质的最顶层(如透明涂层,如果存在)或基础层以及最前面的透明对象采样计算反射。仅计算一次反射反弹(每像素一条光线),因此只有直接反射是可见的。但是,不透明和透明对象的光线跟踪反射是独立的步骤。这意味着一个像素可以发射两条光线,一条用于不透明过程,另一条用于透明过程。

    例如,对于具有不透明材质(如不透明塑料)且没有透明涂层的对象,将进行光泽反射光线跟踪。如果材质包含透明涂层,则只会对透明涂层反射进行光线跟踪。基础层(本例中的实际塑料)将使用法线环境采样。

    再举一个例子,如果一个透明对象(如平面)位于一个不透明对象的前面,那么两个对象都会产生光线跟踪反射,因为它们是在不同的过程上计算的。如果一个透明对象位于另一个透明对象的前面,则仅对最接近摄影机的采样进行光线跟踪,而后面的采样将回退到环境采样。

  • 细分(置换贴图)- 尚不支持,因此,将使用未细分版本的网格。

    当反射中可以看到具有置换的网格时,将显示“平面”版本。当光栅化和光线跟踪中的信息不匹配时,这种情况可能会产生瑕疵。

    例如,当为具有置换的网格计算光线跟踪环境光遮挡时,由于光线是从置换网格生成的,因此光线会与非置换网格发生碰撞。这对于凹面几何体或向内移动几何体的置换更为明显,因为它们会产生自身阴影。自身阴影会出现在 Substance 材质上,这些材质使用高度值为 0.5 的置换贴图作为“无置换”。当高度值小于 0.5 时,这些曲面会出现缩进。解决方法是将 VRED Substance 材质中的置换偏移从 0.5 更改为 0.0。

  • 体积当前在反射中不可见。

屏幕空间折射

仅适用于 Vulkan。我们实现了屏幕空间折射 (SSR),它通过实时模拟灯光折射来增加半透明和透明材质(例如玻璃和塑料)的真实感。此选项位于“可视化”菜单的光栅化设置选项中。

提示:

也可以通过“材质编辑器”分别启用/禁用每种材质的折射。

将 Vulkan 与屏幕空间折射结合使用的示例

限制:目前,由于这是实时实现,因此存在一些限制:

  • 透明度 - 此功能仅限于最靠近摄影机的透明层,其后方的任何其他透明材质都将被忽略。
  • 折射 - 这些折射与 CPU 或 GPU 光线跟踪器上的结果不匹配。
  • DLSS-RR - 使用“屏幕空间折射”时,这会产生瑕疵。要避免出现此情况,请在使用“屏幕空间折射”时使用默认降噪器。在这种情况下,质量会降低,因为默认降噪器生成的结果往往会更差,并会引入更多滞后。
  • DLSS - 如果在使用“屏幕空间折射”时启用 DLSS,则最初渲染较低分辨率,使用默认降噪器降噪,然后通过 DLSS 放大。因此,与未使用 DLSS 的屏幕空间折射相比,屏幕空间折射 + DLSS 生成的结果质量往往更低。

遮挡消隐

视频字幕:其中一项优化是遮挡消隐(可以在“可视化”菜单中启用)。遮挡消隐通过跳过被其他对象隐藏的对象的渲染来提高性能,并且根据场景类型的不同,可能产生显著的积极影响。

我们重新设计了遮挡消隐的实现,使其比以前更快。遮挡消隐可避免渲染被其他对象隐藏的对象,从而提高性能。

我们以前的实现可能会使某些场景变慢,而这一新的实现提高了帧速率;因此,默认情况下它处于启用状态。要禁用此功能,请在“可视化”菜单的光栅化设置选项中取消选中遮挡消隐

环境光

环境光是在环境图像中使用较亮聚光灯创建灯光的一种方法。

限制:Vulkan 目前仅支持一组环境光,这些环境光来自世界中配置的活动环境。其材质与世界的活动环境使用相同环境的对象将由环境光照亮,而使用不同环境的对象则不会。

环境光被场景中投射阴影的任何对象遮挡,而与材质中配置的环境无关。

注意:

对于环境材质,当阴影光源未设置为 0 时,将修改环境光贴图以补偿来自环境中所生成灯光的照明,从而使场景更暗。因此,只应为配置为在世界中处于活动状态的环境启用“阴影光源”,而任何本地环境都应禁用灯光生成以实现正确的行为。如果本地环境(指定给材质但未在世界中配置为活动状态的环境)启用了灯光生成,则对象将看起来比预期更暗,因为它缺少灯光的照明。

线管

VRED 现在通过 Vulkan 支持线管。将任何材质应用到直线几何体,并为管半径设置沿整条线均匀分布的厚度。这些线由许多相连的胶囊近似形成。在某些情况下,在线段之间可以看到胶囊封口。要控制线厚度,请使用“材质编辑器”>“公用”部分中的“线管半径”选项。

用于汽车座椅装饰的线管

限制:目前,由于这是实时实现,因此存在一些限制:

  • VRED 中的某些线管几何体没有纹理坐标。仅当源直线几何体具有纹理坐标时,线管才具有纹理坐标。
  • 应避免使用纹理坐标的材质。
  • 线管半径在光线跟踪反射中不起作用。使用默认半径(1 个单位);但是,这通常意味着管线太细。

硬件细分置换贴图

我们向 Vulkan 添加了对硬件细分置换贴图的支持,以显著提高视觉质量,同时最大程度地降低对性能的影响。这将使用置换贴图纹理向曲面添加精细细节,从而无需高多边形基础网格即可创建更加复杂的几何体。每当加载材质时,使用置换纹理,并且置换高度设置大于 0,就将使用硬件细分置换贴图。

显示群集

前板和底板完全受支持。

限制:目前,由于这是实时实现,因此存在一些限制:

  • 色调映射
  • 后期处理 - 尚不支持光晕、强光、颜色调和、色度色差、装饰图案和混合贴图
  • 光线跟踪降噪
  • 辅助可视化 - 边界框和变换操纵器等内容不会显示在 Vulkan 显示群集上
  • 对于较小的尺寸,将禁用光线跟踪 DLSS。如果渲染尺寸小于 129 x 193 像素,将禁用 DLSS,因为这会产生噪波效果。

材质

以下选项尚不支持:爱色丽车漆 v1(支持爱色丽车漆 v2)、爱色丽 BTF、OCS 和区块材质。

以下选项已弃用或不会实现:“丝绒”、“纺织布料”(尝试使用 Substance、MaterialX 或 MDL 作为替换)、“线铬合金”(尝试在线管上使用铬合金材质)和“铬合金涂抹”(因为 GPU 光线跟踪器不支持)。

限制:目前,由于这是实时实现,因此存在一些限制:

  • 对每个纹理的“重复”、“偏移”或“旋转”设置使用非默认值时,玻璃纹理投影看起来可能有所不同。
  • 半透明和体积 SVBRDF AxF 材质渲染是近似值(类似于 OpenGL),因为 Vulkan 还没有实现次表面散射。
  • X 射线材质显示对象面向摄影机的所有曲面,包括自遮挡部分,而不仅仅是对象最前面的曲面。

一般限制

下面列出了一般限制。

  • - Vulkan 不支持摄影机雾选项。可以改用散射体积
  • 几何体灯光 - Vulkan 不支持几何体灯光,因此它们不产生任何照明。与任何其他对象一样,启用光线跟踪反射可查看几何体灯光的光泽和镜面反射。
  • 多 GPU - 目前 Vulkan 只能使用一个 GPU。
  • 多材质 - 对于多材质,例如多层和分层材质,所有子材质都使用由所有材质属性的混合生成的相同光线。这样做并不准确,并且无法实现某些效果,例如在不透明材质上使用玻璃材质来模拟透明涂层。
  • 光线跟踪功能 - VRED 2026 中的 AMD GPU 不支持光线跟踪反射、光线跟踪环境光遮挡和光线跟踪环境阴影。在具有 AMD GPU 的系统上加载启用了这些选项的文件时,这些功能将自动禁用。
  • 渲染模式 - 不支持“曲面分析”和非照片级真实感渲染模式。要访问这些模式,请切换到 OpenGL 渲染器。
  • 次表面散射 - 与在 OpenGL 中一样,Vulkan 目前不支持次表面散射。
  • 透明对象排序 - 目前,Vulkan 仅支持深度剥离,从而以正确的顺序渲染透明对象。这种方法能够确保透明表面的正确可视化,即使在同一个对象中也是如此;但是,它的速度比正常对象排序慢,并且受支持的层数(给定像素的透明采样数)的限制。达到该限制时,“深度剥离”会产生视觉瑕疵。
  • 可变着色速率 - Vulkan 尚不支持此功能。

首选项

我们在“渲染窗口”首选项 >“可视化”选项卡 > 视口部分中添加了以下选项,以便将 Vulkan 设置为默认光栅器。

  • 默认光栅器 - 设置 VRED 使用的默认光栅器。从 Vulkan 和 OpenGL 中选择。

    • Vulkan 具有 OpenGL 无法提供的高级功能,例如 GPU 加速光线跟踪(需要使用与光线跟踪兼容的显卡)。光栅化与预计算模式下的 GPU 光线跟踪器非常相似,从而简化了光栅化和光线跟踪之间的过渡。它可以高效处理大量对象,尤其是在运动中时,并且不像 OpenGL 那样有灯光限制,因为所有灯光都会照亮几何体和体积。