I asked this on StackOverflow, but as nobody seems to care, I’ll try here. At least there are some devs working with Android here.
As you may know, Android has three ways of drawing sprites:
- the basic way: using vertex arrays (slow)
- using vertex-buffer-objects (VBOs) (faster)
- using the draw_texture extension (fastest, but only for basic sprites, i.e. no transforming)
Vertex arrays are supported in OpenGL ES 1.0 and thus in every Android-device. I’m guessing most (if not all) of the current devices also support VBOs and draw_texture.
Instead of guessing, I’d like to know the extensions supported by different devices. If majority of devices support VBOs, I could simplify my code and focus only on VBOs + draw_texture.
It’d be helpful to know what different devices support, so if you have an Android-device, do report the extensions list please.
String extensions = gl.glGetString(GL10.GL_EXTENSIONS);
You can reply to the StackOverflow question as well, if you have an account there. It’s right here.
Here is the extensions list for [b]HTC Hero[/b] (Android 1.5) (all three techniques are supported):
- GL_ARB_texture_env_combine
- GL_ARB_texture_env_crossbar
- GL_ARB_texture_env_dot3
- GL_ARB_texture_mirrored_repeat
- GL_ARB_vertex_buffer_object
- GL_ATI_extended_texture_coordinate_data_formats
- GL_ATI_imageon_misc
- GL_ATI_texture_compression_atitc
- GL_EXT_blend_equation_separate
- GL_EXT_blend_func_separate
- GL_EXT_blend_minmax
- GL_EXT_blend_subtract
- GL_EXT_stencil_wrap
- GL_OES_byte_coordinates
- GL_OES_compressed_paletted_texture
- GL_OES_draw_texture
- GL_OES_fixed_point
- GL_OES_matrix_palette
- GL_OES_point_size_array
- GL_OES_point_sprite
- GL_OES_read_format
- GL_OES_single_precision
- GL_OES_vertex_buffer_object
- GL_QUALCOMM_vertex_buffer_object
- GL_QUALCOMM_direct_texture