Подтвердить что ты не робот

Могу ли я использовать glu с Android NDK

Я не могу включить glu.h в свой проект Android NDK.

Я пытаюсь подключить существующий код С++ к NDK, и он использует glu в нескольких местах (особенно gluErrorString).

У OpenGLES нет glu?

Можно ли использовать порт?

Если нет, я могу удалить вызовы для таких вещей, как gluPerspective и т.д., но что мне делать с gluErrorString?

4b9b3361

Ответ 1

У OpenGL ES нет glu?

Нет, это не так. Посмотрите на это: Платформа OpenGL Включает коллекцию. Под Android есть только следующие заголовки:

OpenGL ES 1.1:

#include <GLES/gl.h>
#include <GLES/glext.h>

OpenGL ES 2.0:

#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>

Есть ли порт, который я могу использовать?

Да, есть частичный порт GLU для Android - GLU ES (он поддерживает gluErrorString, gluPerspective и множество других функций ):

GLU 1.3 partitial port (только компоненты libutil и libtess) для OpenGL ES 1.x(CM - общий профиль) и выше.

Этот порт поддерживает:

  • Квадрики: gluNewQuadric(), gluDeleteQuadric(), gluQuadricCallback(), gluQuadricNormals(), gluQuadricTexture(), gluQuadricOrientation(), gluQuadricDrawStyle(), gluCylinder(), gluDisk(), gluPartialDisk(), gluSphere().
  • Реестр: gluGetString(), gluCheckExtension(), gluErrorString().
  • Матрица проекционных матриц: gluOrtho2D(), gluPerspective(), gluLookAt(), gluProject(), gluUnProject(), gluUnProject4(), gluPickMatrix(). 2D Mipmaps: gluScaleImage(), gluBuild2DMipmapLevels(), gluBuild2DMipmaps().
  • Tesselation: gluBeginPolygon(), gluDeleteTess(), gluEndPolygon(), gluGetTessProperty(), gluNewTess(), gluNextContour(), gluTessBeginContour(), gluTessBeginPolygon(), gluTessCallback(), gluTessEndContour(), gluTessEndPolygon(), gluTessNormal(), gluTessProperty(), gluTessVertex().