我一直在尝试在使用Android NDK的模拟器上运行使用VAOs的C++代码。我期望能够使用glDeleteVertexArraysOES
,glGenVertexArraysOES
和glBindVertexArrayOES
。
我发现即使我使用OpenGL ES 2并使用此解决方案动态链接扩展,模拟器仍无法运行代码:Are Vertex Array Objects supported in Android OpenGL ES 2.0 using extensions?
我在运行API级别为19的Nexus 4模拟器上运行了glGetString(GL_EXTENSIONS)
并启用了GPU加速,结果如下:
GL_EXT_debug_marker
GL_OES_EGL_image
GL_OES_depth24
GL_OES_depth32
GL_OES_element_index_uint
GL_OES_texture_float
GL_OES_texture_float_linear
GL_OES_compressed_paletted_texture
GL_OES_compressed_ETC1_RGB8_texture
GL_OES_depth_texture
GL_OES_texture_half_float
GL_OES_texture_half_float_linear
GL_OES_packed_depth_stencil
GL_OES_vertex_half_float
我认为我需要查看GL_OES_vertex_array_object才能使用顶点数组对象。所以对于那个特定的模拟器来说似乎行不通。
您知道是否可以在任何现有的Android模拟器(第三方或其他)中使用OpenGL ES中的顶点数组对象吗?如果可以,如何操作?
glGetString
返回2.0,则确实获得了2.0。模拟器可能会请求它。也许您甚至可以在某些设置对话框中更改它。但我以前从未使用过Android模拟器,所以我不知道。我也不知道nvidia如何处理OES扩展。 - derhass<d:gl-extensions>
标签支持,但从我查看的情况来看,它目前是失效的。它可能在过去的某个时候起作用了,但根据我所知,在最新的NDK和Android Studio版本中,它已经不再起作用了。 - Engineer