glRect supports
efficient specification of rectangles as two corner points. Each rectangle
command takes four arguments, organized either as two consecutive pairs
of (x,y) coordinates, or as two pointers to arrays, each containing an
(x,y) pair. The resulting rectangle is defined in the z = 0 plane.

glRect(x1,
y1, x2, y2) is exactly equivalent to the following sequence: glBegin(GL_POLYGON);
glVertex2(x1, y1); glVertex2(x2, y1); glVertex2(x2, y2); glVertex2(x1,
y2); glEnd(); Note that if the second vertex is above and to the right
of the first vertex, the rectangle is constructed with a counterclockwise
winding.