#version 140 in vec3 v3; in vec4 v4; out mat3x2 m32; const vec2 cv2 = vec2(10.0, 20.0); const mat2x4 m24 = mat2x4(3.0); const mat4x2 m42 = mat4x2(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0); void main() { mat2x3 m23; vec2 a, b; a = v3 * m23; b = m32 * v3; gl_Position = vec4(m23 * m32 * v3, m24[1][3]) + (m24 * m42) * v4 + cv2 * m42 + m24 * cv2 + vec4(cv2[1], cv2.x, m42[2][1], m42[2][0]); }