From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- Client/Assets/Scripts/XMainClient/XGausBlur.cs | 50 ++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/XGausBlur.cs (limited to 'Client/Assets/Scripts/XMainClient/XGausBlur.cs') diff --git a/Client/Assets/Scripts/XMainClient/XGausBlur.cs b/Client/Assets/Scripts/XMainClient/XGausBlur.cs new file mode 100644 index 00000000..90c299c9 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/XGausBlur.cs @@ -0,0 +1,50 @@ +using System; +using UnityEngine; + +internal class XGausBlur : XImageEffectBase +{ + public int iterations = 3; + + public float blurSpread = 0.6f; + + private void OnRenderImage(RenderTexture source, RenderTexture destination) + { + int num = source.width / 4; + int num2 = source.height / 4; + RenderTexture renderTexture = RenderTexture.GetTemporary(num, num2, 0); + this.DownSample4x(source, renderTexture); + for (int i = 0; i < this.iterations; i++) + { + RenderTexture temporary = RenderTexture.GetTemporary(num, num2, 0); + this.FourTapCone(renderTexture, temporary, i); + RenderTexture.ReleaseTemporary(renderTexture); + renderTexture = temporary; + } + Graphics.Blit(renderTexture, destination); + RenderTexture.ReleaseTemporary(renderTexture); + } + + public void FourTapCone(RenderTexture source, RenderTexture dest, int iteration) + { + float num = 0.5f + (float)iteration * this.blurSpread; + Graphics.BlitMultiTap(source, dest, base.material, new Vector2[] + { + new Vector2(-num, -num), + new Vector2(-num, num), + new Vector2(num, num), + new Vector2(num, -num) + }); + } + + private void DownSample4x(RenderTexture source, RenderTexture dest) + { + float num = 1f; + Graphics.BlitMultiTap(source, dest, base.material, new Vector2[] + { + new Vector2(-num, -num), + new Vector2(-num, num), + new Vector2(num, num), + new Vector2(num, -num) + }); + } +} -- cgit v1.1-26-g67d0