OpenGL ES 2.0 и glPushMatrix, glPopMatrix - PullRequest
17 голосов
/ 27 мая 2010

OpenGL ES 2.0 все еще поддерживает glPushMatrix и glPopMatrix? В настоящее время я использую их следующим образом:

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

Я спрашиваю, потому что я прочитал несколько вещей о 2.0 "удаление стека матрицы из спецификации". Поскольку я относительно новичок в OpenGL, я не уверен, где найти окончательный ответ.

1 Ответ

17 голосов
/ 27 мая 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...