summaryrefslogtreecommitdiff
path: root/data/simple.vert
blob: db532be986f428cf7b6a50bfe9d898e610655914 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#version 120

/* Array of bone (model) matrices.
 */
uniform mat4 m[6];

/* View-projection matrix.
 */
uniform mat4 vp;

attribute vec4 position;
attribute vec4 vert_color;

/* Each bone is influenced by two bones.  The .x and .y fields specify
 * the bones that influence this vertex.  The .z field specifies the
 * weight of the first bone.
 */
attribute vec4 weight;

varying vec4 color;

void main(void)
{
	vec4 px_ws = m[int(weight.x)] * position;
	vec4 py_ws = m[int(weight.y)] * position;

	vec4 p_ws = mix(py_ws, px_ws, weight.z);


	/* Transform the final world-space position to camera-space and
	 * project.
	 */
	gl_Position = vp * p_ws;

	color = abs(vert_color);
}