No, OpenGL is not right-handed. I did not say is left-handed either…
It depends of which coordinate system you are talking about and it depends on the values of the parameters you use:
#1 From the spec page 309 (pdf page 323), item 15: "OpenGL does not force left- or right-handedness on any of its coordinates systems. Consider, however, the following conditions:
o (1) the object coordinate system is right-handed;
o (2) the only commands used to manipulate the model-view matrix are Scale (with positive scaling values only), Rotate, and Translate;
o (3) exactly one of either Frustum or Ortho is used to set the projection matrix;
o (4) the near value is less than the far value for DepthRange.
If these conditions are all satisfied, then the eye coordinate system is right-handed and the clip, normalized device, and window coordinate systems are left-handed."
#2 From the OpenGL FAQ 9.150: "9.150 Can I make OpenGL use a left-handed coordinate space? OpenGL doesn’t have a mode switch to change from right- to left-handed coordinates. However, you can easily obtain a left-handed coordinate system by multiplying a negative Z scale onto the ModelView matrix. For example:
glMatrixMode (GL_MODELVIEW); glLoadIdentity (); glScalef (1., 1., -1.); /* multiply view transforms as usual… / / multiply model transforms as usual… */
#3 From the spec page 45 (pdf page 59), about the Rotate function: "The computed matrix is a counter-clockwise rotation about the line through the origin with the specified axis when that axis is pointing up (i.e. the right-hand rule determines the sense of the rotation angle).