高品质后处理渲染技术分享:十种图像模糊算法的总结与实现( 二 )


文章图片

图 《鬼泣5》中的镜头眩光光晕(Glare Lens Flare)


高品质后处理渲染技术分享:十种图像模糊算法的总结与实现
文章图片

图 Tom Clancys The Division中的基于散景模糊(Bokeh Blur)的景深


这里也放一个《赛博朋克:霓虹中国(CyberNeon)》的视频 , 其中对于赛博朋克风夜中国风城市的展现 , 如果缺少了Bloom和Glare Lens Flare等依赖于本文讲到的模糊算法的后处理特效 , 展现出来的品质将少了很多韵味:


原地址:https://www.artstation.com/artwork/Z5RkbZ


十种图像模糊算法横向对比


在展开全文 , 对这十种图像模糊算法进行分别介绍之前 , 这一节中先做一个总览 , 即一个横向的对比 。 要评判一种模糊算法的好坏 , 主要有三个标准:

  • 模糊品质(Quality)。 模糊品质的好坏是模糊算法是否优秀的主要指标 。
  • 模糊稳定性
    (Stability)。 模糊的稳定性决定了在画面变化过程中 , 模糊是否稳定 , 不会出现跳变或者闪烁 。

  • 性能
    (Performance)。 性能的好坏是模糊算法是否能被广泛使用的关键所在 。


以下是本文涉及的十种模糊算法在标准情况下以上述三个指标作为评判标准的横向对比:

高品质后处理渲染技术分享:十种图像模糊算法的总结与实现
文章图片


从上表的对比可以看到 , 除了Grainy Blur因其模糊质感的特殊性获得了“一般”的模糊品质评级之外 , 另外九种模糊算法在模糊品质和稳定性这两方面都获得了不错的评级 。 这是因为给到足够的迭代次数 , 且不做RT的DownSample , 他们都可以收敛到一个高品质的模糊质感 。

最终的分化在于性能 , 这才是评判一种算法性价比是否高 , 能否广泛用于实时渲染的关键因素 。 其中 , 可以看到仅双重模糊(Dual Blur)和粒状模糊(Grainy Blur)两种算法 , 获得了高的性能评级 。 当然 , 这是针对标准的算法而言 , 其他八种算法如果进行进一步的性能优化 , 也能具有更佳的性能 。

关于X-PostProcessing Libray

X-PostProcessing Libray , 简称XPL , 是本人开发的Unity引擎下的高品质开源后处理算法库 , 旨在提供业界主流的高品质后处理特效的完整解决方案 , 目前已完美支持Unity Post-processing Stack v2 。 后续也将提供对Unity引擎URP/LWRP/HDRP的兼容支持 。

【GitHub地址】:

https://github.com/QianMo/X-PostProcessing-Library



高品质后处理渲染技术分享:十种图像模糊算法的总结与实现
文章图片



截止本文发表 , 目前已以开源形式放出了17种Blur算法的后处理实现 。 而随着后续更多内容的公开 , X-PostProcessing Libray将成型为一个具有100+种后处理特效的高品质后处理开源算法库 。

OK , 下面我们开始正文 。 先从最热门 , 最为大众所熟知的高斯模糊开始 。

一、高斯模糊(Gaussian Blur)


高斯模糊(Gaussian Blur) , 也叫高斯平滑(Gaussian smoothing) , 作为最经典的模糊算法 , 一度成为模糊算法的代名词 。


推荐阅读