运行时使用opengl-es的数组

时间:2011-07-28 07:34:51

标签: android arrays opengl-es porting

我正在使用this tutorial来解决一些问题,但是我需要移植代码,因为它在OpenGL而不是GL-ES中。我遇到的一个问题是设置数组因为android似乎不支持这种数组

例如:

GLint viewport[4];

纠正我,如果我错了,支持这种类型的数组或启发我如何设置数组

谢谢

3 个答案:

答案 0 :(得分:1)

请参阅此内容 - Android: 3D with OpenGL

没有GLint类型。对于该示例,请使用:

public abstract void glGetIntegerv (int pname, IntBuffer params)

public abstract void glGetIntegerv (int pname, int[] params, int offset)

所以,你只需要使用这样的东西:

int[] viewport = new int[4];
gl.glGetIntegerv(GL11.GL_VIEWPORT, viewport, 0);

答案 1 :(得分:0)

如果我没错,Android就像Java不支持以这种方式声明数组一样,这就像c / c ++那样(静态)声明。我猜你必须像这样声明数组:

GLint viewport[] = new GLint[4];

答案 2 :(得分:0)

Nehe教程很棒,但不适合Android。看看insanitydesign.com,他们移植了一堆Nehe教程,所以你没有必要!

另外,有几个专门针对Android编写的优秀OpenGL教程(如this one at jayway.com),为什么不使用其中一个让你的脚湿透?