1 Shader "Hidden/MotionBlur" {
2 Properties {
3     _MainTex (
"Base (RGB)", 2D) = "white" {}
4     _AccumOrig(
"AccumOrig", Float) = 0.65
5 }
6
7     SubShader {
8         ZTest Always Cull Off ZWrite Off
9         Pass {
10             Blend SrcAlpha OneMinusSrcAlpha
11             ColorMask RGB
12             BindChannels {
13                 Bind
"vertex", vertex
14                 Bind
"texcoord", texcoord
15             }
16         
17             CGPROGRAM
18             #pragma vertex vert
19             #pragma fragment frag
20     
21             #include
"UnityCG.cginc"
22     
23             
struct appdata_t {
24                 float4 vertex : POSITION;
25                 float2 texcoord : TEXCOORD;
26             };
27     
28             
struct v2f {
29                 float4 vertex : SV_POSITION;
30                 float2 texcoord : TEXCOORD;
31             };
32             
33             float4 _MainTex_ST;
34             
float _AccumOrig;
35             
36             v2f vert (appdata_t v)
37             {
38                 v2f o;
39                 o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
40                 o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
41                 
return o;
42             }
43     
44             sampler2D _MainTex;
45             
46             half4 frag (v2f i) : SV_Target
47             {
48                 
return half4(tex2D(_MainTex, i.texcoord).rgb, _AccumOrig );
49             }
50             ENDCG
51         }
52
53         Pass {
54             Blend One Zero
55             ColorMask A
56             
57             BindChannels {
58                 Bind
"vertex", vertex
59                 Bind
"texcoord", texcoord
60             }
61         
62             CGPROGRAM
63             #pragma vertex vert
64             #pragma fragment frag
65     
66             #include
"UnityCG.cginc"
67     
68             
struct appdata_t {
69                 float4 vertex : POSITION;
70                 float2 texcoord : TEXCOORD;
71             };
72     
73             
struct v2f {
74                 float4 vertex : SV_POSITION;
75                 float2 texcoord : TEXCOORD;
76             };
77             
78             float4 _MainTex_ST;
79             
80             v2f vert (appdata_t v)
81             {
82                 v2f o;
83                 o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
84                 o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
85                 
return o;
86             }
87     
88             sampler2D _MainTex;
89             
90             half4 frag (v2f i) : SV_Target
91             {
92                 
return tex2D(_MainTex, i.texcoord);
93             }
94             ENDCG
95         }
96         
97     }
98
99 SubShader {
100     ZTest Always Cull Off ZWrite Off
101     Pass {
102         Blend SrcAlpha OneMinusSrcAlpha
103         ColorMask RGB
104         SetTexture [_MainTex] {
105             ConstantColor (
0,0,0,[_AccumOrig])
106             Combine texture, constant
107         }
108     }
109     Pass {
110         Blend One Zero
111         ColorMask A
112         SetTexture [_MainTex] {
113             Combine texture
114         }
115     }
116 }
117
118 Fallback off
119
120 }


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