Fix clipping shaders with some AMD/Intel drivers
[blender.git] / source / blender / draw / modes / shaders / edit_normals_vert.glsl
1
2 uniform mat4 ModelViewProjectionMatrix;
3 uniform mat3 NormalMatrix;
4 uniform mat4 ProjectionMatrix;
5 uniform mat4 ModelMatrix;
6 uniform float normalSize;
7
8 in vec3 pos;
9
10 #ifdef LOOP_NORMALS
11 in vec3 lnor;
12 #define nor lnor
13
14 #elif defined(FACE_NORMALS)
15 in vec4 norAndFlag;
16 #define nor norAndFlag.xyz
17 #else
18
19 in vec3 vnor;
20 #define nor vnor
21 #endif
22
23 flat out vec4 v1;
24 flat out vec4 v2;
25
26 void main()
27 {
28         v1 = ModelViewProjectionMatrix * vec4(pos, 1.0);
29         vec3 n = normalize(NormalMatrix * nor); /* viewspace */
30         v2 = v1 + ProjectionMatrix * vec4(n * normalSize, 0.0);
31 #ifdef USE_WORLD_CLIP_PLANES
32         world_clip_planes_calc_clip_distance((ModelMatrix * vec4(pos, 1.0)).xyz);
33 #endif
34 }