1617a3babSopenharmony_ci#version 420 2617a3babSopenharmony_ci 3617a3babSopenharmony_ciin mat3x4 m1; 4617a3babSopenharmony_ciin mat3x4 m2; 5617a3babSopenharmony_ciin float f; 6617a3babSopenharmony_ciin vec3 v3; 7617a3babSopenharmony_ciin vec4 v4; 8617a3babSopenharmony_ci 9617a3babSopenharmony_ciout vec4 color; 10617a3babSopenharmony_ci 11617a3babSopenharmony_civoid main() 12617a3babSopenharmony_ci{ 13617a3babSopenharmony_ci mat3x4 sum34; 14617a3babSopenharmony_ci dmat3x4 dm; 15617a3babSopenharmony_ci vec3 sum3; 16617a3babSopenharmony_ci vec4 sum4; 17617a3babSopenharmony_ci 18617a3babSopenharmony_ci sum34 = m1 - m2; 19617a3babSopenharmony_ci sum34 += m1 * f; 20617a3babSopenharmony_ci sum34 += f * m1; 21617a3babSopenharmony_ci sum34 /= matrixCompMult(m1, m2); 22617a3babSopenharmony_ci sum34 += m1 / f; 23617a3babSopenharmony_ci sum34 += f / m1; 24617a3babSopenharmony_ci sum34 += f; 25617a3babSopenharmony_ci sum34 -= f; 26617a3babSopenharmony_ci dm = dmat3x4(sum34); 27617a3babSopenharmony_ci sum34 = mat3x4(dm); 28617a3babSopenharmony_ci 29617a3babSopenharmony_ci sum3 = v4 * m2; 30617a3babSopenharmony_ci sum4 = m2 * v3; 31617a3babSopenharmony_ci 32617a3babSopenharmony_ci mat4x3 m43 = transpose(sum34); 33617a3babSopenharmony_ci mat4 m4 = m1 * m43; 34617a3babSopenharmony_ci 35617a3babSopenharmony_ci sum4 = v4 * m4; 36617a3babSopenharmony_ci 37617a3babSopenharmony_ci color = sum4; 38617a3babSopenharmony_ci 39617a3babSopenharmony_ci ++sum34; 40617a3babSopenharmony_ci --sum34; 41617a3babSopenharmony_ci 42617a3babSopenharmony_ci sum34 += mat3x4(f); 43617a3babSopenharmony_ci sum34 += mat3x4(v3, f, v3, f, v3, f); 44617a3babSopenharmony_ci 45617a3babSopenharmony_ci color += sum3 * m43 + sum4; 46617a3babSopenharmony_ci 47617a3babSopenharmony_ci color += vec4(m43); 48617a3babSopenharmony_ci color += vec4(vec3(mat2(f)), 7.2); 49617a3babSopenharmony_ci} 50