• 2.7 HDR与LDR


    一、基本概念

    • HDR = High Dynamic Range(自然界动态范围)
    • LDR = Low Dynamic Range(显示器动态范围)
    • 动态范围 = 最高亮度/最低亮度

    LDR

    • 8位精度
    • 单通道0-1
    • 拾色器、一般图片、电脑屏幕

    HDR

    • 远高于8位的精度
    • 单通道可超过1
    • HDRI、真实世界

    二、为什么需要HDR

    1.为了更好的色彩,更高的动态范围和更丰富的细节,并且有效的防止画面过曝,超过亮度值1的色彩也能很好地表现,像素光亮度改的正常,视觉传达更加真实。

    2.HDR才有超过1的数值,才有光晕(bloom)的效果,高质量的bloom能体现画面的渲染品质。

    HDR图的来源:

    http://www.hdrlabs.com/sibl/archive.html

    https://www.openfootage.net/hdri-panorama/


    三、Unity中的HDR

    Camera-HDR设置

    • 场景将被渲染为HDR图像缓冲区
    • 屏幕后处理:Bloom&Tonemapping
    • 完成转化:HDR->LDR
    • LDR图像发送给显示器

    Lightmap HDR设置

    • 选择Hight Quality将启用HDR光照贴图支持,而Normal Quality将切换为使用RGBM编码。
    • GBM编码:将颜色存储在RGB同道中人,将乘数(M)存储在Alpha通道中

    拾色器HDR设置

    • 使用Intensity滑动条可以调整颜色的强度
    • 滑动条每增加1,则提供的光量增加一倍
    • 使用Intensity滑动条下的曝光样本可以看到当前颜色值在任一方向的预览效果

    优点

    • 画面中亮度超过1的部分不会被截为1,增加白色部分的细节并且减少曝光。
    • 更好的支持Bloom效果
    • 减少画面较暗部分的色阶感

    缺点

    • 渲染速度慢,需要更多显存
    • 不支持硬件抗锯齿
    • 部分手机不支持

    四、HDR与Bloom

    Bloom流程

    原图

    获取图像中较亮的部分

    进行高斯模糊

    叠加

    Unity中Bloom流程

    原图下采样得到1/2,再下采样到1/4,再下采样到1/8,再进行采样过程中不断叠加之前下采样。最后叠加原图,成为Bloom效果图。

    五、HDR与Tonemapping

    Tonemapping概念

    • 色调映射
    • ToneMapping:把HDR转化为LDR
    • 线性映射效果极差
    • 把高亮区域和阴影区域相中等亮度方向压缩->S曲线

    ACES

    • Academy Color Encoding System(学院颜色编码系统)
    • 最流行、最被广泛使用的Tonemapping映射曲线
    • 效果:对比度提高,很好地保留暗处和亮处的细节

    其他类型的Tonemapping曲线

  • 相关阅读:
    MyBatis关联关系映射详解
    如何实现基于场景的接口自动化测试用例?
    JAVA语言学习-面向对象(1)
    微服务架构详解
    【计算机图形学基础】线性代数基础2
    八大基本排序(详解)
    CSS学习笔记:Less
    Redux Toolkit
    深度学习优化算法之动量法[公式推导](MXNet)
    k8s Limits 限制内存
  • 原文地址:https://blog.csdn.net/s178435865/article/details/133738508