Hi @svan,
in principle you don’t need the whole GL background and code, as processing gives you a PShader which handle this for you …
PShader shader;
String vshaderSource[] = {
"#version 410",
"uniform mat4 transform;",
"in vec4 vertex;",
"void main(void) {",
" gl_Position = transform * vertex;",
"}"
};
String fshaderSource[] = {
"#version 410",
"uniform float mytime;",
"void main(void) {",
" float t = sin(mytime)*0.5+0.5;",
" gl_FragColor = vec4(1.0-t,t,0.0,1.0);",
"}",
};
void setup() {
size(640, 480, P2D);
rectMode(CENTER);
shader = new PShader(g.parent, vshaderSource, fshaderSource);
}
void draw() {
background(0);
translate(width/2,height/2);
shader.set("mytime",millis()/250.0);
shader(shader);
fill(255);
rect(0,0,100,100);
}

Cheers
— mnse