1 Shader "Hidden/RadialBlur"
2 {
3     Properties {
4         _MainTex (
"Base (RGB)", 2D) = "" {}
5     }
6     
7     
// Shader code pasted into all further CGPROGRAM blocks
8     CGINCLUDE
9         
10     #include
"UnityCG.cginc"
11     
12     
struct v2f {
13         float4 pos : SV_POSITION;
14         float2 uv : TEXCOORD0;
15         float2 blurVector : TEXCOORD1;
16     };
17         
18     sampler2D _MainTex;
19     
20     float4 _BlurRadius4;
21     float4 _SunPosition;
22
23     float4 _MainTex_TexelSize;
24         
25     v2f vert( appdata_img v ) {
26         v2f o;
27         o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
28         o.uv.xy = v.texcoord.xy;
29         
30         o.blurVector = (_SunPosition.xy - v.texcoord.xy) * _BlurRadius4.xy;
31         
32         
return o;
33     }
34     
35     #define SAMPLES_FLOAT
6.0f
36     #define SAMPLES_INT
6
37     
38     half4 frag(v2f i) : SV_Target
39     {
40         half4 color = half4(
0,0,0,0);
41                 
42         
for(int j = 0; j < SAMPLES_INT; j++)
43         {
44             half4 tmpColor = tex2D(_MainTex, i.uv.xy);
45             color += tmpColor;
46             
47             i.uv.xy += i.blurVector;
48         }
49         
50         
return color / SAMPLES_FLOAT;
51     }
52
53     ENDCG
54     
55 Subshader
56 {
57  Blend One Zero
58  Pass {
59       ZTest Always Cull Off ZWrite Off
60
61       CGPROGRAM
62       #pragma vertex vert
63       #pragma fragment frag
64       
65       ENDCG
66   }
// Pass
67 }
// Subshader
68
69 Fallback off
70
71 }
// shader


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