18

我似乎无法在我的 Android NDK 项目中包含glu.h。

我正在尝试将现有的 C++ 代码移植到 NDK,它在一些地方(特别是gluErrorString)使用 glu。

OpenGLES没有glu吗?

有我可以使用的端口吗?

如果不是,我可能可以删除对诸如此类的调用gluPerspective,但我该怎么办gluErrorString

4

1 回答 1

15

OpenGL ES没有glu吗?

不,它没有。看看这个:Platform OpenGL Includes collection。在 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(它支持gluErrorStringgluPerspective许多其他功能):

用于 OpenGL ES 1.x(CM - 通用配置文件)及更高版本的 GLU 1.3 部分端口(仅限 libutil 和 libtess 组件)。

此端口支持:

  • Quadrics:gluNewQuadric()、gluDeleteQuadric()、gluQuadricCallback()、gluQuadricNormals()、gluQuadricTexture()、gluQuadricOrientation()、gluQuadricDrawStyle()、gluCylinder()、gluDisk()、gluPartialDisk()、gluSphere()。
  • 注册表:gluGetString()、gluCheckExtension()、 gluErrorString()
  • 投影矩阵操作:gluOrtho2D()、gluPerspective()、gluLookAt()、gluProject()、gluUnProject()、gluUnProject4()、gluPickMatrix()。2D Mipmap:gluScaleImage()、gluBuild2DMipmapLevels()、gluBuild2DMipmaps()。
  • 镶嵌:gluBeginPolygon()、gluDeleteTess()、gluEndPolygon()、gluGetTessProperty()、gluNewTess()、gluNextContour()、gluTessBeginContour()、gluTessBeginPolygon()、gluTessCallback()、gluTessEndContour()、gluTessEndPolygon()、gluTessNormal()、 gluTessProperty()、gluTessVertex()。
于 2011-10-07T13:24:39.557 回答