我正在编写一些android代码,为我计划开发的图形密集型应用程序做准备。自2004年以来,我没有做过任何OpenGL。我偶然发现了http://www.opengl.org/wiki/Vertex_Array_Object和PC平台的多个来源,声称使用顶点数组对象是渲染的最佳方式。
我的目标平台是搭载Android2.3的摩托罗拉Atrix2智能手机。
我似乎找不到对应于GL_OES_vertex_array_object的函数的include。我想调用类似于glGenVertexArraysOES的函数。
如何在Android中使用VAOs?
我目前包括的内容是
import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.CharBuffer;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;
import javax.microedition.khronos.opengles.GL10;
import javax.microedition.khronos.opengles.GL11;发布于 2012-03-26 15:41:33
VAOs是相当新的,不包括在OpenGL|ES1.0或1.1中(不要与Buffer Objects混淆,因为它们有时被称为VBOs)。你必须导入和使用OpenGL|es2.0,这样你就必须对你的图形代码做一些修改,以通过着色器来绘制,而不是通过glVertexPointer和类似的方法。从外观上看,安卓没有内置GL20Ext类或类似的东西,我会在网络上寻找绑定,或者使用NDK自己编写它们。
发布于 2012-03-26 15:28:02
在某些设备上,没有实现VAO扩展。首先使用检查OpenGl ES版本
gl.glGetString(GL10.GL_VERSION);然后使用以下命令检查扩展是否可用
gl.glGetString(GL10.GL_EXTENSIONS);它应该包含: GL_OES_vertex_array_object
有关扩展的更多信息,请访问:OpenGL extensions available on different Android devices
欲了解更多有关安卓系统的信息,请访问:OES_vertex_array_object and client state
编辑:更改答案以正确回答问题。谢谢你的评论。
https://stackoverflow.com/questions/9868114
复制相似问题