SRP_12_HDR


  • 默认LDR 贴图格式
    • R8G8B8A8_SRGB
      • 单通道 8 bit,RGB 值存储在 sRGB 空间
  • 默认HDR贴图格式
    • R16G16B16A16_SFloat
      • 单通道 16 bit 有符号的 float 类型,值在 linear space
  • 使用HDR格式贴图时,在帧调试器上显示会偏黑,因为他存储的线性数据,被错误的按sRGB显示了

    image-20221215222713532

  • HDR 缺点:Fighting Fireflies

    • image-20221215222751151

    • 解决办法

      • 在 downsample 时采样 6x6 box filter
      • image-20221215222819204
      • 使用 Luminance(亮度)权重,将亮度有效的分散到其他像素上
      • image-20221215222837926
      • image-20221215222844003
      • 因为在采样后紧接着进行了高斯模糊,我们可以去掉相邻的(上下左右)四个采样点,有9个减少到5个
      • image-20221215222856479
      • 减弱后的效果(并没有完全消除,只是使他们看起来不那么明显)
      • image-20221215222921538
  • Tone Mapping

    • 产生原因:

        • 使用HDR后会使最后输出的颜色值超过1,但是最终呈现在屏幕上的又会被强制clip到 0..1,导致无法表达强度超过1的颜色。
          • 为了能够正确表达,需要对颜色重新映射,使其回到 0..1 的范围。但有不能直接线性映射,不然整体就太黑了,效果不好。
          • 不同映射效果会呈现不同的视觉效果,这个映射就叫 Tone Mapping
      • Reinhard 方式


文章作者: 血魂S
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 血魂S !
  目录