跳至内容

FidelityFX Brixelizer GI

此样本演示了 FidelityFX Brixelizer GI 效果的使用。

有关 Brixelizer GI 效果所基于的技术的详细信息,您可以参考相应的 技术文档。Brixelizer GI 样本的实现可以在 samples/brixelizergi 目录中找到。

FidelityFX Brixelizer GI

要求

Windows DirectX(R)12 Vulkan(R)

UI 元素

Brixelizer GI 中的设置分为静态和动态两类。静态设置是指在创建上下文时必须指定的设置,因此需要销毁并重新创建 Brixelizer 上下文。动态设置是指可以每帧更改的设置。下表总结了静态设置及其在样本中的控制作用。

元素名称描述
网格单元大小0...1最详细级联中 Brixelizer 砖块在世界空间中的大小。为了清晰地看到此设置的效果,可以选择输出类型 BRICK_ID,以便在更改设置时能够清晰地看到单个砖块。
级联比例大小1.1...3每个级联级别之间的砖块大小比例。

下表总结了动态设置及其在样本中的控制作用。

元素名称描述
输出模式 / 示例着色器 / 调试可视化 / 漫反射 GI / 镜面 GI / 光照缓存 / 辐照度缓存选择样本的输出模式。值将在下方解释。
输出类型DISTANCE / UVW / ITERATIONS / GRADIENT / BRICK_ID / CASCADE_ID仅在示例着色器可用时使用。值将在下方解释。
起始级联0...7用于光线追踪的第一个级联的索引。
结束级联0...7用于光线追踪的最后一个级联的索引。
SDF 求解 epsilon0...1在光线追踪中用于确定是否遇到碰撞的值。
SDF 中心跟随相机true / false切换是否在移动相机时更新 SDF 中心。
TMin0...10用于计算命中距离的最小值。
TMax0...10000用于计算命中距离的最大值。
光线推移0...10在沿法线向量从表面偏移漫反射光线的距离。
漫反射 GI 因子0...10用于在最终输出中混合漫反射 GI 的因子。
镜面 GI 因子0...10用于在最终输出中混合镜面 GI 的因子。
启用 GItrue / false切换是否使用 Brixelizer GI。如果未使用,则仅显示具有直接光照的场景。
多重反弹true / false切换是否使用 Brixelizer GI 模拟多重反弹 GI,还是仅进行单次反弹 GI。
重置统计信息点击重置在 Brixelizer 上收集的统计信息。统计信息将在下方解释。

下表总结了样本可用的不同输出模式。

描述
正常绘制场景。是否使用 Brixelizer GI 由 **启用 GI** 控件切换。
示例着色器显示样本中示例着色器的输出,演示底层的 Brixelizer SDF。
调试可视化显示来自 Brixelizer GI API 的调试可视化。
漫反射 GI显示 Brixelizer GI 计算的漫反射 GI。
镜面 GI显示 Brixelizer GI 计算的镜面 GI。
光照缓存显示 Brixelizer GI 计算的光照缓存的可视化。
辐照度缓存显示 Brixelizer GI 计算的辐照度缓存的可视化。

下表总结了示例着色器可用的输出选项。此着色器演示了底层的 Brixelizer 技术及其场景的 SDF 表示。

描述
距离显示一个彩色渐变,表示命中距离。
UVW显示每次命中的 UVW 坐标。命中的 UVW 坐标是相对于砖块原点的命中的 XYZ 位置。
迭代次数显示一个热图渐变,显示收敛前的迭代次数。
渐变显示每次命中的法线。
BRICK_ID以随机颜色显示每个砖块。
CASCADE_ID以不同的颜色显示每次命中的级联。

下表详细介绍了为 Brixelizer 收集的统计信息。每个统计信息都有一个静态版本和一个动态版本,分别对应静态和动态几何,Brixelizer 会分别处理它们。

描述
空闲砖块Brixelizer 当前可用的空闲砖块数量。
最大砖块单帧中尝试的最大砖块分配数量。
最大三角形单帧中尝试的最大三角形分配数量。
最大引用单帧中尝试的最大引用分配数量。

设置 FidelityFX Brixelizer GI

该样本包含一个用于 Brixelizer GI 的 渲染模块,该模块负责上下文生命周期和调度。

样本控件和配置

有关样本控件、配置和 FidelityFX Cauldron 框架 UI 元素的详细信息,请参阅 运行样本

另请参阅

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