I've been trying to run code that uses VAOs in C++ using the Android NDK, and running on an emulator. I expect to be able to use glDeleteVertexArraysOES
, glGenVertexArraysOES
, and glBindVertexArrayOES
.
I found that the emulator fails to run the code, even when I use OpenGL ES 2 and dynamically link the extensions using this solution: Are Vertex Array Objects supported in Android OpenGL ES 2.0 using extensions?
I ran glGetString(GL_EXTENSIONS)
on a Nexus 4 emulator running API Level 19, and GPU acceleration and got the following:
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
I assume I need to see GL_OES_vertex_array_object
in order to use vertex array objects. So it looks like it's a no-go for that particular emulator.
Do you know if it is possible to use vertex array objects in OpenGL ES on any existing Android emulator (third party or otherwise)? If so, how?
Officially, this is supposed to be supported by the <d:gl-extensions>
tag in devices.xml under the user directory, but from what I can tell from looking around, this functionality is currently inoperative. It may have worked at some time in the past, but if it did, it no longer does with latest NDK & Android Studio versions as of this date. (Hence my bounty, should there be any better answer.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With