프로젝트

일반

사용자정보

통계
| 개정판:

t1 / TFDContents / Assets / Resources / Erode.shader @ 10

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

1 3 KTH
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
2
3
// Upgrade NOTE: replaced 'texRECT' with 'tex2D'
4
5
Shader "Custom/Erode" {
6
    Properties
7
	{
8
		_MainTex ("_MainTex", 2D) = "white" {}
9
	}
10
11
    SubShader {
12
        Pass {
13
			ZTest Always Cull Off ZWrite Off
14
			Fog { Mode off }
15
16
            CGPROGRAM
17
18
            #pragma vertex vert
19
            #pragma fragment frag
20
            #include "UnityCG.cginc"
21
22
			uniform sampler2D _MainTex;
23
			uniform float _TexResX;
24
			uniform float _TexResY;
25
26
            struct v2f {
27
                float4 pos : SV_POSITION;
28
                float2 uv : TEXCOORD0;
29
            };
30
31
			float4 _MainTex_ST;
32
33
            v2f vert (appdata_base v)
34
            {
35
                v2f o;
36
                o.pos = UnityObjectToClipPos (v.vertex);
37
                o.uv = TRANSFORM_TEX (v.texcoord, _MainTex);
38
                return o;
39
            }
40
41
            fixed4 frag (v2f i) : SV_Target
42
            {
43
				fixed4 texColor = tex2D(_MainTex, i.uv);
44
				float minValue = 1.0;
45
46
				for(int y = -1; y < 2; y++)
47
				{
48
					for(int x = -1; x < 2; x++)
49
				    {
50
					    float val = tex2D(_MainTex, float2(i.uv.x + (float)x/_TexResX, i.uv.y + (float)y/_TexResY)).w;
51
					    if(val > 0.0)
52
					 	    val = 1.0;
53
					    if(val < minValue)
54
				 		    minValue = val;
55
				    }
56
				}
57
58
				//return fixed4(texColor.r, texColor.b, texColor.b, minValue);
59
				return fixed4(1.0, 1.0, 1.0, minValue);
60
            }
61
            ENDCG
62
63
        }
64
    }
65
}