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
задан MrDatabase 27 May 2010 в 03:08
поделиться

1 ответ

Нет, OpenGL ES 2.0 использует программируемый конвейер вместо фиксированного конвейера функций, который использовался в более ранних версиях. Вы не можете использовать команды немедленного режима (glVertex, glNormal и т. Д.) Или стек матриц. Вместо этого вы должны реализовать собственную структуру данных стека матриц (что в любом случае предпочтительнее, потому что у фиксированного стека матрицы функций глубина зависит от реализации) и отправить текущую матрицу в программы шейдеров.

Для хорошего знакомства с современным OpenGL ознакомьтесь с этими руководствами от Durian Software . Они основаны на OpenGL 2.0, но концепции будут напрямую соответствовать спецификации ES 2.0.

17
ответ дан 30 November 2019 в 14:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: