高品质后处理渲染技术分享:十种图像模糊算法的总结与实现( 八 )
}half4 Frag_UpSample(v2f_UpSample i): SV_Target{half4 sum = 0;sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.xy);sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv01.zw) * 2;sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.xy);sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv23.zw) * 2;sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.xy);sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv45.zw) * 2;sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv67.xy);sum += SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv67.zw) * 2;return sum * 0.0833;}
完整的Runtime + Shader实现可见:
https://github.com/QianMo/X-PostProcessing-Library/tree/master/Assets/X-PostProcessing/Effects/DualKawaseBlur
XPL中也提供了启发自Dual Kawase Blur的Dual Gaussian Blur、Dual Box Blur、Dual Tent Blur的实现 。
- Dual Gaussian Blur:
X-PostProcessing/Effects/DualGaussianBlur - Dual Box Blur:
X-PostProcessing/Effects/DualBoxBlur - Dual Tent Blur:
X-PostProcessing/Effects/DualTentBlur
Dual Kawase Blur最终的模糊效果截图如下 , 可以看到其与高斯模糊的模糊表现也非常接近:
文章图片
以下是在初始RT DownScale为1、Iteration为5的设置下 , Dual Kawase Blur的渲染步骤:
文章图片
同样 , 对模糊半径(Blur Radius)参数的调节 , 可以控制Dual Kawase Blur模糊的程度:
文章图片
五、散景模糊(Bokeh Blur)
散景(Bokeh)亦称焦外成像 , 是一个摄影名词 , 一般表示在景深较浅的摄影成像中 , 落在景深以外的画面 , 会有逐渐产生松散模糊的效果 。 散景效果有可能因为摄影技巧或光圈孔形状的不同 , 而产生各有差异的效果 。 例如镜头本身的光圈叶片数不同(所形成的光圈孔形状不同) , 会让圆形散景呈现不同的多角形变化 。 此外 , 反射式镜头焦外的散景 , 会呈现独有的甜甜圈形状 。
文章图片
推荐阅读
- 违反违反医疗事故处理条例 青岛交通医院被警告
- 个税APP提示退税“国库处理”……原来是这么回事!
- 陕西榆林女子制止两插队者被打 打人者已被警方处理
- 教师有这些行为或被开除!广东首份违反师德处理办法征求意见
- 推荐警惕!厨房突发爆燃竟和煤气无关,只因他这样处理剩菜剩饭…...
- 厨房突发爆燃,竟和煤气无关!只因他这样处理剩菜剩饭…
- 公积金速看!漯河将清理公积金长期封存账户,请及时处理
- 牵出黄岛一起打架牵出贩卖“笑气”案 三人被依法处理
- 外媒:美明尼苏达州总检察长将领导处理弗洛伊德案
- 【各个】幸福触手可及各个人物结局 迪丽热巴细节上处理的很好
