Cleanup: replace attrib w/ attr
[blender.git] / source / blender / draw / modes / shaders / armature_dof_vert.glsl
1
2 uniform mat4 ViewProjectionMatrix;
3
4 /* ---- Instantiated Attrs ---- */
5 in vec2 pos;
6
7 /* ---- Per instance Attrs ---- */
8 /* Assumed to be in world coordinate already. */
9 in mat4 InstanceModelMatrix;
10 in vec4 color;
11 in vec2 amin;
12 in vec2 amax;
13
14 flat out vec4 finalColor;
15
16 vec3 sphere_project(float ax, float az)
17 {
18         float sine = 1.0 - ax * ax - az * az;
19         float q3 = sqrt(max(0.0, sine));
20
21         return vec3(-az * q3, 0.5 - sine, ax * q3) * 2.0;
22 }
23
24 void main()
25 {
26         vec3 final_pos = sphere_project(pos.x * abs((pos.x > 0.0) ? amax.x : amin.x),
27                                         pos.y * abs((pos.y > 0.0) ? amax.y : amin.y));
28         gl_Position = ViewProjectionMatrix * (InstanceModelMatrix * vec4(final_pos, 1.0));
29         finalColor = color;
30 }