OpenGL ES 2.0是否仍支持glPushMatrix和glPopMatrix?我目前正在以下列方式使用这些:
glPushMatrix();
glTranslatef(xLoc, yLoc, 0);
[myTexturePointer drawAtPoint:CGPointZero];
glPopMatrix();
我问,因为我已经阅读了一些关于2.0“从规范中删除矩阵堆栈”的内容。由于我对OpenGL相对较新,我不知道在哪里可以找到明确的答案。
答案 0 :(得分:17)
不,OpenGL ES 2.0使用可编程管道而不是早期版本中的固定功能管道。您不能使用立即模式命令(glVertex,glNormal等)或矩阵堆栈。您应该实现自己的矩阵堆栈数据结构(无论如何这是更可取的,因为固定函数矩阵堆栈具有依赖于实现的深度)并将当前矩阵发送到着色器程序。
有关现代OpenGL的详细介绍,请查看这些tutorials from Durian Software。它们基于OpenGL 2.0,但概念将直接映射到ES 2.0规范。