参考:这里
理论知识!参考上面链接!
主要思想:自己理解的
我们shader中需要的数据是线性数据,最终在显示器上显示时会施加一个Gamma转换,导致数据不是我们想要的,画面变暗!所以我们需要在着色器最后阶段进行Gamma矫正,这样在显示器显示时再转换就是我们想要的线性值了!
特别对于物体的贴图,基本上遵循sRGB颜色空间,意思就是已经Gamma矫正过了,所以我们采样使用时,需要转换为线性值进行计算。
但对于法线贴图和凹凸贴图的线性空间贴图则不需要转换到线性空间,因为本身就是线性空间。