25 lines
		
	
	
		
			651 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			651 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
#version 120
 | 
						|
 | 
						|
attribute vec3 v3;
 | 
						|
 | 
						|
uniform mat3x2 m32;
 | 
						|
 | 
						|
const mat2x4 m24 = mat2x4(1.0, 2.0, 
 | 
						|
                          3.0, 4.0,
 | 
						|
                          3.0, 4.0,
 | 
						|
                          3.0, 4.0, 5.0);          // ERROR, too many arguments
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
    mat2x3 m23;
 | 
						|
    vec3 a, b;
 | 
						|
 | 
						|
    a = v3 * m23;      // ERROR, type mismatch
 | 
						|
    b = m32 * v3;      // ERROR, type mismatch
 | 
						|
    m23.xy;            // ERROR, can't use .
 | 
						|
 | 
						|
    gl_Position = vec4(m23 * m32 * v3, m24[2][4]);  // ERROR, 2 and 4 are out of range
 | 
						|
    m23 *= m23;        // ERROR, right side needs to be square
 | 
						|
    m23 *= m32;        // ERROR, left columns must match right rows
 | 
						|
}
 |