原文链接:https://docs.unity3d.com/Manual/LinearLighting.html
1 线性渲染概述
Unity编辑器支持使用gamma颜色空间和linear颜色空间。Gamma涂颜色空间是历史上的标准格式,线性颜色空间渲染可以得到更精确的结果。
1.1 linear和gamma颜色空间
人类的眼睛对光照的强度不是线性反应的,我们可以更容易的看到某些亮度–也就是说从黑到白的线性梯度的光强,我们眼接收的时候不是线性的梯度:(下图左边是颜色梯度,右边是我们眼睛接收的梯度)
因为历史原因,显示器具有一些特征。为显示发送线性信号会导致看起来产生上图中右边错误的结果。为了弥补这个问题,就对信号做了gamma矫正。
之所以两种颜色空间共存,是因为在光照计算时我们需要使用线性空间来保证数学计算正确,但是结果需要表示为gamma空间来保证眼睛看到的结果正确。
即使现在显示器是数字的,它依然做gamma编码,而且图像文件和视频文件也是在gamma空间下编码。
Gamma颜色空间的接收标准是sRGB,这个标准定义了映射到可以让我们眼睛看到更多8bits/通道精度的线性空间。