47 lines
714 B
GLSL
47 lines
714 B
GLSL
#version 420
|
|
|
|
in mat3x4 m1;
|
|
in mat3x4 m2;
|
|
in float f;
|
|
in vec3 v3;
|
|
in vec4 v4;
|
|
|
|
out vec4 color;
|
|
|
|
void main()
|
|
{
|
|
mat3x4 sum34;
|
|
dmat3x4 dm;
|
|
vec3 sum3;
|
|
vec4 sum4;
|
|
|
|
sum34 = m1 - m2;
|
|
sum34 += m1 * f;
|
|
sum34 += f * m1;
|
|
sum34 /= matrixCompMult(m1, m2);
|
|
sum34 += m1 / f;
|
|
sum34 += f / m1;
|
|
sum34 += f;
|
|
sum34 -= f;
|
|
dm = dmat3x4(sum34);
|
|
sum34 = mat3x4(dm);
|
|
|
|
sum3 = v4 * m2;
|
|
sum4 = m2 * v3;
|
|
|
|
mat4x3 m43 = transpose(sum34);
|
|
mat4 m4 = m1 * m43;
|
|
|
|
sum4 = v4 * m4;
|
|
|
|
color = sum4;
|
|
|
|
++sum34;
|
|
--sum34;
|
|
|
|
sum34 += mat3x4(f);
|
|
sum34 += mat3x4(v3, f, v3, f, v3, f);
|
|
|
|
color += sum3 * m43 + sum4;
|
|
}
|