跳至内容

FidelityFX 保持亮度映射器 1.4

什么是 FidelityFX 亮度保持映射器?

FidelityFX 亮度保持映射器 (LPM) 是一种用于高动态范围 (HDR) 和宽色域内容的色调映射和色域映射解决方案。FidelityFX LPM 对每个 RGB 像素的亮度 (luma) 进行色调映射,而不是对颜色本身进行映射,但会确保 tonemap(luma(RGB))luma(tonemap(RGB)) 非常相似,也就是说,它能保持像素的亮度信息。

FidelityFX LPM 关闭

NoLPM

FidelityFX LPM 开启

LPM

高层概览

FidelityFX LPM 分为两部分:设置调用和过滤器调用。

设置调用会将与色调和色域映射计算所需数据相关的信息写入固定大小的控制块,而过滤器调用则从控制块读取数据,计算并输出 FP16 版本的色调和色域映射后的颜色值或值对。

ffx_lpm.h:

  • 用于映射器 CPU 端设置以及 GPU 端设置和色调/色域映射计算函数的通用头文件。
  • LpmSetup() 用于在控制块中设置映射器所需的所有数据
    • 内容色域是什么。
    • 显示器色域是什么。
    • 内容在 RGB 中的最大亮度值。
    • 高于 SDR/LDR 1.0 的曝光步长
  • LPMFilter() 通过读取控制块中的数据来进行映射器计算。
  • 有关详细说明,请阅读 ffx_lpm.h 中的注释

ffx_lpm.cpp:

  • FidelityFX LPM 的 CPU 端设置代码。
  • 根据所选的内容色域和显示模式选择正确的 LPM_config_*_*LPM_color_*_* 配置。

ffx_lpm_filter.hlsl:

  • 用于进行色调和色域映射的 GPU 端调用。
  • 根据所选的内容色域和显示模式选择正确的 LPM_config_*_* 配置。

另请参阅

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