百人计划学习视频连接:HDR与LDR
什么是动态范围 (Dynamic Range)?
简称DR,就是指最高的和最低的亮度之间的比值
因此有以下两种
- LDR = Low Dynamic Range 低动态范围
- HDR = High Dynamic Range 高动态范围
LDR
定义如下:
- 8位精度,2的八次方0-255
- 单通道0-1
- 常用LDR图片储存格式:jpg/png等
- 应用:拾色器、一般的图片、电脑屏幕

HDR
定义如下:
- 远高于8位的精度
- 单通道可超过1
- 常用的HDR图片储存格式:hdr/tif/exr/raw等
- 应用:HDRI、真实世界

HDR与LDR的关系:HDR可以使得我们表示超过0~1内的亮度值,从而可以更加精确地反映真实的光照环境,但是我们最后还是需要把信息转换到显示设备使用的LDR内,不过中间的计却可以让我们得到更加真实可信的效果,这个过程也叫色调映射ToneMapping,下文会介绍
-
为了更好的色彩和更高的动态范围和更丰富的细节,并有效的防止画面过曝;

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

HDR图的来源:http://www.hdrlabs.com/sibl/archive.html
https://www.openfootage.net/hdri-panorama/
如何打开HDR

HDR的设置

使用了HDR后,拾色器会有一个Intensity的值来调整颜色强度

Unity3d使用HDR的优缺点


Bloom的实现过程
先渲染出原图——>算超出某阈值的高光像素(获取较亮的部分)——>对这些像素进行高斯模糊——>叠加光晕效果
Unity的Bloom流程

ToneMapping是什么?
就是把HDR压缩为LDR的过程,也叫色调映射,能让我们最大限度的保留需要的亮度细节

ACES曲线
被运用的最广泛的ToneMapping曲线

其他ToneMapping曲线

LUT
定义: Look Up Table,效果类似于滤镜,但是算法不一样
与ToneMapping不同的之处在于:LUT是在LDR之间做变换,ToneMapping是在HDR做变化

试试IBL在HDR和LDR的区别
因为还不会写真正的IBL光照,用了之前传统光照模型的作业那套模型做测试
左侧为使用了HDR的图,右侧为LDR的图

调整Mipmap层级后的对比


参考学习:
《Unity+Shader入门精要》——冯乐乐著









