[require] GLSL >= 1.10 [vertex shader] uniform vec4 arg0; uniform vec4 arg1; varying vec4 color; void main() { gl_Position = gl_Vertex; mat4 scale = mat4(arg0.x); mat4 rot = mat4(0.0, arg0.y, 0.0, 0.0, arg0.z, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0); color = (rot * scale) * arg1; } [fragment shader] varying vec4 color; void main() { gl_FragColor = color; } [test] uniform vec4 arg0 2.0 1.0 -1.0 0.0 uniform vec4 arg1 0.5 -0.25 0.25 0.25 draw rect -1 -1 2 2 probe rgba 1 1 0.5 1.0 0.5 0.5