49 votes

Extensions OpenGL disponibles sur différents appareils Android

Je suis en train d'écrire un OpenGL ES alimenté cadre pour mon prochain jeu Android(s). Actuellement, je suis à l'appui de trois différentes techniques de dessin sprites:

  • la façon la plus simple: à l'aide de vertex arrays (lent)
  • à l'aide de vertex buffer objects (Organisations) (plus rapide)
  • à l'aide de la draw_texture extension (le plus rapide, mais seulement pour la base de sprites, c'est à dire sans transformation)

Vertex arrays sont pris en charge OpenGL ES 1.0 et donc dans tous les Android appareil. Je devine que la plupart (si pas tous) des dispositifs à courant également le soutien des Organisations sises à vienne et draw_texture.

Au lieu de deviner, je voudrais savoir les extensions prises en charge par différents appareils. Si la majorité des dispositifs de soutien des Organisations sises à vienne, j'ai pu simplifier mon code et de se concentrer uniquement sur les Organisations sises à vienne + draw_texture.

Il serait utile de connaître les différents dispositifs de soutien, donc si vous avez un Android appareil, faire rapport la liste des extensions s'il vous plaît. :)

String extensions = gl.glGetString(GL10.GL_EXTENSIONS);

J'ai un HTC Hero, donc je peux partager ces extensions suivant.

7voto

Lance Nanek Points 3393

OpenGL ES extensions sur le HTC G1 (Android 1.6):

  • 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

OpenGL ES version sur le HTC G1 (Android 1.6):

  • OpenGL ES 1.0 CM

Je suis, y compris la version récupérée par:
gl.glGetString(GL10.GL_VERSION)

C'est assez intéressant en ce qu'il ne veut pas suivre le cahier des charges. Le profil est censé être avant le numéro. Il est également nécessaire de déterminer les capacités. Par exemple, le Droïde n'a pas de rapport VBO soutien dans sa liste d'extensions. Il n'rapport OpenGL ES version 1.1, cependant. Cela signifie qu'il prend en charge les Organisations sises à vienne, parce que les Organisations ont été rendus obligatoires dans la version 1.1.

6voto

Lance Nanek Points 3393

Voici un HTC Evo 4G fonctionnant sous Android 2.1-update1 (Merci Google IO):

GL_VERSION:

  • OpenGL ES 1.1 CM

GL_EXTENSIONS:

  • GL_AMD_compressed_3DC_texture
  • GL_AMD_compressed_ATC_texture
  • GL_ARB_texture_env_combine
  • GL_ARB_texture_env_dot3
  • GL_ARB_texture_mirrored_repeat
  • GL_ARB_vertex_buffer_object
  • GL_ATI_compressed_texture_atitc
  • 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_EGL_image
  • GL_OES_blend_equation_separate
  • GL_OES_blend_func_separate
  • GL_OES_blend_subtract
  • GL_OES_compressed_ETC1_RGB8_texture
  • GL_OES_compressed_paletted_texture
  • GL_OES_draw_texture
  • GL_OES_extended_matrix_palette
  • GL_OES_framebuffer_object
  • GL_OES_matrix_palette
  • GL_OES_point_size_array
  • GL_OES_point_sprite
  • GL_OES_read_format
  • GL_OES_stencil_wrap
  • GL_OES_texture_cube_map
  • GL_OES_texture_env_crossbar
  • GL_OES_texture_mirrored_repeat

GL_RENDERER:

  • Adreno

GL_VENDOR:

  • Qualcomm

GL_ALIASED_POINT_SIZE_RANGE:

  • 1, 128

GL_SMOOTH_POINT_SIZE_RANGE:

  • 1, 128

J'ai pensé de la performance de dupliquer le Nexus one. Il a le même moteur de rendu/processeur après tout. L'écran TFT au lieu de l'OLED, mais la même résolution. Un de mes jeux qui prend 16-18ms par image sur le N1 33-34ms sur cela, cependant. Je n'ai pas regardé pourquoi encore. Le nombre ressemble étrangement comme il l'aurait fait si l'écran ne s'exécutaient à 30 hz au lieu de 60Hz. Je n'ai pas confirmé que encore, cependant.

5voto

Ben Gotow Points 7627

OpenGL ES extensions sur Nexus One (Android 2.1):

  • GL_AMD_compressed_3DC_texture
  • GL_AMD_compressed_ATC_texture
  • GL_ARB_texture_env_combine
  • GL_ARB_texture_env_dot3
  • GL_ARB_texture_mirrored_repeat
  • GL_ARB_vertex_buffer_object
  • GL_ATI_compressed_texture_atitc
  • 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_EGL_image
  • GL_OES_blend_equation_separate
  • GL_OES_blend_func_separate
  • GL_OES_blend_subtract
  • GL_OES_compressed_ETC1_RGB8_texture
  • GL_OES_compressed_paletted_texture
  • GL_OES_draw_texture
  • GL_OES_extended_matrix_palette
  • GL_OES_framebuffer_object
  • GL_OES_matrix_palette
  • GL_OES_point_size_array
  • GL_OES_point_sprite
  • GL_OES_read_format
  • GL_OES_stencil_wrap
  • GL_OES_texture_cube_map
  • GL_OES_texture_env_crossbar
  • GL_OES_texture_mirrored_repeat

5voto

David Thornley Points 425

OpenGL ES info pour HTC Desire (UA)

GL_EXTENSIONS:

  • GL_AMD_compressed_3DC_texture
  • GL_AMD_compressed_ATC_texture
  • GL_ARB_texture_env_combine
  • GL_ARB_texture_env_dot3
  • GL_ARB_texture_mirrored_repeat
  • GL_ARB_vertex_buffer_object
  • GL_ATI_compressed_texture_atitc
  • 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_EGL_image
  • GL_OES_blend_equation_separate
  • GL_OES_blend_func_separate
  • GL_OES_blend_subtract
  • GL_OES_compressed_ETC1_RGB8_texture
  • GL_OES_compressed_paletted_texture
  • GL_OES_draw_texture
  • GL_OES_extended_matrix_palette
  • GL_OES_framebuffer_object
  • GL_OES_matrix_palette
  • GL_OES_point_size_array
  • GL_OES_point_sprite
  • GL_OES_read_format
  • GL_OES_stencil_wrap
  • GL_OES_texture_cube_map
  • GL_OES_texture_env_crossbar
  • GL_OES_texture_mirrored_repeat

GL_VERSION:

  • OpenGL ES 1.1 CM

GL_RENDERER:

  • Adreno

GL_VENDOR:

  • Qualcomm

4voto

w126 Points 61

Voici les infos pour le Samsung GT-I5700 (Spica / Galaxy Spica) avec Android 1.5:

GL_VERSION:

  • 1.1 (version lib 11.02.72)

GL_RENDERER:

  • FIMG

GL_VENDOR:

  • Samsung Electronics

GL_EXTENSIONS:

  • GL_OES_matrix_palette
  • GL_OES_draw_texture
  • GL_OES_framebuffer_object
  • GL_OES_matrix_get
  • GL_ARB_texture_non_power_of_two

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X