一、基本概念
- 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曲线
标签:采样,原图,HDR,Tonemapping,2.7,亮度,LDR,Bloom From: https://blog.51cto.com/u_136836/7916408