Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Why must the transpose value of glUniformMatrix4fv in webgl/OpenGL ES be false?

The OpenGL ES spec says that the transpose value must be false or an INVALID_VALUE is generated. Why then have the parameter?

share|improve this question
up vote 4 down vote accepted

The parameter exists because the OpenGL ES spec conforms to the OpenGL spec : OpenGL ES 2.0 is defined relative to the OpenGL 2.0 specification

In the OpenGL spec, this parameter exists hence it also exists in the OpenGL ES spec, even if it is unused.

share|improve this answer

Because OES is a subset of standard OpenGL, and the functions must have the same parameters in both implementations. In OpenGL the parameter transpose is used to specify if the matrix is in row-major or column-major order, but since OES only supports column-major, it must be always false.

share|improve this answer
Note that OpenGL ES is not a strict subset of desktop GL. While both have a function call glTexImage2D, the parameters they take (particularly the pixel format) are very different. Values that are legal in ES are illegal in desktop GL, and vice-versa. – Nicol Bolas Jul 20 '11 at 21:01

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.