Можно ли использовать Glu с Android NDK - PullRequest
18 голосов
/ 29 сентября 2011

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

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

У OpenGLES нет глюка?

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

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

1 Ответ

15 голосов
/ 07 октября 2011

У OpenGL ES нет глюка?

Нет, это не так. Посмотрите на это: Платформа 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, порционный порт (только компоненты 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 ().
...