Android中的Big IndexBuffer

时间:2012-06-19 20:56:22

标签: android opengl-es

我想绘制一个带有大网格的网格(想想〜120k顶点)。 如果我尝试将所有顶点放在一个索引缓冲区中它将无法工作,因为我使用java.nio.ShortBuffer作为索引缓冲区,所以最大值是2 ^ 15 - 1,而我需要~2 ^ 17个顶点。我应该将网格拆分成多个部分吗?我可以使用Buffer的其他子类作为GL10.glDrawElements的第四个参数吗?

1 个答案:

答案 0 :(得分:1)

大量编辑以下miniBill评论!

事实上,OpenGL-ES仅支持GL_UNSIGNED_BYTEGL_UNSIGNED_SHORT索引。 最常用的是GL_UNSIGNED_SHORT,它允许2 ^ 16-1个顶点。其他类型仅由OpenGL支持。

<击> 您也可以使用GL_INTGL_UNSIGNED_INT作为索引,我想,​​您可以将其存储在java.nio.IntBuffer中。

您似乎需要拆分几何体。