0

Which opengles calls modify the current matrix? I can think of the following:

glLoadIdentity()
glPushMatrix()
glPopMatrix()
glMultMatrixf()
glLoadMatrixf()
Anton Banchev
  • 541
  • 8
  • 28
  • None of them do, because none of them exist. See http://stackoverflow.com/questions/2918232/opengl-es-2-0-and-glpushmatrix-glpopmatrix – Colonel Thirty Two Jun 03 '14 at 15:14
  • @ColonelThirtyTwo: The poster didn't specify ES 2.0. Some of them exist in ES 1.0, and a few more in full OpenGL. – Reto Koradi Jun 03 '14 at 15:19
  • @RetoKoradi Oh, whoops. I thought no ES version had them at all. – Colonel Thirty Two Jun 03 '14 at 15:59
  • @ColonelThirtyTwo: ES 1.0 was a reduced version of fixed function OpenGL. Very limited. They decided to make a clean cut with ES 2.0. If you look at the spec files, ES 2.0 is listed as a new API, not as an updated version of ES 1.0, because it's not backwards compatible at all. – Reto Koradi Jun 03 '14 at 16:05

1 Answers1

3

Not counting the d variations of the same calls, add at least:

glLoadTransposeMatrixf()
glMultTransposeMatrixf()
glRotatef()
glScalef()
glTranslatef()

There are a couple more calls that are intended for modifying the projection matrix, but will modify the view matrix if you miss to call glMatrixMode(GL_PROJECTION):

glFrustum()
glOrtho()

Those are from OpenGL 2.1. Since your question has the "opengl" tag, I figure all versions count.

On top of that, people often use GLU with legacy OpenGL applications. GLU has a number of functions that modify matrices. They will use the underlying OpenGL calls listed above.

Reto Koradi
  • 53,228
  • 8
  • 93
  • 133
  • Thanks I was missing the rotate/scale/translate methods. – Anton Banchev Jun 03 '14 at 15:20
  • 2
    Do not forget `glOrtho (...)` and `glFrustum (...)`. While the title speaks of the "view" matrix, the actual question talks about modifying the current matrix. Though you generally would not setup your projection matrix as part of your view matrix, nothing prevents you from doing so... those two functions operate on the *current* matrix (which is usually `GL_PROJECTION` for obvious reasons). – Andon M. Coleman Jun 03 '14 at 15:32