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
 | |
| }
 | 
