1 Shader "Hidden/BlurEffectConeTap" {
2     Properties { _MainTex (
"", any) = "" {} }
3     CGINCLUDE
4     #include
"UnityCG.cginc"
5     
struct v2f {
6         float4 pos : SV_POSITION;
7         half2 uv : TEXCOORD0;
8         half2 taps[
4] : TEXCOORD1;
9     };
10     sampler2D _MainTex;
11     half4 _MainTex_TexelSize;
12     half4 _BlurOffsets;
13     v2f vert( appdata_img v ) {
14         v2f o;
15         o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
16         o.uv = v.texcoord - _BlurOffsets.xy * _MainTex_TexelSize.xy;
// hack, see BlurEffect.cs for the reason for this. let's make a new blur effect soon
17         o.taps[
0] = o.uv + _MainTex_TexelSize * _BlurOffsets.xy;
18         o.taps[
1] = o.uv - _MainTex_TexelSize * _BlurOffsets.xy;
19         o.taps[
2] = o.uv + _MainTex_TexelSize * _BlurOffsets.xy * half2(1,-1);
20         o.taps[
3] = o.uv - _MainTex_TexelSize * _BlurOffsets.xy * half2(1,-1);
21         
return o;
22     }
23     half4 frag(v2f i) : SV_Target {
24         half4 color = tex2D(_MainTex, i.taps[
0]);
25         color += tex2D(_MainTex, i.taps[
1]);
26         color += tex2D(_MainTex, i.taps[
2]);
27         color += tex2D(_MainTex, i.taps[
3]);
28         
return color * 0.25;
29     }
30     ENDCG
31     SubShader {
32          Pass {
33               ZTest Always Cull Off ZWrite Off
34
35               CGPROGRAM
36               #pragma vertex vert
37               #pragma fragment frag
38               ENDCG
39           }
40     }
41     Fallback off
42 }


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