径向模糊——Shader屏幕后处理效果

径向模糊

GitHub项目地址

屏幕后处理效果即在渲染完场景得到屏幕图像后,再进行处理的效果。
Unity Shader中的Pass是按照顺序执行的,如果需要使用一个Pass的处理结果作为另一个Pass的输入,这个时候就需要用到OnRenderImage()函数了。

径向模糊的原理:

float _BlurFactor;  //模糊强度
float2 _BlurCenter; //模糊中心点
//模糊方向: 中心像素 - 当前像素
float2 dir = _BlurCenter.xy - i.uv;
float4 col = 0;
//迭代
for (int j = 0; j < 5; ++j)
{
   //计算采样uv值:正常uv值+从中间向边缘逐渐增加的采样距离
   float2 uv = i.uv + _BlurFactor * dir * j;
   col += tex2D(_MainTex, uv);
}
//取平均值(乘法比除法性能好)
col *= 0.2;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。