Android的OpenGL ES API并不完整,有些函数虽然提供了,但是调用的话会提示此函数未完成,不能正常工作。迄今碰到的有以下几个,分别给出替代:
1、glGetFloat,用于获取当前矩阵。在API Sample里有一个MatrixStack.java类,提供了一些方法,你可以从glLoadIdentity开始同步地分别调用GL10和MatrixStack的对应方法,用一个MatrixStack对象来跟踪OpenGL的矩阵变化。MatrixStack类提供了glRotatef和glTranslatef等常用GL10方法,但是对于gluPerspective和gluLookAt这样的方法就需要你自己去构造矩阵,然后使用MatrixStack.glMultMatrixf乘上这个矩阵,以跟踪OpenGL的矩阵变化。下面给出这两个函数的矩阵形式:
2、gluUnProject: