// 高斯模糊 Shader "Erika/Common/Image/Blur" { Properties { _MainTex("Texture", 2D) = "white" {} _Angle("Angle", float) = 0 _Distance("Distance", float) = 0 _UnitTileOffset("TileOffset", Vector) = (1,1,0,0) _Iterate("Iterate Count", float) = 1 } SubShader { Tags { "RenderType" = "Opaque" "Queue" = "Transparent-1"} LOD 100 ZWrite Off ZTest LEqual Blend SrcAlpha OneMinusSrcAlpha Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" #include "./ImageEffect.cginc" #include "./ImageHelper.cginc" struct v2f { float2 uv : TEXCOORD0; float4 vertex : SV_POSITION; }; float _Angle; fixed _Distance; float _Iterate; v2f vert(appdata_img v) { v2f o; o.vertex = UnityObjectToClipPos(v.vertex); o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); return o; } fixed4 frag(v2f i) : SV_Target { _Angle = 0; _Distance = 0; fixed2 uv = i.uv; fixed4 color = blur(_MainTex, _ScreenParams.xy, uv); return color; } ENDCG } } } // shader