2010-05-27 107 views
17

OpenGL ES 2.0是否仍支持glPushMatrix和glPopMatrix?我目前正在以下列方式使用這些:OpenGL ES 2.0和glPushMatrix,glPopMatrix

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

我這麼問是因爲我讀過的幾件事約2.0「去除規範矩陣堆棧」。由於我對OpenGL相對較新,我不確定在哪裏可以找到明確的答案。

回答

17

不,OpenGL ES 2.0使用可編程管線而不是早期版本中的固定功能管線。你不能使用即時模式命令(glVertex,glNormal等)或矩陣堆棧。您應該實現自己的矩陣堆棧數據結構(無論如何,因爲固定功能矩陣堆棧具有實現相關深度,所以最好),並將當前矩陣發送給着色器程序。

現代OpenGL的一個很好的介紹看看這些tutorials from Durian Software。它們基於OpenGL 2.0,但概念將直接映射到ES 2.0規範。