1 Shader "Hidden/SeparableBlurPlus" {
2     Properties {
3         _MainTex (
"Base (RGB)", 2D) = "" {}
4     }
5     
6     CGINCLUDE
7     
8     #include
"UnityCG.cginc"
9     
10     
struct v2f {
11         half4 pos : SV_POSITION;
12         half2 uv : TEXCOORD0;
13         half4 uv01 : TEXCOORD1;
14         half4 uv23 : TEXCOORD2;
15         half4 uv45 : TEXCOORD3;
16         half4 uv67 : TEXCOORD4;
17     };
18     
19     half4 offsets;
20     
21     sampler2D _MainTex;
22         
23     v2f vert (appdata_img v) {
24         v2f o;
25         o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
26
27         o.uv.xy = v.texcoord.xy;
28
29         o.uv01 = v.texcoord.xyxy + offsets.xyxy * half4(
1,1, -1,-1);
30         o.uv23 = v.texcoord.xyxy + offsets.xyxy * half4(
1,1, -1,-1) * 2.0;
31         o.uv45 = v.texcoord.xyxy + offsets.xyxy * half4(
1,1, -1,-1) * 3.0;
32         o.uv67 = v.texcoord.xyxy + offsets.xyxy * half4(
1,1, -1,-1) * 4.5;
33         o.uv67 = v.texcoord.xyxy + offsets.xyxy * half4(
1,1, -1,-1) * 6.5;
34
35         
return o;
36     }
37         
38     half4 frag (v2f i) : SV_Target {
39         half4 color = half4 (
0,0,0,0);
40
41         color +=
0.225 * tex2D (_MainTex, i.uv);
42         color +=
0.150 * tex2D (_MainTex, i.uv01.xy);
43         color +=
0.150 * tex2D (_MainTex, i.uv01.zw);
44         color +=
0.110 * tex2D (_MainTex, i.uv23.xy);
45         color +=
0.110 * tex2D (_MainTex, i.uv23.zw);
46         color +=
0.075 * tex2D (_MainTex, i.uv45.xy);
47         color +=
0.075 * tex2D (_MainTex, i.uv45.zw);
48         color +=
0.0525 * tex2D (_MainTex, i.uv67.xy);
49         color +=
0.0525 * tex2D (_MainTex, i.uv67.zw);
50         
51         
return color;
52     }
53
54     ENDCG
55     
56 Subshader {
57  Pass {
58       ZTest Always Cull Off ZWrite Off
59
60       CGPROGRAM
61       #pragma vertex vert
62       #pragma fragment frag
63       ENDCG
64   }
65 }
66     
67 Fallback off
68     
69 }
// shader


Gõ tìm kiếm nhanh...