Open GL ES на Android: как использовать gluUnProject?

Я пытаюсь преобразовать координаты окна в координаты объекта. В классе GLU есть gluUnProject, для которого требуется текущее представление модели, матрицы проекции и область просмотра.

У меня вопрос, как получить эти матрицы? Я пробовал gl.glGetIntegerv (GL11.GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES, модель, 0); и ((GL11) gl) .glGetFloatv (GL11.GL_MODELVIEW_MATRIX, modelf, 0); но первый возвращает массив нулей, а другой просто показывает ошибку «метод не реализован».

Подходит ли для этой цели метод gluUnProject (т.е. координаты окна -> координаты объекта)?

Ответов (2)

Решение

вы не можете получить матрицу, так как Android на данный момент предоставляет GLES 1.0, а не GLES 1.1, и поэтому не поддерживает все различные функции glGet * версии 1.1.

Вы можете найти MatrixGrabber в примерах, поставляемых с SDK. Вы можете использовать MatrixGrabber (который внутренне отслеживает матрицы), чтобы получить матрицы вида и проекции.