프로젝트

일반

사용자정보

통계
| 개정판:

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

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

1 3 KTH
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
2
3
Shader "Kinect/BodyShader" {
4
//    Properties {
5
//        _MainTex ("Base (RGB)", 2D) = "black" {}
6
//    }
7
8
	SubShader {
9
		Pass {
10
			ZTest Always Cull Off ZWrite Off
11
			Fog { Mode off }
12
13
			CGPROGRAM
14
			#pragma target 5.0
15
			//#pragma enable_d3d11_debug_symbols
16
17
			#pragma vertex vert
18
			#pragma fragment frag
19
20
			#include "UnityCG.cginc"
21
22
			//uniform sampler2D _MainTex;
23
			uniform float _TexResX;
24
			uniform float _TexResY;
25
26
			StructuredBuffer<float> _BodyIndexBuffer;
27
28
			struct v2f {
29
				float4 pos : SV_POSITION;
30
			    float2 uv : TEXCOORD0;
31
			};
32
33
			v2f vert (appdata_base v)
34
			{
35
				v2f o;
36
37
				o.pos = UnityObjectToClipPos (v.vertex);
38
				o.uv = v.texcoord;
39
40
				return o;
41
			}
42
43
			float4 frag (v2f i) : COLOR
44
			{
45
				int dx = (int)(i.uv.x * _TexResX);
46
				int dy = (int)(i.uv.y * _TexResY);
47
				int di = (int)(dx + dy * _TexResX);
48
49
				float player = _BodyIndexBuffer[di];
50
				if (player != 255)
51
				{
52
					float clrPlayer = (240 + player) / 255;
53
					return float4(clrPlayer, clrPlayer, clrPlayer, clrPlayer);
54
				}
55
56
				return float4(0, 0, 0, 0);
57
			}
58
59
			ENDCG
60
		}
61
	}
62
63
	Fallback Off
64
}