Can I use glu with Android NDK

18

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

我试图将现有的C++代码移植到NDK,它在几个地方使用了glu(尤其是gluErrorString)。

OpenGLES中没有glu吗?

我能否使用某个移植版本?

如果不行,我可能需要删除类似gluPerspective等函数的调用,但是gluErrorString怎么处理?


我的回答对你有帮助吗?还是你想等待另一个解决方案? - Idolon
抱歉,Idolon,我刚才有点粗鲁,但我一直很忙。幸运的是,它仍然让我授予声望,并且我已经这样做了。 - DaedalusFall
没问题,我们都有现实生活的事情要处理。这就是为什么最近在悬赏系统中增加了24小时宽限期的原因。感谢您的声望。 - Idolon
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>

有一个可以使用的端口吗?

是的,Android有一个GLU部分端口 - GLU ES(它支持gluErrorStringgluPerspective和许多其他函数):

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()。

5
谢谢,看起来这是一个不错的开端。然而,它不能直接用于Android构建,但我应该能够提取所需的内容。令我有点烦恼的是,似乎有适用于Android Java的glu,但没有适用于Android NDK的。 - DaedalusFall
你能帮我“提取我需要的”吗?具体来说,我只想能够绘制二次曲面 - 请参阅我的新SO问题:https://dev59.com/moXca4cB1Zd3GeqPOdgN - Tony Wickham

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接