您当前的位置: 首页 >  unity

Jave.Lin

暂无认证

  • 2浏览

    0关注

    704博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity Shader PostProcessing - 6 - GaussianBlur 高斯模糊+CommandBuffer使用做一些其他的特效

Jave.Lin 发布时间:2020-03-19 00:53:33 ,浏览量:2

文章目录
  • 效果1
    • CSharp
    • Shader
  • 效果2
    • CSharp
  • 效果3
    • CSharp
    • Shader
  • Project
  • References
高斯模糊的算法思路我就不再描述,自行百度。

效果1

在这里插入图片描述

CSharp
using UnityEngine;

public class GaussianBlurPP : MonoBehaviour
{
    private static int _BlurSize_hash = Shader.PropertyToID("_BlurSize");

    [Range(0, 4)]
    public int iterations = 3;
    [Range(0.2f, 3.0f)]
    public float blurSpread = .6f;
    [Range(1, 8)]
    public int downSample = 2;

    public Material mat;

    private void OnRenderImage(RenderTexture source, RenderTexture destination)
    {
        if (mat == null)
        {
            Graphics.Blit(source, destination);
            return;
        }

        var rw = Screen.width / downSample;
        var rh = Screen.height / downSample;

        var rt0 = RenderTexture.GetTemporary(rw, rh, 0);
        rt0.filterMode = FilterMode.Bilinear;

        // 先将远source复制到rt0,
        Graphics.Blit(source, rt0);

        for (int i = 0; i             
关注
打赏
1664331872
查看更多评论
0.0455s