Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenGL ES 2.0 and glPushMatrix, glPopMatrix

Tags:

opengl-es

Does OpenGL ES 2.0 still support glPushMatrix and glPopMatrix? I'm currently using these in the following way:

glPushMatrix();
glTranslatef(xLoc, yLoc, 0);
[myTexturePointer drawAtPoint:CGPointZero];
glPopMatrix();

I'm asking because I've read a few things about 2.0 "removing the matrix stack from the spec". Since I'm relatively new to OpenGL I'm not sure where to find a definitive answer.

like image 727
MrDatabase Avatar asked May 27 '10 03:05

MrDatabase


1 Answers

Nope, OpenGL ES 2.0 uses a programmable pipeline instead of the fixed function pipeline found in earlier versions. You can't use immediate mode commands (glVertex, glNormal, etc) or the matrix stack. You should implement your own matrix stack data structure instead (which is preferable anyway because the fixed function matrix stack had implementation dependent depth) and send the current matrix to shader programs.

For a good introduction to modern OpenGL check out these tutorials from Durian Software. They are based on OpenGL 2.0 but the concepts will map directly to the ES 2.0 spec.

like image 189
Firas Assaad Avatar answered Nov 01 '22 18:11

Firas Assaad