跳至内容

FidelityFX 可变着色

alt text

此示例演示了 FidelityFX 可变着色 (VRS) 计算算法的用法。

有关可变着色效果的底层技术的详细信息,请参阅相应的 技术文档

要求

  • Windows
  • DirectX(R)12
  • Vulkan(R)

UI 元素

示例包含各种 UI 元素,以帮助您探索其演示的技术。下表总结了 UI 元素及其在示例中的控制功能。

元素名称描述
启用可变着色已选中/未选中启用/禁用可变着色。
每个绘制调用 VRS1x1, 1x2, 2x1, 2x2着色率值。其他着色率为 2x4, 4x2, 4x4。
已启用 ShadingRateImage已选中/未选中启用/禁用 Tier 2 VRS 控制图像。
ShadingRateImage 组合器已选中/未选中每个组合器的选项为:直接通过(即禁用当前阶段)、覆盖(忽略前一阶段)、最小值、最大值和总和。
VRS 方差阈值0.0 - 1.0定义一个值,用于将亮度方差与用于生成 VRS 图像的计算着色器中的值进行比较。
VRS 运动因子0.0 - 1.0设置一个因子,通过该因子缩放像素自上一帧以来的运动,以修改着色率。
ShadingRateImage 叠加已选中/未选中启用/禁用 ShadingRateImage 叠加,这是一个渲染场景的调试图像。

设置可变着色

可变着色计算着色器以几何渲染通道生成的线性颜色缓冲区和几何渲染通道之前生成的运动矢量缓冲区作为输入。最终的 VRS 控制图像将写入从设置中传递的输出缓冲区。

包含 VRS API 后端的接口。

C++

#include <FidelityFX/host/ffx_vrs.h>

创建 VRS 上下文

if (m_AllowAdditionalShadingRates)
m_InitializationParameters.flags |= FFX_VRS_ALLOW_ADDITIONAL_SHADING_RATES;
m_InitializationParameters.shadingRateImageTileSize = m_FeatureInfoVRS.MaxTileSize[0];
ffxVrsContextCreate(&m_VRSContext, &m_InitializationParameters);

设置调度参数并进行调度

FfxVrsDispatchDescription dispatchParameters = {};
dispatchParameters.commandList = ffxGetCommandList(pCmdList);
...
FfxErrorCode errorCode = ffxVrsContextDispatch(&m_VRSContext, &dispatchParameters);

示例控件和配置

有关示例控件、配置和 FidelityFX Cauldron Framework UI 元素的详细信息,请参阅 运行示例

另请参阅

© . This site is unofficial and not affiliated with AMD.