Merge branch 'blender2.7' of git.blender.org:blender
[blender.git] / source / blender / draw / modes / shaders / edit_lattice_overlay_loosevert_vert.glsl
1
2 /* Draw Lattice Vertices */
3
4 uniform mat4 ModelViewProjectionMatrix;
5 uniform mat4 ModelMatrix;
6 uniform vec2 viewportSize;
7
8 in vec3 pos;
9 in int data;
10
11 /* these are the same for all vertices
12  * and does not need interpolation */
13 flat out int vertFlag;
14 flat out int clipCase;
15
16 /* See fragment shader */
17 noperspective out vec4 eData1;
18 flat out vec4 eData2;
19
20 /* project to screen space */
21 vec2 proj(vec4 pos)
22 {
23         return (0.5 * (pos.xy / pos.w) + 0.5) * viewportSize;
24 }
25
26 void main()
27 {
28         clipCase = 0;
29
30         vec4 pPos = ModelViewProjectionMatrix * vec4(pos, 1.0);
31
32         /* only vertex position 0 is used */
33         eData1 = eData2 = vec4(1e10);
34         eData2.zw = proj(pPos);
35
36         vertFlag = data;
37
38         gl_PointSize = sizeVertex;
39         gl_Position = pPos;
40
41 #ifdef USE_WORLD_CLIP_PLANES
42         world_clip_planes_calc_clip_distance((ModelMatrix * vec4(pos, 1.0)).xyz);
43 #endif
44
45 }