Notifications
Article
HDR,ToneMapping,Bloom之间的关系
Published 11 days ago
324
5
HDR,ToneMapping,Bloom之间的关系
初来乍到,欢迎关注评论转发,你们的关注是我最大的支持。

|HDR

High-Dynamic Range(又重复一遍),高动态范围图像。常用HDR图片储存格式有hdr/tif/exr/raw等。
与之相对的是LDR,低动态范围图像。我们身边的电子图片,几乎都是LDR。常用LDR图片储存格式有jpg/png等。
LDR图片,为8位图片。指的是RGB三个通道,每个通道的灰度值能有2^8=256个变化。也就是说,LDR的颜色一共能有256^3=16,777,216‬种。
LDR只能算是对现实颜色进行压缩,并呈现出来。看似丰富,但真和现实中的颜色比,还是局限了许多,一旦需要进行调色等后续加工,便会因为颜色不够而难以进行。
想增加颜色?这便诞生了HDR。单通道位数超过8位,便可称为HDR,常见有12位和16位。
通常电影母片,为16位图片,即可储存2^16^3=281474976710656种颜色,管够。
*注意区分原来FC上8位游戏和8位图片的区别,FC的8位指CPU,任天堂FC只有64种颜色

|ToneMapping

LDR的颜色为0-255,也记作0-1。超出1或低于0的颜色,就是HDR颜色。
想显示多出去的颜色,就要把HDR压缩为LDR,这种映射关系,即色调映射(ToneMapping)。
最耿直的映射是线性映射。
为什么叫最耿直呢?

如图,真实太阳的亮度是远远超出LDR的1。
暂定太阳中心亮度为100。而地上物体,可能只有3左右?
如果真线性映射后,图像可能是这样的

显然不符合人眼所见。
为此,人们对映射曲线做了很多调整。曲线慢慢变为S。
ToneMapping中最出名的,当属ACES(Academy Color Encoding System)。ACES常用于电影调色。


电影相关的有点超纲,各种输入设备/输出设备的颜色转换,我也不是太清楚,毕竟我也没在影视公司工作过。
引擎内的ACES倒很好理解。因为引擎内不存在输入设备,全是靠机器运算出亮度结果,是绝对正确。
如unity中,先设置项目颜色空间为Linear,
再打开PostProcessing =>Color Grading=>ACES
画面便会套用ACES曲线。

至此,显示器会获得一张被ACES矫正的[0-1]LDR图片。
如曲线所示,ACES会让画面对比度更高,压暗暗部,使暗部内变化更不明显。
现在便可在ACES的基础上,进一步开始调色。
*这里多提一句Lut
在Color Grading最下面还有个LUT,Lookup table。在ps中叫颜色查找表

简单点说,就是滤镜。
不过LUT与ToneMapping不同,LUT在LDR之间做变化。ToneMapping在HDR中做变化。
调整RGB三通道的LUT,称为3D LUT。格式有这几种。

除此之外,还有很多人见过一行彩色条的图片LUT。这个有人称之为Hald Images

不过我看很多插件不叫这个名字,而且不同插件不是全部通用?可能是自己写的映射???
至于用法。插件内一般会提供很多预设的Hald,其中有一个是Basic Hald,即贴上去画面不变。把这个Hald和game视图截图一起扔ps内调色,调完导出Hald即可使用,引擎画面和ps内八九不离十。
*还有就是,ACES真的不适用于VR,上期也说过,VR对比的是人眼,不是电影。

|Bloom

把HDR用ToneMapping压缩成LDR,再用Bloom表现高光溢出的效果。
这是引擎内对画面的处理方式。至于现实中为什么会出现Bloom,我在上期讲的很清楚。
这里简单说下引擎内如何实现Bloom效果。
PostProcessing v2及之前,是计算超出某个阈值的高光像素,并向外扩大高光像素。
但在HDRP的PostProcessing v3内,变成了用高斯模糊来模拟Bloom。

右边复制了一个A并模糊。
两个效果的优劣其实也很明显,V2 bloom高光可以很大,但效果容易失真。V3 bloom开再高,最多是个近视眼一片模糊,不过bloom低时,效果还可以。
下面是我的artstation地址:
https://www.artstation.com/luteli
当然你也能看看我原来写的文章:
https://www.zhihu.com/people/lute-li/posts
Super_LX
A Leisurely Artist - Artist
6
Comments
CGBull
10 days ago
Talk Artist
樱花兔文章嘞~?快写去🤔
在写了😅
0
樱花兔
11 days ago
一个做单机游戏的美少女
CGBull这么快?
文章嘞~?快写去🤔
0
樱花兔
11 days ago
一个做单机游戏的美少女
Super_LX复制粘贴,为什么不快
你俩太逗了~🤭
0
Super_LX
11 days ago
A Leisurely Artist
复制粘贴,为什么不快
0
CGBull
11 days ago
Talk Artist
这么快?
0