GPencil: Changes in Fill and new 3D Cursor View Plane
[blender.git] / source / blender / gpu / shaders / gpu_shader_instance_objectspace_variying_color_vert.glsl
1
2 uniform mat4 ViewMatrix;
3 uniform mat4 ViewProjectionMatrix;
4
5 /* ---- Instantiated Attrs ---- */
6 in vec3 pos;
7 in vec3 nor;
8
9 /* ---- Per instance Attrs ---- */
10 in mat4 InstanceModelMatrix;
11 in vec4 color;
12
13 out vec3 normal;
14 flat out vec4 finalColor;
15
16 void main()
17 {
18         mat4 ModelViewProjectionMatrix = ViewProjectionMatrix * InstanceModelMatrix;
19         /* This is slow and run per vertex, but it's still faster than
20          * doing it per instance on CPU and sending it on via instance attr. */
21         mat3 NormalMatrix = transpose(inverse(mat3(ViewMatrix * InstanceModelMatrix)));
22
23         gl_Position = ModelViewProjectionMatrix * vec4(pos, 1.0);
24         normal = NormalMatrix * nor;
25
26         finalColor = color;
27 }