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