OPENGL es版本和OGL 及android关系

OpenGL ES 1.0 and 1.1 - This API specification is supported by Android 1.0 and higher. 固定管线。
OpenGL ES 2.0 - This API specification is supported by Android 2.2 (API level 8) and higher. 
2.0 1.10

对应GLSL 1.10全面支持Shader编程。

OpenGL 2.0 (2004)

Addition Promoted from
Shader objects ARB_shader_objects, heavily modified
Shader programs ARB_vertex_shader, ARB_fragment_shader, heavily modified
Shading language 1.10 ARB_shading_language_100, heavily modified
Multiple render targets ARB_draw_buffers
Non-power-of-two textures ARB_texture_non_power_of_two
Point sprites ARB_point_sprite
Separate stencil ATI_separate_stencil, EXT_stencil_two_side


OpenGL ES 3.0 - This API specification is supported by Android 4.3 (API level 18) and higher.借鉴了OGL 3.2 3.3 OGL4.0-4.3有Shader Mode 4.0-5.0功能。

The OpenGL ES 3.0 specification[10] was publicly released in August 2012.[11] OpenGL ES 3.0 is backwards compatible with OpenGL ES 2.0, enabling applications to incrementally add new visual features to applications. OpenGL 4.3 provides full compatibility with OpenGL ES 3.0.

New functionality in the OpenGL ES 3.0 specification includes:

  • multiple enhancements to the rendering pipeline to enable acceleration of advanced visual effects including: occlusion queries, transform feedback, instanced rendering and support for four or more rendering targets,
  • high quality ETC2 / EAC texture compression as a standard feature, eliminating the need for a different set of textures for each platform,
  • a new version of the GLSL ES shading language[12] with full support for integer and 32-bit floating point operations;
  • greatly enhanced texturing functionality including guaranteed support for floating point textures, 3D textures, depth textures, vertex textures, NPOT textures, R/RG textures, immutable textures, 2D array textures, swizzles, LOD and mip level clamps, seamless cube maps and sampler objects,
  • an extensive set of required, explicitly sized texture and render-buffer formats, reducing implementation variability and making it much easier to write portable applications.


OpenGL ES 3.1 - This API specification is supported by Android 5.0 (API level 21) and higher.对应OGL 4.4 Shader Mode 5.0功能

Caution: Support of the OpenGL ES 3.0 API on a device requires an implementation of this graphics pipeline provided by the device manufacturer. A device running Android 4.3 or higher may not support the OpenGL ES 3.0 API. For information on checking what version of OpenGL ES is supported at run time, see Checking OpenGL ES Version.

The OpenGL ES 3.1 specification[13] was publicly released in March 2014. New functionality in OpenGL ES 3.1 includes:[14]

  • Compute shaders
  • Independent vertex and fragment shaders
  • Indirect draw commands

OpenGL ES 3.1 is backward compatible with OpenGL ES 2.0 and 3.0, thus enabling applications to incrementally incorporate new features.


OpenGL ES 3.2[edit]应该对应OGL 4.5 Shader Mode 5.0功能

OpenGL ES 3.2 works on the same hardware as OpenGL 3.1. It incorporates Android Extension Pack (AEP) into it: "OpenGL ES 3.2 boasts a small number of improvements over last year’s OpenGL ES 3.1. Both make use of similar features from the AEP. From the AEP, OpenGL ES 3.2 compliant hardware will support Tessellation for additional geometry detail, new geometry shaders, ASTC texture compression for a smaller memory bandwidth footprint, floating point render targets for high accuracy compute processes, and new debugging features for developers. These high-end features are already found in the group’s full OpenGL 4 specification."[36][3]

Supported by:

  • Nvidia GeForce 400 series (Fermi) and newer (Windows, Linux)[37]

OpenGL SC 2.0 (planned 2016) and Vulkan/SPIR will converge in a "New Generation API for safety certifiable graphics AND compute".[3]


The OpenGL ES 3.2 specification[15] was publicly released in August 2015. New capabilities in OpenGL ES 3.2 include:

  • Geometry and tessellation shaders to efficiently process complex scenes on the GPU.
  • Floating point render targets for increased flexibility in higher precision compute operations.
  • ASTC compression to reduce the memory footprint and bandwidth used to process textures.
  • Enhanced blending for sophisticated compositing and handling of multiple color attachments.
  • Advanced texture targets such as texture buffers, multisample 2D array and cube map arrays.
  • Debug and robustness features for easier code development and secure execution.


更多见:https://en.wikipedia.org/wiki/OpenGL_ES

你可能感兴趣的:(OpenGL图形学)