Graphics - ToneMapping

一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;

ToneMapping

简单的说来,就是为了让图像能在显示器上面显示的更真实,把大于1的亮度通过一定的方式压缩在0-1的范围之内,让我们可以在显示器上观察到;

因为人对世界的感知是接近对数的,比如对亮度的感知大概是这样的:

具体来说,主要是计算当前的平均亮度,然后根据这个平均亮度来选择一个合适的亮度域;最后将整个场景映射到这个亮度域得到一个正确的计算结果;防止在将一部分像素映射到显示器时出现曝光的现象;

随着拍摄设备、渲染方法和显示设备的发展,HDR慢慢会成为标配;照相机和摄像机可以捕捉到HDR的影响,渲染过程中可以产生HDR的画面;这些内容如果需要显示到LDR的设备上,就需要ToneMapping过程,把HDR变成LDR;现在高端的显示器和电视也可以直接显示出HDR的内容;然而和LDR不同之处在于,LDR就是一个确定的范围,HDR是一个非常宽广的概念;即便两个都是HDR的,但它们的范围仍可能不同;因此有人把这个称为Variable Dynamic Range(VDR),可变动态范围,因为此H不一定是彼H;所以,即便在一个HDR世界,也仍然需要ToneMapping来改变动态范围;

实际上ToneMapping自古以来一直都有,不是计算机图形学的专利;早期因为颜料的对比度有限,达芬奇等的高手会把需要表达的内容用很有限的颜色画出来,即便色彩不真实;而刚发明电影的时候,胶片能表达的亮度范围有限,所以摄影师会把高亮区域和阴影区域向中等亮度方向压缩,发展出了S曲线的映射关系;这些都是ToneMapping;

到了计算机图形学发展的时代,最早只有LDR,颜色就是0-255;这个情况一直持续了很长很长时间;到了90年代后期,软硬件的发展才让HDR变成一个可以考虑的问题;所以HDR转LDR的需求也就浮现出来了;随着2000年之后,GPU、游戏和电影特效的突飞猛进,ToneMapping也经历了一系列的进化历程;


猜你喜欢

转载自blog.csdn.net/DoomGT/article/details/113700094