高品质后处理渲染技术分享:十种图像模糊算法的总结与实现(14)
half4 DirectionalBlur(VaryingsDefault i)
{
half4 color = half4(0.0, 0.0, 0.0, 0.0);
for (int k = -_Iteration; k < _Iteration; k++)
{
color += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord - _Direction * k);
}
half4 finalColor = color / (_Iteration * 2.0);
return finalColor;
}
完整的Runtime + Shader实现可见:
https://github.com/QianMo/X-PostProcessing-Library/tree/master/Assets/X-PostProcessing/Effects/DirectionalBlur
方向模糊后处理的渲染效果如下:
文章图片
同样 , 对模糊半径(Blur Radius)参数的调节 , 可以控制模糊的程度:
文章图片
而调节Angle参数 , 可以控制模糊旋转的方向:
文章图片
总结
本文开头已经提到 , 模糊算法在后处理渲染领域占据着非常重要的地位 。 很多产品级后处理的实现 , 都会直接或间接依赖于一种或多种图像模糊算法 。 后处理管线中所采用的模糊算法的优劣 , 决定了产品最终的渲染品质和消耗的性能大小 。
让我们重新看一下这十种模糊算法的横向对比 , 相信此时 , 大家对这十种模糊算法已经有了更全面的理解 , 以及自己的选择 。
文章图片
The End.
Reference
[1] GDC 2003, Frame Buffer Postprocessing Effects in DOUBLE-S.T.E.A.L (Wreckless)
[2] SIGGRAPH 2015, Bandwidth-Efficient Rendering
[3] SIGGRAPH 2001 , Fast Image Convolutions
[4] Gonzalez R C, Woods R E. Digital image processing, 4th edn. ISBN: 9780133356724[J]. 2017.
[5]https://computergraphics.stackexchange.com/questions/39/how-is-gaussian-blur-implemented
[6] http://datahacker.rs/opencv-average-and-gaussian-filter/
[7]https://towardsdatascience.com/image-processing-class-egbe443-4-filters-aa1037676130
[8] https://www.zhihu.com/question/20813608/answer/261346592
[9] https://en.wikipedia.org/wiki/Box_blur
[10] https://en.wikipedia.org/wiki/Gaussian_blur
[11] http://blog.marmakoide.org/?p=1
推荐阅读
- 违反违反医疗事故处理条例 青岛交通医院被警告
- 个税APP提示退税“国库处理”……原来是这么回事!
- 陕西榆林女子制止两插队者被打 打人者已被警方处理
- 教师有这些行为或被开除!广东首份违反师德处理办法征求意见
- 推荐警惕!厨房突发爆燃竟和煤气无关,只因他这样处理剩菜剩饭…...
- 厨房突发爆燃,竟和煤气无关!只因他这样处理剩菜剩饭…
- 公积金速看!漯河将清理公积金长期封存账户,请及时处理
- 牵出黄岛一起打架牵出贩卖“笑气”案 三人被依法处理
- 外媒:美明尼苏达州总检察长将领导处理弗洛伊德案
- 【各个】幸福触手可及各个人物结局 迪丽热巴细节上处理的很好
