我似乎无法在我的Android NDK项目中包含glu.h。
我试图将现有的C++代码移植到NDK,它在几个地方使用了glu(尤其是gluErrorString
)。
OpenGLES中没有glu吗?
我能否使用某个移植版本?
如果不行,我可能需要删除类似gluPerspective
等函数的调用,但是gluErrorString
怎么处理?
我似乎无法在我的Android NDK项目中包含glu.h。
我试图将现有的C++代码移植到NDK,它在几个地方使用了glu(尤其是gluErrorString
)。
OpenGLES中没有glu吗?
我能否使用某个移植版本?
如果不行,我可能需要删除类似gluPerspective
等函数的调用,但是gluErrorString
怎么处理?
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>
有一个可以使用的端口吗?
是的,Android有一个GLU部分端口 - GLU ES(它支持gluErrorString
,gluPerspective
和许多其他函数):
GLU 1.3部分端口(仅包括libutil和libtess组件)用于OpenGL ES 1.x(CM-Common profile)及以上版本。
此端口支持:
- Quadrics:gluNewQuadric(),gluDeleteQuadric(),gluQuadricCallback(),gluQuadricNormals(),gluQuadricTexture(),gluQuadricOrientation(),gluQuadricDrawStyle(),gluCylinder(),gluDisk(),gluPartialDisk(),gluSphere()。
- Registry: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()。