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