效果图
镜头眩光(耀斑)是摄影的人工产物,是由镜头和穿过它的光线之间的各种相互作用引起的。虽然它是一个人工制品,但是在计算机图形上仍有许多动机来模拟镜头眩光:
- 它增加了可感知的亮度和图像的明显动态范围
- 镜头眩光在摄影中是普遍存在的,因此在计算机生成的图像中如果缺失它,则会显得比较突兀
- 它可以扮演重要的风格或引人注目的角色,也可以作为电子游戏的游戏机制的一部分(比如眩光会让玩家眼花缭乱)
对于实时镜头眩光,传统上是最常见的方法是基于 sprite 的技术。虽然 sprite 能产生容易控制并且很大程度上较真实的结果,但它们必须明确地放置并要求能够正确地显示遮挡数据。在这里,我将介绍一个简单和相对低成本的屏幕空间处理方法,它从输入的颜色缓冲产生一个“伪”镜头眩光。它不是基于物理的,所以有些错误和失真,但可以用于补充(或增强)传统的基于 sprite 的效果。
算法介绍
该方法包括 4 个阶段:
- 下采样 / 阈值
- 生成镜头眩光特征
- 模糊
- 放大 / 与原始图像混合