Merge branch 'blender2.7'
[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 }