OpenGL ES 2.0 все еще поддерживает glPushMatrix и glPopMatrix? Я в настоящее время использую их следующим образом:
glPushMatrix();
glTranslatef(xLoc, yLoc, 0);
[myTexturePointer drawAtPoint:CGPointZero];
glPopMatrix();
Я спрашиваю, потому что я считал несколько вещей приблизительно 2,0 "удаления матричного стека от спецификации". Так как я относительно плохо знаком с OpenGL, я не уверен, где найти категорический ответ.
Нет, OpenGL ES 2.0 использует программируемый конвейер вместо фиксированного конвейера функций, который использовался в более ранних версиях. Вы не можете использовать команды немедленного режима (glVertex, glNormal и т. Д.) Или стек матриц. Вместо этого вы должны реализовать собственную структуру данных стека матриц (что в любом случае предпочтительнее, потому что у фиксированного стека матрицы функций глубина зависит от реализации) и отправить текущую матрицу в программы шейдеров.
Для хорошего знакомства с современным OpenGL ознакомьтесь с этими руководствами от Durian Software . Они основаны на OpenGL 2.0, но концепции будут напрямую соответствовать спецификации ES 2.0.