t1 / TFDContents / Assets / Resources / Erode.shader @ 10
이력 | 보기 | 이력해설 | 다운로드 (1.53 KB)
1 |
// 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 |
} |