blob: 10a52566f9d2a01d7007af30ca1af5355f0289b4 [file] [log] [blame]
Rex Xu73e3ce72016-04-27 18:48:17 +08001#version 420
John Kessenich39374da2015-05-15 21:32:46 +00002
John Kessenich04bb8a02015-12-12 12:28:14 -07003in mat3x4 m1;
4in mat3x4 m2;
5in float f;
6in vec3 v3;
7in vec4 v4;
John Kessenich39374da2015-05-15 21:32:46 +00008
John Kessenich04bb8a02015-12-12 12:28:14 -07009out vec4 color;
John Kessenich39374da2015-05-15 21:32:46 +000010
11void main()
12{
John Kessenich04bb8a02015-12-12 12:28:14 -070013 mat3x4 sum34;
Rex Xu73e3ce72016-04-27 18:48:17 +080014 dmat3x4 dm;
John Kessenich04bb8a02015-12-12 12:28:14 -070015 vec3 sum3;
16 vec4 sum4;
John Kessenich39374da2015-05-15 21:32:46 +000017
John Kessenich04bb8a02015-12-12 12:28:14 -070018 sum34 = m1 - m2;
19 sum34 += m1 * f;
20 sum34 += f * m1;
21 sum34 /= matrixCompMult(m1, m2);
22 sum34 += m1 / f;
23 sum34 += f / m1;
24 sum34 += f;
25 sum34 -= f;
Rex Xu73e3ce72016-04-27 18:48:17 +080026 dm = dmat3x4(sum34);
27 sum34 = mat3x4(dm);
John Kessenich39374da2015-05-15 21:32:46 +000028
John Kessenich04bb8a02015-12-12 12:28:14 -070029 sum3 = v4 * m2;
30 sum4 = m2 * v3;
John Kessenich39374da2015-05-15 21:32:46 +000031
John Kessenich04bb8a02015-12-12 12:28:14 -070032 mat4x3 m43 = transpose(sum34);
33 mat4 m4 = m1 * m43;
34
35 sum4 = v4 * m4;
36
37 color = sum4;
38
Rex Xu73e3ce72016-04-27 18:48:17 +080039 ++sum34;
40 --sum34;
John Kessenich04bb8a02015-12-12 12:28:14 -070041
42 sum34 += mat3x4(f);
43 sum34 += mat3x4(v3, f, v3, f, v3, f);
44
45 color += sum3 * m43 + sum4;
John Kessenich39374da2015-05-15 21:32:46 +000046}