伽马校正(Gamma Correction)与sRGB

本文探讨了 CRT 显示器的非线性特性如何与人眼视觉相匹配,以及这对渲染和显示的影响。伽马校正是为了解决显示器亮度显示不准确的问题,它涉及到线性空间和 sRGB 空间的转换。同时,文章提到了 sRGB 纹理处理的注意事项,以及点光衰减在伽马校正前后的影响。伽马校正对于正确呈现图像细节和颜色亮度至关重要,尤其是在现代图形渲染中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


CRT显示器与人眼视觉

过去, 大多数监视器是阴极射线管显示器(CRT). 这些监视器有一个物理特性就是两倍的输入电压产生的不是两倍的亮度. 输入电压产生约为输入电压的 2.2 次幂的亮度. 这本质上是一个问题, 但是由于一个神奇的巧合, CRT显示器的这一特性被保留了下来.

这个神奇的巧合就是: 人类的视觉系统进化出了一个特性, 黑暗环境下的辨识能力要强于明亮环境, 这可能有助于我们及时发现黑暗中隐藏的危险. 如下图所示, 第一行表示的人眼感受到的亮度, 第二行表示实际的物理亮度. 物理亮度基于光子数量, 是线性的, 而感知亮度基于人的感觉是非线性的.
灰阶
通过观察可以看到物理亮度在我们眼中会显得暗部细节缺失而亮部细节过剩. 人眼对物理亮度的感知和 CRT 显示器显示亮度对电压的感知很接近, CRT亮度是电压的2.2次幂而人眼的观察亮度相当于物理亮度的2次幂, 因此CRT这个缺陷正好能满足人的需要, 后面的硬件也都保留了这一非线性特性.

2.2 这一数字就是所谓的伽马(Gamma), 也叫灰度系数, 各种显示设备会有各自的伽马值, 矫正使用的伽马值取决于显示器, 但是现代系统基本上都统一使用 2.2.


非线性显示与渲染

显示器的非线性特性让亮度在我们眼中看起来更好, 但是在渲染时反而会因此导致问题. 我们的渲染计算都是在伽马值为 1 的理想线性空间进行的. 比如现在我们输入了一个暗红色的光照(0.5, 0.0, 0.0), 然后希望将亮度提升一倍变为 (1.0, 0.0, 0.0). 但是由于显示器的非线性特性, 最终显示的颜色实际是从 (0.218, 0.0, 0.0) 变成了 (1.0, 0.0, 0.0).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值