프로젝트

일반

사용자정보

통계
| 개정판:

t1 / TFDContents / Assets / Resources / BlurShader5.shader @ 9

이력 | 보기 | 이력해설 | 다운로드 (1.24 KB)

1 3 KTH
// 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
}