GPencil: Changes in Fill and new 3D Cursor View Plane
[blender.git] / source / blender / gpu / shaders / gpu_shader_gpencil_stroke_vert.glsl
1 uniform mat4 ModelViewProjectionMatrix;
2 uniform mat4 ProjectionMatrix;
3
4 uniform float pixsize;   /* rv3d->pixsize */
5 uniform int keep_size;
6 uniform float objscale;
7 uniform float pixfactor;
8
9 in vec3 pos;
10 in vec4 color;
11 in float thickness;
12
13 out vec4 finalColor;
14 out float finalThickness;
15
16 #define TRUE 1
17
18 float defaultpixsize = pixsize * (1000.0 / pixfactor);
19
20 void main(void)
21 {
22         gl_Position = ModelViewProjectionMatrix * vec4( pos, 1.0 );
23         finalColor = color;
24
25         if (keep_size == TRUE) {
26                 finalThickness = thickness;
27         }
28         else {
29                 float size = (ProjectionMatrix[3][3] == 0.0) ? (thickness / (gl_Position.z * defaultpixsize)) : (thickness / defaultpixsize);
30                 finalThickness = max(size * objscale, 1.0);
31         }
32 }