function Painters(id)
% Allow to use GL functions without prefixing with Tao.Opengl.
import Tao.OpenGl.*
% Set background clear color to blue
Gl.glClearColor(0.2, 0.2, 0.2, 0.0);
% Clear the color and depth buffer
Gl.glClear(int32(bitor(uint32(Gl.GL_COLOR_BUFFER_BIT),uint32(Gl.GL_DEPTH_BUFFER_BIT))));
% Set depth testing enabled
Gl.glEnable(Gl.GL_DEPTH_TEST)
cornersx=[-1 1 -1 1 -1 1 -1 1];
cornersy=[-1 -1 1 1 -1 -1 1 1];
cornersz=[-1 -1 -1 -1 1 1 1 1];
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor4f(1.0, 0.0, 0.0, 1);
Gl.glVertex3f(cornersx(1), cornersy(1), cornersz(1));
Gl.glVertex3f(cornersx(2), cornersy(2), cornersz(2));
Gl.glVertex3f(cornersx(4), cornersy(4), cornersz(4));
Gl.glVertex3f(cornersx(3), cornersy(3), cornersz(3));
Gl.glEnd();
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor4f(0.0, 1.0, 0.0, 1);
Gl.glVertex3f(cornersx(7), cornersy(7), cornersz(7));
Gl.glVertex3f(cornersx(8), cornersy(8), cornersz(8));
Gl.glVertex3f(cornersx(6), cornersy(6), cornersz(6));
Gl.glVertex3f(cornersx(5), cornersy(5), cornersz(5));
Gl.glEnd();
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor4f(0.0, 0.0, 1.0,1);
Gl.glVertex3f(cornersx(1), cornersy(1), cornersz(1));
Gl.glVertex3f(cornersx(5), cornersy(5), cornersz(5));
Gl.glVertex3f(cornersx(6), cornersy(6), cornersz(6));
Gl.glVertex3f(cornersx(2), cornersy(2), cornersz(2));
Gl.glEnd();
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor4f(0.0, 0.0, 0.7, 1);
Gl.glVertex3f(cornersx(3), cornersy(3), cornersz(3));
Gl.glVertex3f(cornersx(4), cornersy(4), cornersz(4));
Gl.glVertex3f(cornersx(8), cornersy(8), cornersz(8));
Gl.glVertex3f(cornersx(7), cornersy(7), cornersz(7));
Gl.glEnd();
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor4f(1.0, 0.0, 1, 1);
Gl.glVertex3f(cornersx(4), cornersy(4), cornersz(4));
Gl.glVertex3f(cornersx(2), cornersy(2), cornersz(2));
Gl.glVertex3f(cornersx(6), cornersy(6), cornersz(6));
Gl.glVertex3f(cornersx(8), cornersy(8), cornersz(8));
Gl.glEnd();
Gl.glBegin(Gl.GL_QUADS);
Gl.glColor4f(1.0, 1.0, 0.0, 1);
Gl.glVertex3f(cornersx(3), cornersy(3), cornersz(3));
Gl.glVertex3f(cornersx(1), cornersy(1), cornersz(1));
Gl.glVertex3f(cornersx(5), cornersy(5), cornersz(5));
Gl.glVertex3f(cornersx(7), cornersy(7), cornersz(7));
Gl.glEnd();
% Flush the pipeline, update the graphics buffer
Gl.glFlush();
end