HDR and 2020 gamut output over SDI or SMPTE 2110

引擎怎么通过SDI或者2110协议 输出HDR和2020色域的渲染画面​?

重现步骤
引擎怎么通过SDI或者2110协议 输出HDR和2020色域的渲染画面?

抱歉,由于本地没有相应硬件做测试,想先问下你这边是输出HDR遇到问题,还是结合以下通讯协议输出遇到了问题?

SMPTE 2110 Media IO Workflows

Blackmagic Video I/O Quick Start

目前UE高动态广色域输出的文档有些过时,可以参照以下步骤:

  • HDR显示器,调整到合适的Color模式,比如PQ BT.2020
  • 开启Windows HDR
  • UE内
    • **r.AllowHDR 1;**r.HDR.EnableHDROutput 1 开启支持HDR输出。如果不起效,在DefaultEngine.ini里设置
    • 不需要使用OCIO
    • 有一些Cvars可调,自定义min/mid/max luminance 调整HDR 模式下的Tonemapper的表现(可暴露给玩家)
      • r.HDR.Display.MinLuminanceLog10
      • r.HDR.Display.MidLuminance
      • r.HDR.Display.MaxLuminance
      • 如果觉得HDR模式下整体比SDR偏暗些以下参数供参考:
        • r.HDR.Aces.SceneColorMultiplier=1
        • r.HDR.Display.MidLuminance=50
    • 以下这些改变输出色域和Gamma的参数在HDR模式下,编辑器内变成只读,无法手动调整。使用ScRGB广色域16bit线性编码,输出引擎会根据接入显示器自适应
      • 编辑器内(r.HDR.Display.OutputDevice 5;r.HDR.Display.ColorGamut 0)
  • 跑起来(Standalone Game)
    • 跑起来后为了性能和带宽使用10bit PQ BT.2020色域编码;输出到显示器再做Decoding (r.HDR.Display.OutputDevice 3;r.HDR.Display.ColorGamut 2)
    • 编辑器内和跑起来看到的基本一致