[require] GLSL >= 1.20 [vertex shader] #version 120 void main() { gl_Position = gl_Vertex; } [fragment shader] #version 120 uniform mat4x3 m = mat4x3(0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0); uniform vec4 color; void main() { gl_FragColor = vec4(m * color, 0.0); } [test] uniform vec4 color 1.0 0.0 0.5 draw rect -1 -1 2 2 probe all rgba 0.0 1.0 0.5 0.0