t1 / TFDContents / Assets / Resources / BlurShader5.shader @ 10
이력 | 보기 | 이력해설 | 다운로드 (1.24 KB)
1 |
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' |
---|---|
2 |
|
3 |
Shader "Custom/BlurShader5" { |
4 |
Properties { _MainTex ("", any) = "" {} } |
5 |
CGINCLUDE |
6 |
#include "UnityCG.cginc" |
7 |
struct v2f { |
8 |
float4 pos : SV_POSITION; |
9 |
half2 uv : TEXCOORD0; |
10 |
half2 taps[4] : TEXCOORD1; |
11 |
}; |
12 |
sampler2D _MainTex; |
13 |
half4 _MainTex_TexelSize; |
14 |
half4 _BlurOffsets; |
15 |
v2f vert( appdata_img v ) { |
16 |
v2f o; |
17 |
o.pos = UnityObjectToClipPos(v.vertex); |
18 |
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 |
19 |
o.taps[0] = o.uv + _MainTex_TexelSize * _BlurOffsets.xy; |
20 |
o.taps[1] = o.uv - _MainTex_TexelSize * _BlurOffsets.xy; |
21 |
o.taps[2] = o.uv + _MainTex_TexelSize * _BlurOffsets.xy * half2(1,-1); |
22 |
o.taps[3] = o.uv - _MainTex_TexelSize * _BlurOffsets.xy * half2(1,-1); |
23 |
return o; |
24 |
} |
25 |
half4 frag(v2f i) : SV_Target { |
26 |
half4 color = tex2D(_MainTex, i.taps[0]); |
27 |
color += tex2D(_MainTex, i.taps[1]); |
28 |
color += tex2D(_MainTex, i.taps[2]); |
29 |
color += tex2D(_MainTex, i.taps[3]); |
30 |
return color * 0.25; |
31 |
} |
32 |
ENDCG |
33 |
SubShader { |
34 |
Pass { |
35 |
ZTest Always Cull Off ZWrite Off |
36 |
|
37 |
CGPROGRAM |
38 |
#pragma vertex vert |
39 |
#pragma fragment frag |
40 |
ENDCG |
41 |
} |
42 |
} |
43 |
Fallback off |
44 |
} |