美文网首页
径向模糊——Shader屏幕后处理效果

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

作者: LEO_青蛙 | 来源:发表于2020-06-22 16:35 被阅读0次
    径向模糊

    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;
    

    相关文章

      网友评论

          本文标题:径向模糊——Shader屏幕后处理效果

          本文链接:https://www.haomeiwen.com/subject/rpjytktx.html