2013-02-05 03:54:58 +04:00
|
|
|
#version 120
|
|
|
|
|
|
|
|
attribute vec3 v3;
|
|
|
|
|
|
|
|
uniform mat3x2 m32;
|
|
|
|
|
|
|
|
const mat2x4 m24 = mat2x4(1.0, 2.0,
|
|
|
|
3.0, 4.0,
|
|
|
|
3.0, 4.0,
|
2013-08-27 09:57:15 +04:00
|
|
|
3.0, 4.0, 5.0); // ERROR, too many arguments
|
2013-02-05 03:54:58 +04:00
|
|
|
|
|
|
|
void main()
|
|
|
|
{
|
|
|
|
mat2x3 m23;
|
|
|
|
vec3 a, b;
|
|
|
|
|
2013-08-27 09:57:15 +04:00
|
|
|
a = v3 * m23; // ERROR, type mismatch
|
|
|
|
b = m32 * v3; // ERROR, type mismatch
|
|
|
|
m23.xy; // ERROR, can't use .
|
2013-02-05 03:54:58 +04:00
|
|
|
|
2013-08-27 09:57:15 +04:00
|
|
|
gl_Position = vec4(m23 * m32 * v3, m24[2][4]); // ERROR, 2 and 4 are out of range
|
2018-02-15 22:22:25 +03:00
|
|
|
m23 *= m23; // ERROR, right side needs to be square
|
|
|
|
m23 *= m32; // ERROR, left columns must match right rows
|
2013-02-05 03:54:58 +04:00
|
|
|
}
|